Skip to content

Version 1.9.0

Compare
Choose a tag to compare
@jpivarski jpivarski released this 02 Sep 19:29
· 1035 commits to main since this release
9eaa161

These are differences from 1.8.0 to 1.9.0. Most only affect Awkward Array version 2, in the awkward._v2 submodule of 1.9.0. The exceptions are called out with "v1" in the subject line.

Features

  • feat: C++ refactoring: ak.to_pandas by @ioanaif in #1369
  • feat: C++ refactoring: ak.nan_to_num by @ioanaif in #1352
  • feat: C++ refactoring: ak.run_lengths by @ioanaif in #1347
  • feat: add is_tuple describe operation by @agoose77 in #1351
  • feat: C++ refactoring: ak.unzip by @ioanaif in #1354
  • feat: pure Cling demo and improvements to C++ JIT infrastructure by @jpivarski in #1359
  • feat: C++ refactoring: ak.broadcast_arrays by @ioanaif in #1368
  • feat: irst version of ak._v2.from_parquet by @jpivarski in #1338
  • feat: C++ refactoring: ak.copy by @ioanaif in #1367
  • feat: C++ refactoring: ak.unflatten by @ioanaif in #1360
  • feat: add depth_limit to ak.broadcast_arrays by @agoose77 in #1373
  • feat: Allow NumPy arrays in CppStatements; fix row_groups in single-file from_parquet. by @jpivarski in #1376
  • feat: This PR sets up the architecture to call CuPy Raw Kernels from Awkward. by @swishdiff in #1355
  • feat: Reducers with axis=None and typetracers. by @jpivarski in #1380
  • feat: This PR adds the generated kernels and simplifies the template specialization generation process. by @swishdiff in #1381
  • feat: High-level ak._v2.Array clean-ups. by @jpivarski in #1392
  • feat: This PR adds all the remaining kernels in the studies directory by @swishdiff in #1390
  • feat: This PR adds JAX as a new nplike by @swishdiff in #1399
  • feat: Passing behaviour in ak._v2 functions by @ioanaif in #1415
  • feat: Enable broadcasting of string equality. by @jpivarski in #1427
  • feat: Enabled string/categorical behavior by @ioanaif in #1421
  • feat: Implements ak.nan_to_none and all of the ak.nan* functions to override NumPy's. by @jpivarski in #1428
  • feat: Pretty-printing types by @jpivarski in #1430
  • feat: Register both v1 and v2 Arrays in Numba entry_points. by @jpivarski in #1432
  • feat: Add Array and Record.delitem. And fix show(type=True). by @jpivarski in #1433
  • feat: Enable categorical behavior - testing by @ioanaif in #1434
  • feat: Enable mixins behavior by @ioanaif in #1437
  • feat: Implementing ak._v2.to_parquet. by @jpivarski in #1440
  • feat: awkward to rdataframe by @ianna in #1374
  • feat: Enable ak.firsts by @ioanaif in #1443
  • feat: Enable ak.singletons by @ioanaif in #1444
  • feat: Revamping the to_json/from_json interface. by @jpivarski in #1449
  • feat: This PR attempts to add autodifferentiation support for Awkward Arrays using JAX pytrees. by @swishdiff in #1447
  • feat: Adding a Forth Based Avro Reader by @aryan26roy in #1491
  • feat: Adding repr overriden behavior by @ioanaif in #1487
  • feat: rdataframe to awkward by @ianna in #1474
  • feat: add missing _like methods to TypeTracer by @agoose77 in #1505
  • feat: from rdataframe for awkward arrays by @ianna in #1508
  • feat: Add typeparser to v2. by @jpivarski in #1513
  • feat: add C++ headers-only distribution configuration by @ianna in #1523
  • feat: Growable Buffer header by @ManasviGoyal in #1535
  • feat: parquet redux by @martindurant in #1476
  • feat: Templated LayoutBuilder by @ManasviGoyal in #1494
  • feat: raise AttributeError for public Array attributes by @agoose77 in #1573
  • feat: Public interface for layout.recursively_apply and broadcast_and_apply. by @jpivarski in #1610
  • feat: prevent reducers like ak.sum on records (v2) by @ioanaif in #1607
  • feat: Drop ak.behavior['.', 'Name'] = cls, which isn't working/isn't tested. by @jpivarski in #1651
  • feat: retrieve multiple columns from RDataFrame in a single event loop by @ianna in #1625

