A library for reading [root-framework] data into [numpy] and [awkward-array].
uproot is a narrowly-scoped Python library whose sole function is to read data from ROOT files, which are widely used in the particle physics community (see root-framework).
Rather than reconstituting data as C++ objects, as ROOT does, uproot reads columns of data as NumPy arrays. If the data have too much structure to represent in NumPy, such as a collection of unequal-length std::vector<X>
, uproot uses awkward-array to return jagged arrays with NumPy-like semantics.
uproot can read most types of objects serialized by ROOT, including TTree datasets, Lorentz vectors, histograms, and other types of graphs. Custom behaviors for these objects can be defined by adding functions to uproot-methods.
uproot interfaces with numpy, pandas, dask, cachetools, Python's concurrent.futures, and xrootd.