babyyoda
has the advantages
- works with just Python 3 and can be installed with pip.
- makes it easy to manipulate the bin contents (compared to YODA-1).
- tries to adhere to the UHI standard.
- is easy to plot in a Jupyter notebook.
- keeps data representation close to the yoda file format.
and the disadvantages to yoda
are that it
- is slower.
- is not as feature complete.
- is not as well tested.
- only has histogram support.
pip install babyyoda
babyyoda
is designed to be a drop-in replacement for yoda
with a few key differences:
import babyyoda as yoda
with UHI support.
It can use either yoda
(C++) or babyyoda.grogu
(Python) as backend.
At some point the UHI support might be adapted by the original yoda
package.
For a less feature complete version, babyyoda.grogu
is a simpler python drop-in replacement for yoda
without UHI:
import babyyoda.grogu as yoda
or force yoda use with
import babyyoda.yoda as yoda
Interface | Status | Examples and Notes |
---|---|---|
histoprint | ✅ | histo1d |
mplhep | ✅ | histo1d, histo2d |
plothist | ❌ | WIP: cyrraz/plothist#98 Does not support UHI/PlottableProtocol, only boost-histogram() |
uproot | ❌ | WIP: scikit-hep/uproot5#1339 histo1d |
hist | ✅ | histo1d, histo2d |
boost-histogram | ✅ | histo1d, histo2d |
cuda-histogram | ❔ | |
ROOT | ❔ |
babyyoda
is distributed under the terms of the BSD-3-Clause license.