Bug-fixes

  • fix: Fixed ak.num with axis=0 in typetracer. by @jpivarski in #1329
  • fix: ak.flatten and ak.ravel should test for nplike.ndarray, not np.ndarray. by @jpivarski in #1340
  • fix: Straighten out error handling via a thread-local (but otherwise global) context by @jpivarski in #1327
  • fix: Fix PR #788: avoid materializing VirtualArrays in ak.with_name. by @jpivarski in #1346
  • fix: fix docstring line in is_tuple (v1) by @agoose77 in #1356
  • fix: fixes #1363 by ensuring that arguments documented as 'iterable of X' aren't used in 'len(X)'. by @jpivarski in #1364
  • fix: Allow NumPy arrays in CppStatements; fix row_groups in single-file from_parquet. by @jpivarski in #1372
  • fix: Fixes nonlocal reducers in which the first list is empty. by @jpivarski in #1378
  • fix: Fix _prettyprint after 'for i in range' changed to 'for i, val in enumerate'. by @jpivarski in #1384
  • fix: bump black to 22.3.0 due to click 8.1 release by @henryiii in #1385
  • fix: No zero-length shortcuts for ak.argsort (v1 & v2). by @jpivarski in #1387
  • fix: ErrorContexts should only contain strings. by @jpivarski in #1393
  • fix: ROOT doesn't recognize for-each iterators without operator== by @jpivarski in #1398
  • fix: Implement recursively_apply for Record by @agoose77 in #1401
  • fix: from_numpy references ListArray64 by @agoose77 in #1404
  • fix: Windows builds stopped working; be looser about directory name. by @jpivarski in #1407
  • fix: pypy 3.9 by @henryiii in #1412
  • fix: replace llvmlite.ir instead of llvmlite.llvmpy.core by @Ahmad-AlSubaie in #1413
  • fix: Fix performance issue in v2 tolist. by @jpivarski in #1418
  • fix: Fix iteration over NumpyArray type. by @jpivarski in #1419
  • fix: Removed bytemask() in favour of mask_as_bool() by @ioanaif in #1410
  • fix: Fix ak._v2.to_arrow for sliced ListOffsetArray. by @jpivarski in #1425
  • fix: ListOffsetArray._reduce_next is not implemented for 32-bit. by @jpivarski in #1426
  • fix: Fixed miscellaneous optiontype-in-Parquet bugs by @jpivarski in #1431
  • fix: Remove duplicated import of to/from-parquet by @douglasdavis in #1435
  • fix: is_unique() for IndexedArray by @ioanaif in #1429
  • fix: Fixes to_layout with allow_records=False and allows single-record writing to Arrow and Parquet by @jpivarski in #1456
  • fix: Fix RDataFrame GetColumnNames order in test. by @jpivarski in #1457
  • fix: Streamline recursively_apply for small slices of big arrays. by @jpivarski in #1458
  • fix: getitem* functions must consistently set the slicer in handle_error. by @jpivarski in #1469
  • fix: to_rdataframe extensive tests and bug fixes by @ianna in #1478
  • fix: Fix selecting columns from Parquet. by @jpivarski in #1486
  • fix: Fix categorical equality handling (bad copy-paste from v1). by @jpivarski in #1492
  • fix: _to_numpy method should return a numpy array by @swishdiff in #1496
  • fix: Fix/Fixed slicing shape for array of booleans by @ioanaif in #1497
  • fix: Fixed typo in unmaskedarray.py. by @jpivarski in #1498
  • fix: Fix slicing for UnmaskedArrays (which come from Arrow). by @jpivarski in #1499
  • fix: Fix for issue 1406 by @ioanaif in #1502
  • fix: Update type-parser for v2 by @jpivarski in #1514
  • fix: numba pre-commit issues by @ioanaif in #1533
  • fix: Initialize values behind the mask in ak.to_numpy by @ioanaif in #1531
  • fix: Fixed RecordArray.repr (last vestige of 'override' misunderstanding). by @jpivarski in #1537
  • fix: Error when using ak.copy in v2 by @ioanaif in #1532
  • fix: ak._v2.is_none check for axis value by @ioanaif in #1539
  • fix: Solving the endian bug on MacOS by @aryan26roy in #1538
  • fix: fix ak2 convert class name msg by @Moelf in #1544
  • fix: GrowableBuffer.h's missing import broke localbuild.py; fixing it. by @jpivarski in #1555
  • fix: Remove std::cout from ArrayBuilder code. by @jpivarski in #1561
  • fix: Missing axis_wrap_if_negative Record method in both v1 and v2 by @ioanaif in #1565
  • fix: ufuncs on records should not be allowed unless overridden by @ioanaif in #1559
  • fix: add int64_t definition for Windows by @ianna in #1572
  • fix: allow empty RecordArrays in ak.to_layout by @agoose77 in #1581
  • fix: tolist() bug from Uproot (longlong type for Index) by @ioanaif in #1567
  • fix: Lengths of empty regular slices by @ioanaif in #1568
  • fix: RegularArray: maybe_toNumpy() by @ioanaif in #1589
  • fix: Raises an exception on mixed Awkward/NumPy slices. by @jpivarski in #1598
  • fix: ak.concatenate (mergemany) should preserve regular-type. by @jpivarski in #1604
  • fix: ak.concatenate of identical Forms preserves the Form by @jpivarski in #1605
  • fix: ak.concatenate should preserve regular-type for axis>0, too. by @jpivarski in #1609
  • fix: improve ak.from_iter performance for long (axis=0) arrays by @agoose77 in #1614
  • fix: generator tolayout in cling by @ianna in #1613
  • fix: Use dtype=np.int64, not int, for platform independence (Windows). by @jpivarski in #1636
  • fix: support root empty field in Parquet file by @agoose77 in #1619
  • fix: empty slice lists of record arrays (#1593) by @agoose77 in #1597
  • fix: ak.from_iter should interpret top-level tuples as ak.Array (v1 and v2). by @jpivarski in #1642
  • fix: Ensure that ak._v2.to_json raises errors when appropriate. by @jpivarski in #1649
  • fix: pass a copy of RecordArray's internal fields in HL API by @Saransh-cpp in #1650
  • fix: include self._length in RegularArray.mergemany by @agoose77 in #1645
  • fix: jagged slicing for ListArray by @agoose77 in #1408
  • fix: to_list must follow getitem implementations, even in Records by @jpivarski in #1652

Other

New Contributors

Full Changelog: 1.8.0...v1.9.0