Skip to content

APN-Pucky/babyyoda

Repository files navigation

babyyoda

PyPI - Version PyPI - Python Version CI/CD Code Coverage


Differences to yoda

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.

Installation

pip install babyyoda

Design

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

Interfaces

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

License

babyyoda is distributed under the terms of the BSD-3-Clause license.

About

Python YODA UHI histograms

Resources

License

Stars

Watchers

Forks

Packages

No packages published