Skip to content

Releases: scikit-hep/uproot5

Version 5.0.4

01 Mar 23:24
fe04534
Compare
Choose a tag to compare

New features

  • feat: allow uproot.dask to re-map forms at the data source by @lgray in #830
  • feat: add support for TLeafG by @ioanaif in #840

Bug-fixes and performance

  • fix: separate ZstdDecompressor for each thread (re-do) by @nsmith- in #828
  • fix: _awkward_forth.symbol_dict was missing np.dtype(">i1") by @jpivarski in #827
  • fix: ak_add_doc should add docs to both the lazy and the materialized array. by @jpivarski in #832
  • fix: Uproot should be able to run without Awkward. by @jpivarski in #831
  • fix: add ttree title to doc of top level record by @lgray in #836
  • fix: complain about CannotBeAwkward earlier, before reading data. by @jpivarski in #838
  • fix: models should not be wrapped in a ListOffsetForm by @ioanaif in #841
  • fix: let form mappings apply a behavior by @lgray in #834

Other

New Contributors

Full Changelog: v5.0.3...v5.0.4

Version 5.0.3

15 Feb 19:44
fdd4173
Compare
Choose a tag to compare

New features

  • feat: Infrastructure for writing of RNTuple (incomplete functionality) by @Moelf in #705
  • feat: [WIP] RNTuple Basic Writing by @Moelf in #813

Bug-fixes and performance

  • fix: an uproot.dask test was wrong; revealed by new dask-awkward. by @jpivarski in #812
  • fix: separate AwkwardForth machine for each TBranch context. by @jpivarski in #819
  • fix: separate ZstdDecompressor for each thread. by @jpivarski in #820

Other

Full Changelog: v5.0.2...v5.0.3

Version 5.0.2

22 Dec 21:07
d388d7c
Compare
Choose a tag to compare

New features

(none!)

Bug-fixes and performance

  • fix: uproot.dask: Protect against branches=None in project_columns by @douglasdavis in #806
  • fix: AsStridedObjects.awkward_form was still including the '@' members. by @jpivarski in #808

Other

Full Changelog: v5.0.1...v5.0.2

Version 5.0.1

15 Dec 18:39
57e05b6
Compare
Choose a tag to compare

New features

(none!)

Bug-fixes and performance

  • fix: protect Uproot's 'project_columns' from Dask node names. by @jpivarski in #801

Other

  • ci: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #799
  • docs: update documentation about Pandas; we don't do MultiIndex anymore. by @jpivarski in #802
  • chore(deps): bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4 by @dependabot in #797

Full Changelog: v5.0.0...v5.0.1

Version 5.0.0

10 Dec 03:59
1bc01e7
Compare
Choose a tag to compare

Uproot version 5.0.0

Uproot version 5 has a few major new features, one removal (uproot.lazy), and is based on Awkward Array version 2 instead of version 1.

uproot.lazy → uproot.dask

@kkothari2001 upgraded Uproot from Awkward version 1 to version 2, the major part of which was replacing uproot.lazy, which is based on Awkward 1's virtual and partitioned lazy arrays, with the new Dask collection, dask-awkward. The entry point for this function is uproot.dask.

@kkothari2001 also simplified Uproot's Pandas backend, which used to "explode" ragged arrays from ROOT into Pandas DataFrames with a non-trivial MultiIndex. Now, it takes advantage of awkward-pandas to put ragged (and more complex) Awkward Arrays directly into Pandas columns.

If you want the old behavior, you can read data using library="ak" to get an Awkward Array, and use ak.to_dataframe to "explode" the data into a MultiIndex.

TTree-reading with AwkwardForth

@aryan26roy added a new code path to the TTree-reading routines to read them with AwkwardForth instead of pure Python. Users won't see any interface changes due to this code, but the performance of reading TBranches with AsObject or AsStrings Interpretations should be orders of magnitude faster. For example, std::vector<std::vector<float>> reading is now 400× faster.

Reading RNTuples

