Hadrian: implementations of the PFA specification
As of version 0.8.4, Hadrian, Titus, and Aurelius are available with the Apache License v2.0
Version v.0.8.4
The Portable Format for Analytics (PFA) is a specification for scoring engines: event-based processors that perform predictive or analytic calculations. It is a common language to help smooth the transition from statistical model development to large-scale and/or online production. For a model expressed as PFA to be run against data, an application is required.
Hadrian (API) is Open Data's complete implementation of PFA for the Java Virtual Machine (JVM). Hadrian is designed as a library to be embedded in applications or used as a scoring engine container. To make Hadrian immediately usable, we provide containers that allow Hadrian to be dropped into an existing workflow. Hadrian can currently be used as a standard-input/standard-output process, a Hadoop map-reduce workflow, an actor-based workflow of interacting scoring engines, or as a servlet in a Java Servlet container, including Google App Engine.
Titus (API) is Open Data's complete implementation of PFA for Python. Hadrian and Titus both execute the same scoring engines, but while Hadrian's focus is speed and portability, Titus's focus is on model development. Included with Titus are standard model producers, a PrettyPFA parser for easier editing, a PFA-Inspector commandline for interactive analysis of a PFA document, and many other tools and scripts.
In addition, Aurelius is an R package for producing PFA from the R programming language and Antinous is a sidecar app for building models in any environment where Hadrian can be deployed. These and other tools are included in the Hadrian repository.
See the Hadrian wiki for more information, including installation instructions and tutorials.
Contact licensing@opendatagroup.com to see how Hadrian can fit into your environment.
The Roman emperor naming convention is continued from Augustus, Open Data's producer and consumer of the Predictive Model Markup Language (PMML).