Skip to content

Releases: scikit-hep/uproot5

Version 5.0.9

21 Jun 01:02
a9f4374
Compare
Choose a tag to compare

New features

(none!)

Bug fixes and performance

  • fix: if using form remapping start off with full list of remapped columns by @lgray in #905

Other

Full Changelog: v5.0.8...v5.0.9

Version 5.0.8

09 Jun 13:28
04f4199
Compare
Choose a tag to compare

New features

  • feat: chunk specification in uproot.dask by @lgray in #898

Bug fixes and performance

Other

Full Changelog: v5.0.7...v5.0.8

Version 5.0.7

14 Apr 15:24
b53b16f
Compare
Choose a tag to compare

Note: This release introduces a slight change in behavior. Previously, uproot.dask would default to step_size="100 MB" if open_files=True and whole-file-steps (limit on step size) if open_files=False. Now both open_files cases default to steps_per_file=1 (whole-file-steps) for uniformity. If you have been using uproot.dask and this version suddenly gives you large Dask partitions, use either step_size or steps_per_file to control your partition size (step_size="100 MB" is the old behavior).

New features

  • feat: add in capability for blindly splitting files into chunks for dask by @lgray in #876

Bug-fixes and performance

(none!)

Other

Full Changelog: v5.0.6...v5.0.7

Version 5.0.6

06 Apr 17:01
ed1d81f
Compare
Choose a tag to compare

New features

  • feat: add pyodide support for jupyter-lite for files opened via HTTP by @ioanaif in #868
  • feat: add support for pandas is_numeric API change by @ioanaif in #871
  • feat: have unknown type become float64 when in array context by @ioanaif in #870

Bug-fixes and performance

  • fix: strided interpretation for data with extra offsets by @ioanaif in #852

Other

Full Changelog: v5.0.5...v5.0.6

Version 5.0.5

16 Mar 21:27
d501ed0
Compare
Choose a tag to compare

New features

(none!)

Bug-fixes and performance

  • fix: test 0814 name by @ioanaif in #845
  • fix: update licence url for tests by @ioanaif in #846
  • fix: replaced incorrect AwkwardForth var_set logic with a check to see if the Form is complete by @jpivarski in #851
  • fix: unable to delete hist from ROOT file by @ioanaif in #844
  • fix: AwkwardForth was nesting the same ListOffsetArray (same node name) multiple times by @jpivarski in #855

Other

Full Changelog: v5.0.4...v5.0.5

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