NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3495 most downloaded on PyPI
Manipulate JSON-like data with NumPy-like idioms.
Last release 17 days ago
17 Sep 2026
Release timing varies
gaps range from 2 weeks to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
8 years old
210 releases · first in 2018
feat: add ak.from_cudf and rewrite to_cudf via libcudf by @aashirvad08 in #3949
to_arrow datetime conversion by @ianna in #3647has_issue_4264 to lists under untrimmed regular content by @TaiSakuma in #4309test_roundtrip comparison by @TaiSakuma in #4317ak.any by @TaiSakuma in #4314_has_issue_4228 to union option children longer than their used length by @TaiSakuma in #4318Full Changelog: v2.13.0...v2.14.0
One column per quarter.
numba 0.67.0 and llvmlite 0.49.0, both released on 2026-08-11, rewrote numba.core.cgutils.pointer_add , which broke Awkward Array's Numba integration:
numba 0.67.0 and llvmlite 0.49.0, both released on 2026-08-11, rewrote numba.core.cgutils.pointer_add, which broke Awkward Array's Numba integration: indexing an ak.Array inside a jitted function fails to compile with RuntimeError: LLVM IR parsing error (invalid cast opcode for cast from 'i64' to 'ptr'). Awkward Array 2.12.0 and earlier are affected, on every platform and Python version.
This release restores it (#4298). Users staying on an older Awkward Array can pin numba<0.67.
ak.var/ak.std at the innermost axis (CPU + CUDA) by @ianna in #4256RecordArray length in virtual from_buffers by @TaiSakuma in #4293ak.ravel/ak.flatten(axis=None) with nothing to merge by @TaiSakuma in #4292cgutils.pointer_add by @ariostas in #4298ak.flatten and ak.all by @TaiSakuma in #4265from __future__ import annotations imports by @TaiSakuma in #4296Full Changelog: v2.12.0...v2.13.0
feat: write attrs when writing parquet row groups iteratively by @ikrommyd in #4210
awkward_argsort on the CUDA (cuda.compute) backend by @ianna in #4240ArrayBuilder.append() with Unicode strings by @ianna in #4249to_numpy/from_numpy by @TaiSakuma in #4215to_parquet/from_parquet by @TaiSakuma in #4218to_numpy/from_numpy by @TaiSakuma in #4225to_arrow/from_arrow by @TaiSakuma in #4231to_feather/from_feather by @TaiSakuma in #4239to_json/from_json by @TaiSakuma in #4245from __future__ import annotations by @TaiSakuma in #4253Full Changelog: v2.11.0...v2.12.0
<!-- Release notes generated using configuration in .github/release.yml at v2.12.0 -->
awkward_argsort on the CUDA (cuda.compute) backend by @ianna in https://github.com/scikit-hep/awkward/pull/4240ArrayBuilder.append() with Unicode strings by @ianna in https://github.com/scikit-hep/awkward/pull/4249to_numpy/from_numpy by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4215to_parquet/from_parquet by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4218to_numpy/from_numpy by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4225to_arrow/from_arrow by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4231to_feather/from_feather by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4239to_json/from_json by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4245from __future__ import annotations by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4253Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.11.0...v2.12.0
fix: handle FutureWarning for deprecated feather by @ianna in #4198
FutureWarning for deprecated feather by @ianna in #4198length is a numpy scalar for CUDA stability by @ianna in #4194any_backend_is_delayed should only be iterating over sequences of arrays for now by @ikrommyd in #4208Full Changelog: v2.10.0...v2.11.0
<!-- Release notes generated using configuration in .github/release.yml at v2.11.0 -->
FutureWarning for deprecated feather by @ianna in https://github.com/scikit-hep/awkward/pull/4198length is a numpy scalar for CUDA stability by @ianna in https://github.com/scikit-hep/awkward/pull/4194any_backend_is_delayed should only be iterating over sequences of arrays for now by @ikrommyd in https://github.com/scikit-hep/awkward/pull/4208Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.10.0...v2.11.0
fix: passing a non-Collection iterable to pytest.parametrize is deprecated by @maxymnaumchyk in #4144
ak.sum, ak.max, …) — about 5× faster on average (geometric mean), 10×+ on long lists #4056
awkward-cpp), GPU (cuda.compute)ak.index.EmptyIndex / ZeroIndex / LazyIndexparents to offsets by @ianna in #4056UnionArray kernels to cuda.compute by @maxymnaumchyk in #4083parents to cuda.compute by @maxymnaumchyk in #4159test_pandas_attr_serialisation should have unique parquet path per thread by @ikrommyd in #4110IndexedOptionArray with an EmptyArray content and length > 0 to a ByteMaskedArray by @ikrommyd in #4127Full Changelog: v2.9.1...v2.10.0
ak.sum, ak.max, …) — about 5× faster on average (geometric mean), 10×+ on long lists https://github.com/scikit-hep/awkward/pull/4056
awkward-cpp), GPU (cuda.compute)ak.index.EmptyIndex / ZeroIndex / LazyIndex<!-- Release notes generated using configuration in .github/release.yml at v2.10.0 -->
parents to offsets by @ianna in https://github.com/scikit-hep/awkward/pull/4056UnionArray kernels to cuda.compute by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4083parents to cuda.compute by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4159test_pandas_attr_serialisation should have unique parquet path per thread by @ikrommyd in https://github.com/scikit-hep/awkward/pull/4110IndexedOptionArray with an EmptyArray content and length > 0 to a ByteMaskedArray by @ikrommyd in https://github.com/scikit-hep/awkward/pull/4127Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.9.1...v2.10.0
chore: ignore jax deprecation warning in pytest by @ikrommyd in #3864
offset support (precursor to parent removal) by @ianna in #3865axis==None by @ianna in #3884axis=None specialization for Min reducer + small refactoring for existing specializatons by @ikrommyd in #3896missing_repeat kernel implementation using cuda.compute by @maxymnaumchyk in #3922index_rpad_and_clip kernels implementations using cuda.compute by @maxymnaumchyk in #3923__array_function__ by @ikrommyd in #3991ak.from_rdataframe by @bendavid in #3851ListOffsetArray by @ianna in #3859maximum implementation by @ikrommyd in #3895CUDATargetContext is spinned off to FunctionDescriptor by @ianna in #3902.fields is being accessed from highlevel array/record by @ikrommyd in #3906ak.almost_equal by @ikrommyd in #3909ak.array_equal with datetimes and timedeltas with NaTs by @ikrommyd in #3921ak.almost_equal between record array fields by @ikrommyd in #3962ak.array_equal by @TaiSakuma in #3891ak.nan_to_num by @ikrommyd in #3892Full Changelog: v2.9.0...v2.9.1
feat: drop Python 3.9 by @henryiii in #3816
awkward_NumpyArray_subrange_equal* kernels by @ikrommyd in #3818test_1511_set_attribute.py to make it thread-local by @ikrommyd in #3826ak.from_buffers for ndarray buffers by @ikrommyd in #3820set_mask instead of set_base_mask in to_cudf by @ikrommyd in #3847test_1490_jax_reducers_combinations.py by @ikrommyd in #3829tests-cuda/test_3051_to_cuda.py only in the latest cudf by @ikrommyd in #3836test_recordarray_argmax_y_field and make the xfail reason consistent for test_listarray_sort in tests-cuda/test_3459_virtualarray_with_cuda.py by @ikrommyd in #3837VirtualArray class by @ikrommyd in #3848ak.to_cudf errors and documentation by @ikrommyd in #3850Full Changelog: v2.8.12...v2.9.0
awkward_NumpyArray_subrange_equal* kernels by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3818test_1511_set_attribute.py to make it thread-local by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3826ak.from_buffers for ndarray buffers by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3820set_mask instead of set_base_mask in to_cudf by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3847test_1490_jax_reducers_combinations.py by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3829tests-cuda/test_3051_to_cuda.py only in the latest cudf by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3836test_recordarray_argmax_y_field and make the xfail reason consistent for test_listarray_sort in tests-cuda/test_3459_virtualarray_with_cuda.py by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3837VirtualArray class by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3848ak.to_cudf errors and documentation by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3850Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.12...v2.9.0
feat: improve merging of NumpyArray s and simplification of UnionArray s + fix ak.almost_equal for UnionArray s by @ikrommyd in #3773
NumpyArrays and simplification of UnionArrays + fix ak.almost_equal for UnionArrays by @ikrommyd in #3773ak.sort() for CUDA backend by @shwina in #3750ak.combinations faster on GPU by using cp.searchsorted to compute output list indexes by @shwina in #3795ak.combinations faster on GPU by using cp.searchsorted to compute output list indexes by @ianna in #3798mergeastable argument by @ikrommyd in #3779ak.validity_error for typetracer-backed layouts with unknown length by @ikrommyd in #3784ak.enforce_type work with typetracers by @ikrommyd in #3764ArrayBuilder.show() formatter forwarding by @X0708a in #3796Form.length_zero/one_array() by @ikrommyd in #3810Full Changelog: v2.8.11...v2.8.12
NumpyArrays and simplification of UnionArrays + fix ak.almost_equal for UnionArrays by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3773ak.sort() for CUDA backend by @shwina in https://github.com/scikit-hep/awkward/pull/3750ak.combinations faster on GPU by using cp.searchsorted to compute output list indexes by @shwina in https://github.com/scikit-hep/awkward/pull/3795ak.combinations faster on GPU by using cp.searchsorted to compute output list indexes by @ianna in https://github.com/scikit-hep/awkward/pull/3798mergeastable argument by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3779ak.validity_error for typetracer-backed layouts with unknown length by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3784ak.enforce_type work with typetracers by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3764ArrayBuilder.show() formatter forwarding by @X0708a in https://github.com/scikit-hep/awkward/pull/3796Form.length_zero/one_array() by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3810Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.11...v2.8.12
feat: add behavior cls validation hook by @pfackeldey in #3710
ak.from_buffers if it is known by @ikrommyd in #3714ArrayBuilder.__bool__ raises TypeError when builder length is 1 by @T90REAL in #3738to_dataframe() by @TaiSakuma in #3733Index inside nplike function in to_IndexedOptionArray64 by @ikrommyd in #3727ak.Record creation from iterable with nested dicts by @ikrommyd in #3728all function leads to infinite recursion for axis=None by @ikrommyd in #3765Full Changelog: v2.8.10...v2.8.11
ak.from_buffers if it is known by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3714ArrayBuilder.__bool__ raises TypeError when builder length is 1 by @T90REAL in https://github.com/scikit-hep/awkward/pull/3738to_dataframe() by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3733Index inside nplike function in to_IndexedOptionArray64 by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3727ak.Record creation from iterable with nested dicts by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3728all function leads to infinite recursion for axis=None by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3765Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11
feat: preserve field order when replacing existing fields in with_field by @DylanModesitt in #3681
EmptyArrays by @ikrommyd in #3664VirtualNDArray's shape versus count in from_buffers if both are known by @ikrommyd in #3667__setitem__ syntax in ak.merge_union_of_records to make it work with the jax backend by @ikrommyd in #3596Full Changelog: v2.8.9...v2.8.10
EmptyArrays by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3664VirtualNDArray's shape versus count in from_buffers if both are known by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3667__setitem__ syntax in ak.merge_union_of_records to make it work with the jax backend by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3596Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.9...v2.8.10
feat: cuda reducers - add combinations for n>2, argmin and argmax, and fix min. by @ianna in https://github.com/scikit-hep/awkward/pull/3645
combinations for n>2, argmin and argmax, and fix min. by @ianna in https://github.com/scikit-hep/awkward/pull/3645assert_never by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3644touch_data typo by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3641Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.8...v2.8.9
combinations for n>2, argmin and argmax, and fix min. by @ianna in #3645assert_never by @ikrommyd in #3644touch_data typo by @ikrommyd in #3641Full Changelog: v2.8.8...v2.8.9
feat: adapt __array__ according to numpy guidelines by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3592
__array__ according to numpy guidelines by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3592ak.Array and ak.Record with VirtualArray buffers by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3612to_packed by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3637VirtualArray's deep copy + accidental .data access by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3599Nones in single argument usage of ak.where by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3563VirtualArray in nplike.asarray by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3597to_packed work for typetracer backed IndexedOptionArray, BitMaskedArray, and UnionArray by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3608materialize_if_virtual by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3632.shape in copy test by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3631Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.7...v2.8.8
refactor: add jax DeprecationWarning by @ianna in https://github.com/scikit-hep/awkward/pull/3609
(none!)
(none!)
DeprecationWarning by @ianna in https://github.com/scikit-hep/awkward/pull/3609Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.6...v2.8.7
fix: first maybe materialize, then check for PlaceholderArray by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3566
(none!)
ak.any and ak.combinations with cuda backend kernels by @ianna in https://github.com/scikit-hep/awkward/pull/3561pyarrow.lib.PyExtensionType in pyarrow 21 by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3581Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.5...v2.8.6
fix: cudf strings column by @ianna in https://github.com/scikit-hep/awkward/pull/3555
(none!)
cudf strings column by @ianna in https://github.com/scikit-hep/awkward/pull/3555ak.categories should return None if no categories are present by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3553n == 0 by @ianna in https://github.com/scikit-hep/awkward/pull/3554<double>s by @Moelf in https://github.com/scikit-hep/awkward/pull/3545std::memcpy instead of *reinterpret_cast by @APN-Pucky in https://github.com/scikit-hep/awkward/pull/3514Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.4...v2.8.5
fix: simplify unmasked array by @ianna in https://github.com/scikit-hep/awkward/pull/3518
(none!)
to_packed for num_none by @ianna in https://github.com/scikit-hep/awkward/pull/3538atol=np.inf in a jax test and xfail sorting test which fails by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3542Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.3...v2.8.4
feat: add a ref to the original 'unclipped' buffer generator by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3497
ak.materialize (+ docs display fix) by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3501ak.combinations with cuda backend by @ianna in https://github.com/scikit-hep/awkward/pull/3502IndexedArray docstring by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3496Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.2...v2.8.3
feat: add segmented argmin and argmax by @ianna in https://github.com/scikit-hep/awkward/pull/3449
unknown_length for virtual arrays in order to read without any materialization by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3475UnionArray combinations by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3438__setitem__ calls with .at[where].set(value) for the jax backend by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3457ptr implementation and fix __setitem__ for Index and tocarryraw to make ak.(arg)combinations work for the jax backend by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3471error being None in the output of validity kernels by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3479shape_generator inside generator if it has already been called by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3490maps_as_pydicts parameter to to_pylist by @ianna in https://github.com/scikit-hep/awkward/pull/3492form_with_unique_keys here by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3482Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.1...v2.8.2
feat: add tobytes to VirtualArray by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3434
tobytes to VirtualArray by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3434(none!)
(none!)
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.8.0...v2.8.1
feat: implement virtual arrays by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3364
to_nplike by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3400ruff linting by @ianna in https://github.com/scikit-hep/awkward/pull/3423ak.almost_equal and ak.array_equal should check that jagged arrays have the same offsets by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3425Index's data should be passed into array_equal, not the Index itself by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3432ak.zip_no_broadcast and ak.with/without_named_axis to public API docs by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3399array_equal reference guide by @ianna in https://github.com/scikit-hep/awkward/pull/3424Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.7.4...v2.8.0
feat: add a non-touching ak.zip, called 'ak.zip_no_broadcast' by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3390
ak.zip, called 'ak.zip_no_broadcast' by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3390(none!)
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.7.3...v2.7.4
fix: datetime.datetime.utcfromtimestamp deprecation warning by @ianna in https://github.com/scikit-hep/awkward/pull/3338
jax>=0.4.36 by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3340__repr__ by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3342.attrs by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3350nbytes property of ak.Record by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3352HashableDict by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3355datetime.datetime.utcfromtimestamp deprecation warning by @ianna in https://github.com/scikit-hep/awkward/pull/3338_getitem_at_placeholder checks by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3368primitive_policy to allow converting Numpy arrays by @ianna in https://github.com/scikit-hep/awkward/pull/3375ak.transform docstring by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3369ak.Array input data by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3374_util.native_to_byteorder function in ak.from_buffers by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3354Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.7.2...v2.7.3
This is the first version built with MacOS 13 instead of MacOS 12.
This is the first version built with MacOS 13 instead of MacOS 12.
np.arrays in ak.full_like as fill_value by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3315ak.zip(tuple(...))) by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3314Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.7.1...v2.7.2
fix: test from_raggedtensor on CUDA by @ianna in https://github.com/scikit-hep/awkward/pull/3298
(none!)
named_axis inferring to ak.Arrays/ak.Records/ak.HighLevelContexts by default by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3304Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.7.0...v2.7.1
This release drops support for Python 3.8. The supported Python versions are now 3.9 through 3.13 (inclusive). Other than that, it does not differ fro
This release drops support for Python 3.8. The supported Python versions are now 3.9 through 3.13 (inclusive). Other than that, it does not differ from 2.6.10.
(none!)
(none!)
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.10...v2.7.0
feat: named axis for ak.Array by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3238
ak.Array by @pfackeldey in https://github.com/scikit-hep/awkward/pull/3238to_raggedtensor and from_raggedtensor functions by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3263from_raggedtensor on GPU by @ianna in https://github.com/scikit-hep/awkward/pull/3288.DS_Store and add it to .gitignore by @basnijholt in https://github.com/scikit-hep/awkward/pull/3286Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.9...v2.6.10
feat: Add to_cudf by @martindurant in https://github.com/scikit-hep/awkward/pull/3051
can_cast by @ianna in https://github.com/scikit-hep/awkward/pull/3255Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.8...v2.6.9
feat: Add ak.array_equal by @tcawlfield in https://github.com/scikit-hep/awkward/pull/3215
Form.select_columns to distinguish structural dots from dots in the names of record fields by @tcawlfield in https://github.com/scikit-hep/awkward/pull/3222Index.ptr by @jpivarski in https://github.com/scikit-hep/awkward/pull/3206ak.array_equal to NEP18 overrides, documentation, and add one more test by @tcawlfield in https://github.com/scikit-hep/awkward/pull/3225Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.7...v2.6.8
feat: combinations kernels by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/3150
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.6...v2.6.7
feat: add slicing CUDA kernels by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/3140
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.5...v2.6.6
feat: 2772 pyarrow doesnt permit selective reading with extensionarray by @tcawlfield in https://github.com/scikit-hep/awkward/pull/3127
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.4...v2.6.5
feat: TypeTracerReport.data_touched_in should ignore unrecognized node_ids by @jpivarski in https://github.com/scikit-hep/awkward/pull/3074
TypeTracerReport.data_touched_in should ignore unrecognized node_ids by @jpivarski in https://github.com/scikit-hep/awkward/pull/3074Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.3...v2.6.4
This is the first release of Awkward Array that is compatible with NumPy 2.0.
This is the first release of Awkward Array that is compatible with NumPy 2.0.
commit method on TypeTracerReport to identify touched buffers in the Dask DAG-building pass by @jpivarski in https://github.com/scikit-hep/awkward/pull/3043vectorized funcs by @Saransh-cpp in https://github.com/scikit-hep/awkward/pull/3025TypeTracerArray._new by @jpivarski in https://github.com/scikit-hep/awkward/pull/3054Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.2...v2.6.3
feat!: printing a typetracer array should not touch it by @jpivarski in https://github.com/scikit-hep/awkward/pull/3019
commit method on TypeTracerReport to identify touched buffers in the Dask DAG-building pass by @jpivarski in https://github.com/scikit-hep/awkward/pull/3043vectorized funcs by @Saransh-cpp in https://github.com/scikit-hep/awkward/pull/3025TypeTracerArray._new by @jpivarski in https://github.com/scikit-hep/awkward/pull/3054Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.2...v2.6.3rc2
feat: add CUDA kernels that calculate length/sum by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2992
BitMaskedArray by @agoose77 in https://github.com/scikit-hep/awkward/pull/3028ak.flatten on BitMaskedArray by @agoose77 in https://github.com/scikit-hep/awkward/pull/3034Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.1...v2.6.2
The purpose of this release is to provide a lower-bound on the fsspec dependency version (#3006).
The purpose of this release is to provide a lower-bound on the fsspec dependency version (#3006).
(none!)
(none!)
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.6.0...v2.6.1
From this point onward, awkward strictly depends on fsspec.
From this point onward, awkward strictly depends on fsspec.
header-only/tests/test_1542-array-builder.cpp by @ianna in https://github.com/scikit-hep/awkward/pull/2981std::tuple_element_t as an OptionType type alias by @ianna in https://github.com/scikit-hep/awkward/pull/2977ak.merge_union_of_records error message for cases that can't use axis < 0 by @jpivarski in https://github.com/scikit-hep/awkward/pull/2995Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.5.2...v2.6.0
feat: add some simpler cuda_kernels by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2880
cuda_kernels by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2880recursive flag to Content.to_packed by @agoose77 in https://github.com/scikit-hep/awkward/pull/2933to_packed for IndexedOptionArray by @agoose77 in https://github.com/scikit-hep/awkward/pull/2912bool_ to int8 for positional reducers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2935actions/(upload|download)-artifact by @agoose77 in https://github.com/scikit-hep/awkward/pull/2904Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.5.1...v2.5.2
feat: add enforce_concatenated_form by @agoose77 in https://github.com/scikit-hep/awkward/pull/2860
enforce_concatenated_form by @agoose77 in https://github.com/scikit-hep/awkward/pull/2860Form.is_equal_to by @agoose77 in https://github.com/scikit-hep/awkward/pull/2862Array.__getitem__ should set attrs on result by @agoose77 in https://github.com/scikit-hep/awkward/pull/2866cuda_kernels by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2877Meta by @agoose77 in https://github.com/scikit-hep/awkward/pull/2841Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.5.0...v2.5.1
feat: add Form.is_equal_to by @agoose77 in https://github.com/scikit-hep/awkward/pull/2862
Form.is_equal_to by @agoose77 in https://github.com/scikit-hep/awkward/pull/2862enforce_concatenated_form by @agoose77 in https://github.com/scikit-hep/awkward/pull/2860Array.__getitem__ should set attrs on result by @agoose77 in https://github.com/scikit-hep/awkward/pull/2866Meta by @agoose77 in https://github.com/scikit-hep/awkward/pull/2841Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.5.0...v2.5.1rc1
feat: add .attrs to highlevel objects by @agoose77 in https://github.com/scikit-hep/awkward/pull/2757
.attrs to highlevel objects by @agoose77 in https://github.com/scikit-hep/awkward/pull/2757ak.Array.show by @agoose77 in https://github.com/scikit-hep/awkward/pull/2803forget_length in typetracer_with_report by @agoose77 in https://github.com/scikit-hep/awkward/pull/2807resolve_dtypes by @agoose77 in https://github.com/scikit-hep/awkward/pull/2809firsts by @agoose77 in https://github.com/scikit-hep/awkward/pull/2815_kernel_signatures.py in package by @agoose77 in https://github.com/scikit-hep/awkward/pull/2819* refactor: more type hints by @agoose77 in https://github.com/scikit-hep/awkward/pull/2804isort config, require annotation imports by @agoose77 in https://github.com/scikit-hep/awkward/pull/2801behavior in recursively_apply by @agoose77 in https://github.com/scikit-hep/awkward/pull/2805Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.9...v2.5.0
fix: drop lengths recursively by @agoose77 in https://github.com/scikit-hep/awkward/pull/2775
ak.to_categorical by @agoose77 in https://github.com/scikit-hep/awkward/pull/2779Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.7...v2.5.0rc0
fix: backport #2809 by @agoose77 in https://github.com/scikit-hep/awkward/pull/2810
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.9...v2.4.10
feat: add to_buffer and helper methods in layout builder by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2766
to_buffer and helper methods in layout builder by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2766utils.h by @ManasviGoyal in https://github.com/scikit-hep/awkward/pull/2771to_layout options by @agoose77 in https://github.com/scikit-hep/awkward/pull/2763highlevel, behavior arguments to composite reducers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2754nan variants by @agoose77 in https://github.com/scikit-hep/awkward/pull/2758__class__ for both layout and behavior consistently by @agoose77 in https://github.com/scikit-hep/awkward/pull/2759None index in awkward_Index_nones_as_index.cpp by @agoose77 in https://github.com/scikit-hep/awkward/pull/2769ak.num should always return a useful (non-unknown length) type by @agoose77 in https://github.com/scikit-hep/awkward/pull/2785broadcast_and_apply by @agoose77 in https://github.com/scikit-hep/awkward/pull/2790fill_none by @agoose77 in https://github.com/scikit-hep/awkward/pull/2793pyupgrade version by @agoose77 in https://github.com/scikit-hep/awkward/pull/2756ak.types by @agoose77 in https://github.com/scikit-hep/awkward/pull/2791behavior broadcasting by @agoose77 in https://github.com/scikit-hep/awkward/pull/2761Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.6...v2.4.8
Nothing published for this version
Nothing published for this version
feat!: revert breaking component of asarray PR by @agoose77 in https://github.com/scikit-hep/awkward/pull/2752* fix: update cppyy module by @ianna in
asarray PR by @agoose77 in https://github.com/scikit-hep/awkward/pull/2752* fix: update cppyy module by @ianna in https://github.com/scikit-hep/awkward/pull/2747Index objects internally by @agoose77 in https://github.com/scikit-hep/awkward/pull/2749Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.5...v2.4.6
feat: add recursive argument to expected_from_buffers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2724
recursive argument to expected_from_buffers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2724from_buffers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2732np.asarray on Index or Content objects by @agoose77 in https://github.com/scikit-hep/awkward/pull/2740__dlpack__ by @agoose77 in https://github.com/scikit-hep/awkward/pull/2741__array__ accepts positional arguments by @agoose77 in https://github.com/scikit-hep/awkward/pull/2744Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.4...v2.4.5
feat: add buffer_key to typetracer_with_report by @agoose77 in https://github.com/scikit-hep/awkward/pull/2719
buffer_key to typetracer_with_report by @agoose77 in https://github.com/scikit-hep/awkward/pull/2719TypeTracer.frombuffer by @agoose77 in https://github.com/scikit-hep/awkward/pull/2718axis=None, keepdims=True by @agoose77 in https://github.com/scikit-hep/awkward/pull/2728Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.3...v2.4.4
feat: add ak_to_feather and ak_from_feather functions by @zbilodea in https://github.com/scikit-hep/awkward/pull/2683
ak.from_buffers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2713unknown_length by @agoose77 in https://github.com/scikit-hep/awkward/pull/2710from_buffers by @agoose77 in https://github.com/scikit-hep/awkward/pull/2714Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.2...v2.4.3
fix: support placeholder arrays in ArrayModuleNumpyLike.frombuffer by @agoose77 in https://github.com/scikit-hep/awkward/pull/2693
ArrayModuleNumpyLike.frombuffer by @agoose77 in https://github.com/scikit-hep/awkward/pull/2693ak.Array by @agoose77 in https://github.com/scikit-hep/awkward/pull/2697Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.1...v2.4.2
## Other - Fix docs version selector Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.0...v2.4.1
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.4.0...v2.4.1
feat!: deprecate forget_length, add parameters to typetracer_with_report by @agoose77 in https://github.com/scikit-hep/awkward/pull/2671
Form.expected_from_buffers for names/dtypes ak.from_buffers needs. by @jpivarski in https://github.com/scikit-hep/awkward/pull/2660touch_data to ak.typetracer by @agoose77 in https://github.com/scikit-hep/awkward/pull/2672forget_length, add parameters to typetracer_with_report by @agoose77 in https://github.com/scikit-hep/awkward/pull/2671divmod by @agoose77 in https://github.com/scikit-hep/awkward/pull/2654axis != 0 by @agoose77 in https://github.com/scikit-hep/awkward/pull/2657numba.core.errors.Numba<Error> instead of Error in a Numba typing context. by @jpivarski in https://github.com/scikit-hep/awkward/pull/2659from_dlpack by @agoose77 in https://github.com/scikit-hep/awkward/pull/2662broadcast_and_apply from mixed backends by @agoose77 in https://github.com/scikit-hep/awkward/pull/2678ak.str. operations by @agoose77 in https://github.com/scikit-hep/awkward/pull/2679Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.3.3...v2.4.0
feat: add support for __arrow_array__ by @agoose77 in https://github.com/scikit-hep/awkward/pull/2650
__arrow_array__ by @agoose77 in https://github.com/scikit-hep/awkward/pull/2650__dlpack__, from_dlpack support by @agoose77 in https://github.com/scikit-hep/awkward/pull/2649highlevel=False in all branches for from_parquet by @agoose77 in https://github.com/scikit-hep/awkward/pull/2646parameters_union by @agoose77 in https://github.com/scikit-hep/awkward/pull/2651Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.3.2...v2.3.3
feat: add support for expected termination of transform functions by @agoose77 in https://github.com/scikit-hep/awkward/pull/2595
to_numpy support for strings/bytestrings by @agoose77 in https://github.com/scikit-hep/awkward/pull/2631Exception subclasses by @agoose77 in https://github.com/scikit-hep/awkward/pull/2587to_backend_array() instead of asarray by @agoose77 in https://github.com/scikit-hep/awkward/pull/2592artefacts → artifacts in pyproject.toml by @agoose77 in https://github.com/scikit-hep/awkward/pull/2612ak.zip with optiontype_outside_record=True by @agoose77 in https://github.com/scikit-hep/awkward/pull/2623counts=len(array) in ak.unflatten by @agoose77 in https://github.com/scikit-hep/awkward/pull/2632int64 index in ListArray's pad_none by @agoose77 in https://github.com/scikit-hep/awkward/pull/2634assert nextlen == 0 in reducer should also allow unknown_length by @jpivarski in https://github.com/scikit-hep/awkward/pull/2610module and name arguments to high_level_function decorator by @agoose77 in https://github.com/scikit-hep/awkward/pull/2620Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.3.1...v2.3.2
fix: added kernel specializations for awkward_ListOffsetArray_reduce_local_nextparents_64 by @jpivarski in https://github.com/scikit-hep/awkward/pull/
(none!)
awkward_ListOffsetArray_reduce_local_nextparents_64 by @jpivarski in https://github.com/scikit-hep/awkward/pull/2572(none!)
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.3.0...v2.3.1
feat!: deprecate string behavior classes by @agoose77 in https://github.com/scikit-hep/awkward/pull/2528
__list__ parameter for list-based array types by @agoose77 in https://github.com/scikit-hep/awkward/pull/2549ListOffsetArray.to_RegularArray by @agoose77 in https://github.com/scikit-hep/awkward/pull/2560pydantic<2 to fix WASM build by @agoose77 in https://github.com/scikit-hep/awkward/pull/2558if by @agoose77 in https://github.com/scikit-hep/awkward/pull/2543Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.2.4...v2.3.0
feat!: canonicalise union of indexed by @agoose77 in https://github.com/scikit-hep/awkward/pull/2527
union of indexed by @agoose77 in https://github.com/scikit-hep/awkward/pull/2527NDArrayOperatorsMixin by @agoose77 in https://github.com/scikit-hep/awkward/pull/2534Form.select_columns by @agoose77 in https://github.com/scikit-hep/awkward/pull/2536with_operation_context by @agoose77 in https://github.com/scikit-hep/awkward/pull/2525Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.2.3...v2.2.4
feat!: deprecate to_NumpyForm's `dtype argument by @agoose77 in https://github.com/scikit-hep/awkward/pull/2503
to_NumpyForm's ``dtype` argument by @agoose77 in https://github.com/scikit-hep/awkward/pull/2503__unit__ parameter by @agoose77 in https://github.com/scikit-hep/awkward/pull/2518KeyError for <3.11 by @agoose77 in https://github.com/scikit-hep/awkward/pull/2519axis != -1 for record reduction by @agoose77 in https://github.com/scikit-hep/awkward/pull/2514Reducer.apply by @agoose77 in https://github.com/scikit-hep/awkward/pull/2507Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.2.2...v2.2.3
feat!: drop string broadcasting overloading by @agoose77 in https://github.com/scikit-hep/awkward/pull/2474
Index._touch_XXX methods by @agoose77 in https://github.com/scikit-hep/awkward/pull/2478ak.typetracer.length_one_if_typetracer by @jpivarski in https://github.com/scikit-hep/awkward/pull/2499ak.concatenate for typetracer by @agoose77 in https://github.com/scikit-hep/awkward/pull/2497start_at_zero in _compact_offsets by @agoose77 in https://github.com/scikit-hep/awkward/pull/2477RegularArray._reduce_next by @agoose77 in https://github.com/scikit-hep/awkward/pull/2492ak._do.reduce (2 of 3) by @agoose77 in https://github.com/scikit-hep/awkward/pull/2506Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.2.1...v2.2.2
Your coding agent can read these notes before it upgrades. Set up the MCP server →