Scala implementation of Histogrammar, with optional front-ends and back-ends as separate Maven projects.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bokeh including the pluginRepositories, and it should be, n… Nov 18, 2016
.gitignore Create .gitignore Jul 13, 2016
.travis.yml Upgrade Bokeh to 0.7 because 0.6 depends on something that no longer … Sep 2, 2016
LICENSE remove trailing content from license Jul 15, 2016 Update Sep 1, 2016 including the pluginRepositories, and it should be, n… Nov 18, 2016

Scala implementation of Histogrammar


See for a complete introduction to Histogrammar.

This is a Scala implementation for Scala versions 2.10 and 2.11.


Histogrammar has a standard Maven POM. With Maven 3+, run

mvn install -P scala-2.10


mvn install -P scala-2.11

in the base directory (to compile everything) or one of the subdirectories. All subdirectories depend on core, so this must be installed first.


Build status

The Scala implementation is verified against the Python implementation by running exactly the same tests on both. They agree numerically to one part in a trillion, with the same NaN/infinity handling, and exchange the same JSON.

All primitives except UntypedLabel preserve type information in the Scala REPL, so you can extract values or tab-complete without casting.

In the future, JIT-compilation will be available, similar to the ROOT/Cling interface in Python, but compiling to Java bytecode with Janino instead of native bytecode with LLVM.

Primitive Scala JVM JIT
Count done
Sum done
Average done
Deviate done
Minimize done
Maximize done
Bag done
Bin done
SparselyBin done
CentrallyBin done
IrregularlyBin done
Categorize done
Fraction done
Stack done
Select done
Label done
UntypedLabel done
Index done
Branch done