Next-generation Python interface to the HepMC high-energy physics event record API
Project description
pyhepmc-ng is a wrapper of the HepMC-v3 C++ library.
Another wrapper is pyhepmc. Why should you use this one?
pyhepmc-ng is easy to install
The command pip install pyhepmc-ng
just works! You only need a compiler that
supports C++11, everything else is handled by pip.
Under the hood, the bindings are build with the excellent pybind11 library. pybind11 is automatically installed as a requirement by pip. You don't need an external installation of the HepMC library, either. A copy of this light-weight library is included.
pyhepmc-ng is actively developed
pyhepmc-ng is part of the Scikit-HEP project, which aims to provide all tools needed by particle physicists to do data analysis in Python.
pyhepmc-ng is unit tested
Everything in pyhepmc-ng is unit tested.
pyhepmc-ng supports Pythonic code
pyhepmc-ng is a hand-crafted mapping of C++ code to Python. It supports Python idioms where appropriate.
- C++ methods which act like properties are represented as properties, e.g. GenParticle::set_status and GenParticle::status are mapped to a single GenParticle.status field in Python
- Tuples and lists are implicitly convertible to FourVectors
- ReaderAscii and WriterAscii support the context manager protocol
License: pyhepmc-ng is covered by the BSD license, but the license only applies to the binding code. The HepMC3 code is covered by the GPL-v3 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.