Backbones for parameterized models.

spines, parameterized, models, data-science, modeling, parameterization
pip install spines==0.0.6



Spines Logo

Skeletons for parameterized models.

Build Status Coverage Status Documentation Status PyPI Status Python Versions

Important: This software is still in it's early alpha phase and is constantly in flux. It will likely change significantly.


To install spines use your package manager of choice, an example using pipenv would be:

$ pipenv install spines


Spines is a library which provides a consistent (and hopefully familiar) framework for building predictive models. It's core Model class is similar, in structure, to some of scikit-learn's underlying Estimator classes - but with a single set of unified functions for all models, namely:

  • Construct
  • Fit
  • Train
  • Predict
  • Error
  • Score

The predict method is the only one that's required to be implemented, though the others are likely useful most of the time (and often required to take advantage of some of the additional features provided by spines).

Spines was built because the process of developing a model could be significantly aided by an intelligent framework keeping tabs on changes, storing results and helping you iterate. The purpose of spines was to give a simple (and not too opinionated) interface/skeleton for models as well as provide some helpful utilities for the model building process. To accomplish this spines provides some useful key features:

  • Standardized format for models of all types.
  • Automatic version management.
  • Storing intermediate/iterative results during the model development and training/fitting process.
  • A unified storage format for models to facilitate collaboration, training and deployment.


The latest documentation is hosted on read the docs.


This project is licensed under the MIT License, for more information see the LICENSE file.