particle
Extended PDG particle data and MC identification codes
What it is and what it does
Particle wraps the Particle Data Group's official particle tables and provides object-oriented access to particle properties, identification codes (PDGIDs), and metadata. It implements the standard PDG ID numbering scheme through the PDGID class, which supports queries on particle properties like flavor content, spin, and charge. The Particle class offers search and lookup utilities to find particles by PDG ID, name, EvtGen identifier, or by filtering on properties like mass, width, and quark content.
The package is designed for high-energy physics workflows where you need to look up particle properties, classify particles by their quantum numbers, or work with Monte Carlo generator identification schemes. It includes command-line tools for quick lookups and provides both object-oriented and functional interfaces to PDGID queries, making it suitable for interactive exploration or embedded in analysis scripts.
Use it for:
- Look up particle properties by PDG ID or name in high-energy physics simulations and analysis.
- Filter particles by quantum numbers (flavor, spin, charge) to find specific particle types in Monte Carlo events.
- Convert between different particle identification schemes used by MC generators and the standard PDG numbering.
- Build particle classification functions by composing PDGID property queries for custom physics selections.
- Query nucleus information and construct particle objects for nuclear physics calculations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a pythonic interface to Particle Data Group particle identification codes and properties, with lookup and search utilities for particle physics data.
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It fills a clear need for standardized particle data access in HEP workflows. Install it if you work with particle physics data or Monte Carlo event analysis.
Install
particle on PyPI
pip
pip install particleuv
uv add particlepoetry
poetry add particleInstalling particle
Before you install
Low install friction with only two runtime dependencies (attrs and hepunits). Active maintenance with a recent release 50 days ago and regular commits; last commit on 2026-08-11.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install particle
from particle import Particle, PDGID
pid = PDGID(211)
print(pid.is_meson) # True
p = Particle.from_pdgid(211)
print(p) # <Particle: name="pi+", pdgid=211, mass=139.57039 ± 0.00018 MeV>
Requires Python 3.10 or later.
Verify before relying
- Whether the package's particle data tables are automatically updated when PDG releases new data, or if manual updates are required.
- Performance characteristics when searching across large numbers of particles or with complex filter predicates.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — attrs, hepunits |
| Maintenance | actively maintained — 50 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 116,279/month — #12,212 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: particle-1.0.0-py3-none-any.whl
Keywords: HEP, MC identification codes, PDG, PDGID, particle, particle data table, particle properties
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
hepunitsProvides units and physical constants in the…
permissive · top 15,000 on PyPI
fastjetFastJet provides Python bindings to the FastJet…
permissive · top 15,000 on PyPI
pysplashsurfpySplashsurf provides Python bindings for…
permissive · top 15,000 on PyPI
mplhepmplhep provides matplotlib styling and helper…
permissive · top 15,000 on PyPI
tesseractComputes dark matter halo concentration…
copyleft · top 15,000 on PyPI
mendeleevProvides a Python API to query properties of…
permissive · top 15,000 on PyPI
coffeacoffea provides columnar data analysis tools…
permissive · top 15,000 on PyPI
ldpcProvides decoders for low-density parity check…
permissive · top 15,000 on PyPI
periodictableProvides a periodic table of the elements with…
permissive · top 15,000 on PyPI
xraydbXrayDB provides a Python interface to a SQLite…
permissive · top 15,000 on PyPI