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 http://histogrammar.org 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.

Source Distributions

histogrammar-1.0.4.zip (224.5 kB view hashes)

Uploaded Source

histogrammar-1.0.4.tar.gz (175.5 kB view hashes)

Uploaded Source

Built Distributions

histogrammar-1.0.4-py3.4.egg (519.6 kB view hashes)

Uploaded Source

histogrammar-1.0.4-py2.7.egg (505.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page