About this project¶
The Hydra.Python package provides the Python bindings for the header-only C++ Hydra library. This library is an abstraction over the C++ library, so that daily work can be coded and run with the Python language, concentrating on the logic and leaving all the complex memory management and optimisations to the C++ library.
The bindings are produced with pybind11. The project makes use of CMAKE for what concerns the building of the Hydra.Python library.
The library is written with Linux
systems in mind, but compatibility with other platforms may be achieved with “hacks”.
Python versions 2.7, and 3.x are supported.
Core features¶
The core functionality of Hydra has been exposed to Python. The following core C++ features of Hydra can be mapped to Python:
- The continuous expansion of the original Hydra library.
- Support for particles with
Vector4R
class. - Support for containers like
Events
orDecay
.
Supported compilers¶
- Clang/LLVM (any non-ancient version with C++11 support).
- GCC 4.8 or newer.
History¶
The development of Hydra.Python started as a 2017 Google Summer of Code project (GSoC) with student Deepanshu Thakur.