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.

News β€’ Tutorial β€’ Resources β€’ Cite us β€’ Get in touch

Basics:

Manipulate JSON-like data with NumPy-like idioms.

Units and constants in the HEP system of units.

Manipulate ragged arrays as NumPy or CuPy arrays.

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

Data manipulation and interoperability:

Easy conversions between different styles of expressions.

Bridge between columnar file formats such as ROOT and Parquet.

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

A Python 3.10+ framework for running configuration check plugins.

🀝 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.