This application provides a REST API for use with Nupic. Currently, it is meant to be deployed on Heroku.
Get a local instance working for testing purposes by cloning this repository
and running run
.
Once you've tested it out locally, you can deploy to heroku:
heroku create --stack cedar
This will give the git repo a remote repo for herokugit push heroku master
heroku scale web=1
heroku ps # to see if it's running
heroku logs -t
Your API should be ready to go!
All methods return a JSON response, if a method required a GUID (globally unique identifier), and there is no model associated with it, a 404 error will be returned.
While still in development the REST API is as follows:
Creates a model,
Takes a dict of arguments in with the following fields:
guid
: an optional name for the model, by default a UUID4 will be generated. The guid must be unique.predictedField
: the field to be predictedmodelParams
: the nupic model parameters to be used. If none are provided, default
parameters are provided based on those from the hot gym anomaly detection.A JSON object containing the GUID of the model and parameters used.
Gets a list of all models and their associated information.
A JSON list of JSON objects containing:
If the GUID is not found, a 404 error will be returned
Details of the model (same format as GET /models
)
Deletes the model
404 if no such model exists. The body will be a JSON object with:
Run data through a model
Takes a list of objects or a single object. If using a datetime field, then they must be pushed in chronological order. Each input object must have those fields given in the parameters. Timestamp must be an integer or float that is a unix timestamp.
Returns the output of the nupic model:
Resets a model