skillfed

uproot3

ROOT I/O in pure Python and Numpy.

uproot3 v3.14.4 279.5K downloads/30d#8,120 on PyPI313
Permissive license BSD 3-clause Abandoned released

What it is and what it does

uproot3 is a pure-Python I/O library for reading and writing ROOT files, the standard data format in high-energy physics. It uses NumPy to cast blocks of data from ROOT files as NumPy arrays, avoiding the need to install the C++ ROOT framework. The library is designed to stream data into machine learning pipelines and scientific computing workflows.

The package depends on numpy, awkward0, uproot3-methods, and cachetools. It supports reading compressed ROOT files with optional dependencies like lz4 and xxhash, and can export data to Pandas DataFrames. However, the repository is archived and has not been maintained since 2021-02-19, making it a legacy tool for existing workflows rather than a foundation for new projects.

Use it for:

  • Load particle physics data from ROOT files into NumPy arrays for machine learning model training
  • Convert ROOT file histograms and trees to Pandas DataFrames for statistical analysis
  • Stream large ROOT datasets lazily into memory-constrained environments using cachetools
  • Export ROOT file data to other formats without installing the full C++ ROOT framework

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Reads and writes ROOT files (the data format used in high-energy physics) using pure Python and NumPy, without requiring the C++ ROOT library.

No, unless you are maintaining legacy code that already depends on uproot3. The package is abandoned (last commit 2021-02-19) and uses outdated dependencies like awkward0. For new physics data pipelines, consider alternatives with active maintenance.

Install

uproot3 on PyPI

pip

pip install uproot3

uv

uv add uproot3

poetry

poetry add uproot3

Installing uproot3

Before you install

Low friction to install. Maintenance is a concern: the repository is archived and the last commit was 2021-02-19, with the package classified as inactive. If you need active development or bug fixes, this is not the right choice.

License in practice

BSD 3-clause is permissive, allowing commercial and private use with minimal restrictions. You must include a copy of the license and disclaimer.

Quickstart

pip install uproot3

import uproot3
file = uproot3.open('data.root')
tree = file['tree_name']
arrays = tree.arrays()

Requires numpy (1.13.1+), awkward0, uproot3-methods, and cachetools. The package is abandoned and may not work with modern Python or ROOT file formats.

Verify before relying

  • Whether uproot3 works with current ROOT file format versions and modern Python releases
  • Whether dependencies like awkward0 remain compatible with current NumPy versions
  • Performance characteristics on modern hardware and file sizes

Package facts

License BSD 3-clause (permissive)
Python support supports the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*)
Install friction low — pure-Python wheel
Runtime dependencies 4 — numpy, awkward0, uproot3-methods, cachetools
Maintenance abandoned — 2,009 days since the last release
Last repo commit (repository archived)
First released
Downloads 279,452/month — #8,120 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: uproot3-3.14.4-py3-none-any.whl

Development Status :: 7 - InactiveIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOSOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: PhysicsTopic :: Software DevelopmentTopic :: Utilities

Tags

ROOT file reader pythonread ROOT files numpyphysics data format I/OROOT file writer pythonHEP data analysis pythonROOT to numpy arraysparticle physics data access
physics-datalegacy-packagehep-tools

More Software Development packages