Skip to main content

Composable histogram primitives for distributed data reduction.

Project description

Histogrammar is a suite of data aggregation primitives designed for use in parallel processing. In the simplest case, you can use this to compute histograms, but the generality of the primitives allows much more.

See for a complete introduction.

This Python implementation of Histogrammar adheres to version 1.0 of the specification and has been tested to guarantee compatibility with the Scala implementation. The test suite includes empty datasets, NaN/infinity handling, associativity tests, and numerical agreement at the level of one part in a trillion (double precision). Several common histogram types can be plotted in Matplotlib, PyROOT, and Bokeh with a single method call.

If Numpy or Pandas is available, histograms and other aggregators can be filled from arrays ten to a hundred times more quickly via Numpy commands, rather than Python for loops.

If PyROOT is available, histograms and other aggregators can be filled from ROOT TTrees hundreds of times more quickly by JIT-compiling a specialized C++ filler.

Histograms and other aggregators may also be converted into CUDA code for inclusion in a GPU workflow. And if PyCUDA is available, they can also be filled from Numpy arrays by JIT-compiling the CUDA.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for histogrammar, version 1.0.12
Filename, size File type Python version Upload date Hashes
Filename, size histogrammar-1.0.12-py3-none-any.whl (279.2 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page