Django River ML

GitHub stars

To see the code, head over to the repository.

Getting started with Django River ML

Django models to deploy river online machine learning. This is a Django version of chantilly that aims to use the same overall design. We also include example clients and a test application in tests. You can use the Python riverapi to interact with the server, which describes and implements the client side of the spec implemented on the server here.

How is it different?

This is a Django plugin, so it’s more intended to be generalizable for your Django application. Since we assume you will be using a relational database with some number of models (tables) and online-ml works well with dictionaries, we use either shelve (development) or redis (production) to store models. The plugin here is different from chantilly in the following ways:

  • it’s intended to be easily customized, so most configurables are exposed in settings customized by your app
  • we have added more kinds of model types (under development)
  • we require each new model to be added with a flavor, and data (metrics, stats, etc.) is stored relevant to that. The original chanilly puts everything under “metrics” or “stats” and then wipes the database if a new flavor is added.
  • a few additional API endpoints were added (also under development)
  • to remove the logic from the particular API implementation, we have a [client class](django_river_ml/ that returns a boolean (success) and data result for each function.

under development not ready to use yet! But should be with a few more evenings and the weekend :)


  • For bugs and feature requests, please use the issue tracker.
  • For contributions, visit us on Github.


GitHub Repository
The code on GitHub.
river Documentation
The official river Documentation.
riverapi Python client
A python client intended to interact with a server like this one.
riverapi specification
The specification for the server endpoints and client.