Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Scikit-HEP project - welcome!

The Scikit-HEP project is a community-driven and community-oriented project with the aim of providing Particle Physics at large with an ecosystem for data analysis in Python. Read more →

New users can start with our user pages. See our developer pages for information on developing Python packages.

Basics:

Manipulate JSON-like data with NumPy-like idioms.

Units and constants in the HEP system of units.

Manipulate Lorentz, 3D, and 2D vectors in NumPy, Numba, or Awkward.

Data manipulation and interoperability:

Easy conversions between different styles of expressions.

ROOT I/O in pure Python and NumPy.

Terminal browser and tools for ROOT files

Histogramming:

Python bindings for the C++14 Boost::Histogram library.

Hist is a analyst friendly front-end for boost-histogram, designed for Python 3.6+.

Histoprint nicely displays histograms in the terminal.

Unified Histogram Interface, providing static tools and documentation for the common behavior and interaction between histogram libraries.

Particles and decays:

Describe and convert particle decays between digital representations.

PDG particle data and identification codes.

Fitting:

GPU/OpenMP fitting in Python and C++.

🤝 Affiliated

Jupyter-friendly Python interface for the Minuit2 C++ library.

Scalable Pythonic fitting

🤝 Affiliated

Statistics:

Design and steer profile likelihood fits.

Statistics tools and utilities.

pure-Python implementation of HistFactory models.

Interface to HEP libraries:

Official FastJet bindings to Python and Awkward Array.

Next generation Python bindings for HepMC3.

Lightweight Python interface to read Les Houches Event (LHE) files.

Machine Learning:

Collection of tools and algorithms to enable conversion of HEP ML to mass usage model.

Visualization:

Plotting and styling helpers for matplotlib.

View Vega/Vega-Lite plots in your web browser from local or remote Python processes.

Miscellaneous:

A utility for building all PyPI supported binary wheels on all CI systems. See our guide for instructions.

🤝 Affiliated

CERN’s ROOT on Conda-Forge.

🤝 Affiliated

A C++11 API for CPython and PyPy. Can create extension modules written purely in C++ or in C++ and Python; no new language, separate generation step or tooling required (header only templated C++).

🤝 Affiliated

Metapackage for the Scikit-HEP project providing various of its tools and interfaces.

Common package to provide example files (e.g., ROOT) for testing and developing packages against.

In some cases, the packages provide a bridge between different technologies and/or popular packages from the Python scientific software stack. If you are looking for a deprecated package, see the full package list.