Uproot

Latest version: v5.3.7

Safety actively analyzes 629639 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 48 of 55

2.3.0

Added Pandas connector and "recover" feature for ROOT files incorrectly closed on writing.

2.1.5

Fixed a few small bugs discovered with new test files and enabled automatic deployment. (This will be the first *release* that triggers a deployment on PyPI.)

Bugs fixed:

* branches with zero leaves should have no Interpretation
* branch printout formatting as desired by user
* fixed streamer-branch association for STL streamers with a single element 'This'.

2.1.1

Now each branch is associated with its streamer info (if possible). This makes it possible to read std::vectors, and `std::vector<numbers>` has been implemented.

2.0.5

uproot 2.x is a complete rewrite of the system.

* Unlike 1.x, this version first reads the ROOT file's streamer info and uses that to deserialize almost all classes into Python objects. Apart from corner cases involving the bootstrapping classes (TFile, TKey, TStreamer*, etc.), the deserialization code will never be out of date.
* It also replaces the spaghetti of special cases for numerical branches and string-valued branches with a generic "Interpretation" system, where different kinds of branches get custom classes (possibly generated from streamers) to turn the bytes on disk into different Python objects.
* Jagged arrays (array of arbitrary-length arrays) are on the same footing as Numpy arrays, which is a basis for reading any arbitrary-length content (e.g. using classes generated from streamers).
* All manipulations that must touch individual entries with Python code (e.g. making a jagged array of strings or `std::vector<...>`) is Numba-accelerated. If you have Numba installed, it will run as fast as Numpy calls (compiled code).
* File-reading mechanism replaced with separated "source" and "cursor" to emulate memory mapped access for all file types, including XRootD.
* Parallel executor and cache options simplified and made systematic across all method argument lists.
* Any dict-like object may be a cache; memory-based and disk-based dict subclasses with LRU eviction policies included.

All old tests work. Reference documentation written. Tutorials in progress.

1.6.2

Fixed issue 16. The decompressor should be chosen based on the first two bytes of the compressed block, not the `fCompress` variable in TFile and/or TBranch.

1.6.1

For a while now, some uproot functions have been accepting a dictionary-like object as a cache, so if branches are in the supplied dictionary, they will not be extracted again from the ROOT file.

This version adds MemoryCache, ThreadSafeMemoryCache, and DiskCache (which is persistent and process-safe) as dictionary-like objects that can be used as caches. They all track memory usage (`numbytes` attribute) and evict the least-recently used items when it exceeds a threshold (`limitbytes`).

This code was mostly ported from the old PLUR project, adding process-safety to DiskCache so that a collection of servlets supervised by WSGI can share the same SSD cache (for example).

Page 48 of 55

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.