Releases: scikit-hep/awkward
Version 2.0.0rc6
The main purpose of this release is to fix Uproot.
New features
- feat: ak.from_rdataframe should accept a single string 'columns'. by @jpivarski in #1956
Bug-fixes and performance
- fix:
__array__ = 'sorted_map'
should only be allowed on RecordArrays, not lists. by @jpivarski in #1959 - fix: unknown type column by @ianna in #1960
- fix: add IPython as Sphinx extension by @agoose77 in #1966
Other
(none!)
Full Changelog: v2.0.0rc5...v2.0.0rc6
Version 2.0.0rc5
This is one of the last pre-releases before 2.0.0. Most of the focus now is on last-minute API changes; the API can't change without a deprecation cycle after 2.0.0.
New features
- feat: made 'very optional' arguments keyword-only by @jpivarski in #1905
- feat: rename
toXXX
methods by @agoose77 in #1919 - feat: replace nplike with backend in
to_buffers
by @agoose77 in #1942 - feat: add rich IPython display hook to array/record by @agoose77 in #1938
- feat: move long-range metadata checks to constructors by @jpivarski in #1939
Bug-fixes and performance
- fix: refactor '_nextcarry-outindex' to have the same signature everywhere by @ioanaif in #1911
- fix: ignore .nox by @ianna in #1912
- refactor!: make
Content
initialisers takenplike
,parameters
as keyword by @agoose77 in #1921 - fix: backends should have defaults for user-facing operations by @agoose77 in #1940
- fix: consolidate regular indexing by @agoose77 in #1943
- fix: IndexedArray.project() preserves parameters. by @jpivarski in #1949
- fix: preserve strings in
ak.ravel
by @agoose77 in #1934 - fix: UnionArray.simplified preserves parameters. by @jpivarski in #1950
Other
- refactor: introduce
backend
as a higher abstraction thannplike
by @agoose77 in #1922 - refactor: replace
simplify_optiontype
andsimplify_uniontype
withsimplified
classmethod by @jpivarski in #1928 - refactor: clarify input types for user overloads by @agoose77 in #1951
- refactor: removed the 'ak._util.extra' argument helper. by @jpivarski in #1955
- test: add @ioana's tests of to_arraylib. by @jpivarski in #1908
- test: cover the failure modes of unflatten by @agoose77 in #1930
- docs: fix broken build by @agoose77 in #1907
- docs: cleanup documentation by @agoose77 in #1946
- docs: fix shorthand by @agoose77 in #1952
- docs: retested and modernized all the docstrings in highlevel.py. by @jpivarski in #1954
- chore: fix NumPy bound & noxfile installs by @agoose77 in #1913
- chore: run
yesqa
by @agoose77 in #1915 - chore: update pre-commit hooks by @pre-commit-ci in #1920
- chore: update pre-commit hooks by @pre-commit-ci in #1953
Full Changelog: v2.0.0rc4...v2.0.0rc5
Version 2.0.0rc4
This is the first release in which the C++ code has been moved into a separate package, awkward-cpp
. The pure Python awkward
package is version-locked to version 1
of awkward-cpp
.
New features
- feat: better mask_identity defaults for reducer-like functions. by @jpivarski in #1873
- feat: np.matmul should raise NotImplementedError until it gets implemented by @ioanaif in #1877
- feat: more concise pretty-print. by @jpivarski in #1861
Bug-fixes and performance
- fix: ensure that behaviors are propagated through
ak.XXX
operations by @agoose77 in #1869 - fix: try to fix long long to double by @ianna in #1860
- fix: set appropriate error message for decimal types in arrow by @agoose77 in #1871
Other
- wip: run deploy for PR by @agoose77 in #1891
- docs: Fixed typo in ak.argsort page by @Laurits7 in #1880
- docs: add Laurits7 as a contributor for doc by @allcontributors in #1881
- ci: use Python consistently by @agoose77 in #1892
- ci: set tokens & disable release for C++ [skip ci] by @agoose77 in #1894
- ci: simplify hash computation [skip ci] by @agoose77 in #1897
- ci: add option to manually release awkward on PyPI by @agoose77 in #1898
- ci: set constant
$SOURCE_DATE_EPOCH
by @agoose77 in #1900 - chore: rename is_XXXType to is_XXX (lowercase) by @agoose77 in #1876
- chore: update pre-commit hooks by @pre-commit-ci in #1878
- chore: add README.md to awkward-cpp by @agoose77 in #1895
New Contributors
Full Changelog: v2.0.0rc3...v2.0.0rc4
Version 1.10.2
New features
Bug-fixes and performance
- fix: don't assume trailing
.
for module name inis_XXX_buffer
(backport) by @agoose77 in #1746 - fix: use proper lengths in
ByteMaskedArray.mergemany
(backport) by @agoose77 in #1750 - fix: simplify
ListOffsetArray_reduce_nonlocal_outstartsstops
(backport) by @agoose77 in #1797
Other
- chore: remove v2 Python highlevel LayoutBuilder from main-v1. by @jpivarski in #1863
Full Changelog: v1.10.1...v1.10.2
Version 2.0.0rc3
This pre-release is to get #1867 into something pip-installable for Coffea testing. The next pre-release will (probably) be the one that splits Awkward into two packages (#1778).
New features
(none!)
Bug-fixes and performance
- fix: correctly turn
ByteMaskedArray
intoByteMaskedArray
by @agoose77 in #1851 - fix: separate contiguity from dimension test in
NumpyArray._reduce_next
by @agoose77 in #1856 - fix: propagate local behaviors in ak.combinations by @lgray in #1867
Other
- refactor:
ak._util
by @agoose77 in #1848 - refactor: eliminate many of the compiler warnings. by @jpivarski in #1858
- refactor: removed placeholder (-1) intended for Identifier from Lookup. by @jpivarski in #1859
- docs: add rdataframe user guide by @ianna in #1836
- docs: import awkward._v2 now raises an explanatory error message. by @jpivarski in #1857
- ci: allow pushes to main to deploy by @agoose77 in #1852
- ci: don't run PR job on
main
by @agoose77 in #1853 - chore: update pre-commit hooks by @pre-commit-ci in #1854
Full Changelog: v2.0.0rc2...v2.0.0rc3
Version 2.0.0rc2
Note: Uproot will not pass tests after this pre-release is released and before scikit-hep/uproot5#770 is merged, because of #1845.
New features
(none!)
Bug-fixes and performance
- fix: expose
ak.behaviors.mixins
names at top level by @agoose77 in #1835 - fix: array.dtype.type will never be in ak.types.numpytype._dtype_to_primitive_dict by @lgray in #1841
Other
- refactor: add type hints by @agoose77 in #1732
- docs: add Manasvi's
LayoutBuilder
documentation by @agoose77 in #1837 - ci: move to
3.11
from3.11-dev
by @henryiii in #1838 - build(deps): bump pypa/cibuildwheel from 2.11.1 to 2.11.2 by @dependabot in #1844
- chore: remove Identifier (once known as Identities) from codebase. by @jpivarski in #1845
Full Changelog: v2.0.0rc1...v2.0.0rc2
Version 2.0.0rc1
This is the first (pre) release of Awkward 2, after main
and main-v1
have diverged (considerably). There is no awkward._v2
submodule in this release. Any instances of
import awkward._v2 as ak
need to be changed to
import awkward as ak
to use this release. Also, there is no guarantee that Awkward 1 code will work in this release; it is a (slightly) backward incompatible major release, but not final until 2.0.0 (no "rc" number).
New features
- feat: replace v1 with v2 (preserve-history) by @agoose77 in #1721
- feat: add _v2 proxy module by @agoose77 in #1730
- feat: make ak.from_json with schema ignore unspecified fields (instead of error). by @jpivarski in #1770
- feat: add new
"fields"
key toRecordForm
by @agoose77 in #1773 - feat: support scalars in
TypeTracer
operations by @agoose77 in #1774 - feat: add
RegularArray._reduce_next
implementation by @agoose77 in #1811 - feat: Array Builder in Numba - add missing methods by @ianna in #1677
- feat: to/from RDataFrame support for bool type arrays by @ianna in #1829
- feat: preserve
None
innp.ravel()
by @agoose77 in #1826
Bug-fixes and performance
- fix: ensure
behavior
is taken from wrapped array inak.Array
by @agoose77 in #1715 - refactor!: disable iteration of records by @agoose77 in #1725
- fix: Record is not in contents, but in record by @ianna in #1739
- fix: use proper lengths in
ByteMaskedArray.mergemany
by @agoose77 in #1749 - fix: don't assume trailing
.
for module name inis_XXX_buffer
by @agoose77 in #1743 - fix: kernel name in
IndexedArray
by @agoose77 in #1754 - fix: use raise with
ak._errors.wrap_error
by @agoose77 in #1760 - fix: use dict representation of Form in pickling by @agoose77 in #1768
- fix: ignore unknown JAX "buffer" types & fix nplike mixing by @agoose77 in #1769
- fix: propagate mask through
from_numpy
by @agoose77 in #1777 - fix: use the flag for non-persistence by @ianna in #1781
- fix: simplify
ListOffsetArray_reduce_nonlocal_outstartsstops
by @agoose77 in #1796 - fix: allow empty sublists in ak.run_lengths by @agoose77 in #1795
- fix:
ak.prod
for booleans had been incorrectly casting output by @jpivarski in #1827 - fix: visit all layout nodes with
ak.fill_none(..., axis=None)
by @agoose77 in #1830 - perf: only stringify function arguments if nplike is delayed. by @jpivarski in #1825
Other
- refactor: replace Behavior with collections.ChainMap by @agoose77 in #1731
- refactor: rename
ak.nplike
→ak.nplikes
&nplikes.of
→nplikes.nplike_of
by @agoose77 in #1744 - refactor: split error-handling code from
_util
by @agoose77 in #1752 - refactor: drop unused code from Form, rename serialisation methods by @agoose77 in #1748
- refactor: reduce qualified names of Content, Form, Type subclasses by @jpivarski in #1757
- refactor: make _v2 facade a static module. by @jpivarski in #1758
- refactor: move
is_XXX_buffer
into respective nplikes by @agoose77 in #1761 - refactor: cleanup
_connect
submodule by @agoose77 in #1763 - test: ensure that parameters are kept for
NumpyArray
s under ufunc operations by @agoose77 in #1712 - test: remove
ak.behavior
usage in tests by @agoose77 in #1716 - test: use a temp dir for writting out the test files by @ianna in #1804
- build(deps): bump amannn/action-semantic-pull-request from 4 to 5.0.1 by @dependabot in #1788
- build(deps): bump docker/setup-qemu-action from 2.0.0 to 2.1.0 by @dependabot in #1783
- build(deps): bump amannn/action-semantic-pull-request from 5.0.1 to 5.0.2 by @dependabot in #1798
- build(deps): bump pypa/cibuildwheel from 2.10.2 to 2.11.1 by @dependabot in #1787
- ci: bump pypa/cibuildwheel from 2.10.0 to 2.10.2 by @dependabot in #1740
- ci: run Codecov for commits to main by @agoose77 in #1751
- ci: enable versions for built docs by @agoose77 in #1812
- ci: use custom PR message action by @agoose77 in #1816
- docs: update docstring of
ak.with_name
to reflectNone
interpretation by @agoose77 in #1665 - docs: merge new docs into main by @agoose77 in #1776
- docs: remove
vector_design_prototype
's reference by @Saransh-cpp in #1803 - docs: fix redirects by @agoose77 in #1815
- docs: fix kernel generation by @agoose77 in #1800
- docs: enable plausible.js analytics by @agoose77 in #1822
- docs: add vertical margin between badges by @agoose77 in #1832
- docs: add notes on "declaring
ArrayBuilder
type" by @agoose77 in #1831 - chore: update CITATION.cff by @agoose77 in #1717
- chore: use codecov action by @agoose77 in #1722
- chore: add isort by @henryiii in #1666
- chore: set
VERSION_INFO
contents to2.0.0rc1
by @agoose77 in #1723 - chore: remove sre_parse dependency from Lark-generated parser. by @jpivarski in #1759
- chore: update pre-commit hooks by @pre-commit-ci in #1733
- chore: update pre-commit hooks by @pre-commit-ci in #1779
- chore: update pre-commit hooks by @pre-commit-ci in #1801
Full Changelog: v1.10.1...v2.0.0rc1
Version 1.10.1
New features
(none)
Bug fixes and performance
Other
- chore: update pre-commit hooks by @pre-commit-ci in #1706
Full Changelog: v1.10.0...v1.10.1
Version 1.10.1rc1
New features
(none)
Bug-fixes and performance
Other
- chore: update pre-commit hooks by @pre-commit-ci in #1706
Full Changelog: v1.10.0...v1.10.1rc1
Version 1.10.0
New features
Bug-fixes and performance
- fix: allow string arrays to merge without unions by @agoose77 in #1671
- fix: carry parameters through broadcasting by @agoose77 in #1679
- fix: don't project
categorical
inak._v2.packed
by @agoose77 in #1689 - fix: reduce runtime dependency from setuptools to just packaging by @veprbl in #1562
- fix: ensure that
__copy__
and__deepcopy__
are enabled. by @jpivarski in #1695 - fix: pass memo to deepcopy by @agoose77 in #1698
- perf: improve Array initialisation performance by @agoose77 in #1700
Other
- refactor: move categorical functions to operations by @agoose77 in #1674
- test: skip individual np.float16/128 tests because different systems have different combinations. by @jpivarski in #1691
- ci: Build(deps): bump pypa/cibuildwheel from 2.9.0 to 2.10.0 by @dependabot in #1692
- chore: drop 3.6 support by @agoose77 in #1661
- chore: remove
dev/build-awkward.sh
by @agoose77 in #1675 - chore: update pre-commit hooks by @pre-commit-ci in #1673
Full Changelog: v1.9.0...v1.10.0