@Moelf added a complete reader of RNTuple data with most of an RNTuple-writer in an unmerged pull request (#705). Although the RNTuple format is still in development, this is a very good start at reading RNTuple data, whose structure is a close match to Awkward Arrays (so the translation is more one-to-one than it is for TTrees, for instance).

New features

Bug-fixes and performance

  • fix: depend on packaging, not setuptools vendored packaging by @henryiii in #684
  • fix: Avoid triggering temporary dask-awkward/awkward incompatibility. by @jpivarski in #694
  • fix: Do not write incorrect fSumw2 in histograms (v5). by @jpivarski in #698
  • fix: Fixes uproot.dask bug with empty branches by @kkothari2001 in #700
  • fix: Use from_map optimization for delayed numpy arrays and add tests with empty branches for the same by @kkothari2001 in #703
  • fix: use ctx manager to ensure resources are freed by @agoose77 in #713
  • fix: ReadOnlyDirectory should provide the largest abs(cycle) when cycle is unspecified, not the largest cycle. by @jpivarski in #715
  • fix: regularize ROOT type aliases to C fundamental type names. by @jpivarski in #717
  • fix: avoid empty TBasket issue in embedded TBasket by @jpivarski in #751
  • fix: don't use Awkward in test_0751 that doesn't need it by @jpivarski in #753
  • fix: working TList serialization by @lobis in #763
  • fix: histogram weights not handled correctly in hist / boost conversion by @lobis in #774
  • perf: streamline metadata handling for TBranch name lookup and uproot.dask by @jpivarski in #772
  • fix: ensure AwkwardForth fallback path is tested without history. by @jpivarski in #780
  • fix: all AwkwardForth Forms now agree with awkward_form method output. by @jpivarski in #790
  • fix: Uproot tests now work with Awkward 2.0.0. by @jpivarski in #795

Other

Read more

Version 5.0.0rc7

06 Dec 23:01
803e80c
Compare
Choose a tag to compare
Version 5.0.0rc7 Pre-release
Pre-release

New features

  • feat: support categorical axes on boost histograms by @lobis in #764
  • feat: warn about TBranch name, alias name conflict. by @jpivarski in #776
  • feat: any Mapping assigned to a WritableDirectory is interpreted as a TTree or failure, no fall-through. by @jpivarski in #779
  • feat: add 'interp_options' mechanism and ak_add_doc. by @jpivarski in #784
  • feat: Use awkward pandas, instead of the existing code that explodes Pandas Dataframes by @kkothari2001 in #734
  • feat: made 'very optional' arguments keyword-only by @jpivarski in #787
  • feat: adjust for name change in scikit-hep/awkward#1919. by @jpivarski in #788

Bug-fixes and performance

  • fix: histogram weights not handled correctly in hist / boost conversion by @lobis in #774
  • perf: streamline metadata handling for TBranch name lookup and uproot.dask by @jpivarski in #772
  • fix: ensure AwkwardForth fallback path is tested without history. by @jpivarski in #780
  • fix: all AwkwardForth Forms now agree with awkward_form method output. by @jpivarski in #790

Other

Full Changelog: v5.0.0rc6...v5.0.0rc7

Version 5.0.0rc6

29 Oct 17:53
b3a95a4
Compare
Choose a tag to compare
Version 5.0.0rc6 Pre-release
Pre-release

This release is coordinated with Awkward 2.0.0rc2 because it involves a change that had to be applied to both (removal of Identifier/Identities).

New features

(none!)

Bug-fixes and performance

  • fix: working TList serialization by @lobis in #763

Other

New Contributors

Full Changelog: v5.0.0rc5...v5.0.0rc6

Version 5.0.0rc5

26 Oct 19:09
477a119
Compare
Choose a tag to compare
Version 5.0.0rc5 Pre-release
Pre-release

This is the first Uproot release that requires awkward>=2.0.0rc1. See Awkward Array v2.0.0rc1.

New features

Bug-fixes and performance

  • fix: avoid empty TBasket issue in embedded TBasket by @jpivarski in #751
  • fix: don't use Awkward in test_0751 that doesn't need it by @jpivarski in #753

Other

Full Changelog: v5.0.0rc4...v5.0.0rc5

Version 4.3.7

07 Oct 13:41
f8eaf27
Compare
Choose a tag to compare

New features

(none)

Bug-fixes and performance

  • fix: avoid empty TBasket issue in embedded TBasket (v4) by @jpivarski in #752

Other

(none)

Full Changelog: v4.3.6...v4.3.7

Version 4.3.6

05 Oct 19:29
ae30a68
Compare
Choose a tag to compare

New features

  • feat: implemented NON-memberwise deserialization for AsMap (v4). by @jpivarski in #747

Bug-fixes and performance

  • fix: ReadOnlyDirectory should provide the largest abs(cycle) when cycle is unspecified, not the largest cycle (v4). by @jpivarski in #721
  • fix: regularize ROOT type aliases to C fundamental type names (v4). by @jpivarski in #718

Other

  • test: adjust for boost-histogram 1.3.2's _storage_type deprecation (v4). by @jpivarski in #720

Full Changelog: v4.3.5...v4.3.6