Skip to main content

A safe, transparent way to share and deploy scikit-learn models.

Project description


Export scikit-learn model files to JSON for sharing or deploying predictive models with peace of mind.

Why sklearn-json?

Other methods for exporting scikit-learn models require Pickle or Joblib (based on Pickle). Serializing model files with Pickle provide a simple attack vector for malicious users-- they give an attacker the ability to execute arbitrary code wherever the file is deserialized. (For an example see:

sklearn-json is a safe and transparent solution for exporting scikit-learn model files.


Export model files to 100% JSON which cannot execute code on deserialization.


Model files are serialized in JSON (i.e., not binary), so you have the ability to see exactly what's inside.

Getting Started

sklearn-json makes exporting model files to JSON simple.


pip install sklearn-json

Example Usage

import sklearn_json as skljson
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators=10, max_depth=5, random_state=0).fit(X, y)

skljson.to_json(model, file_name)
deserialized_model = skljson.from_json(file_name)



The list of supported models is rapidly growing. If you have a request for a model or feature, please reach out to

sklearn-json requires scikit-learn >= 0.21.3.

Supported scikit-learn Models

  • Classification

    • sklearn.linear_model.LogisticRegression
    • sklearn.linear_model.Perceptron
    • sklearn.discriminant_analysis.LinearDiscriminantAnalysis
    • sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis
    • sklearn.svm.SVC
    • sklearn.naive_bayes.GaussianNB
    • sklearn.naive_bayes.MultinomialNB
    • sklearn.naive_bayes.ComplementNB
    • sklearn.naive_bayes.BernoulliNB
    • sklearn.tree.DecisionTreeClassifier
    • sklearn.ensemble.RandomForestClassifier
    • sklearn.ensemble.GradientBoostingClassifier
    • sklearn.neural_network.MLPClassifier
  • Regression

    • sklearn.linear_model.LinearRegression
    • sklearn.linear_model.Ridge
    • sklearn.linear_model.Lasso
    • sklearn.svm.SVR
    • sklearn.tree.DecisionTreeRegressor
    • sklearn.ensemble.RandomForestRegressor
    • sklearn.ensemble.GradientBoostingRegressor
    • sklearn.neural_network.MLPRegressor

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sklearn-json, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size sklearn_json-0.1.0-py3-none-any.whl (13.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size sklearn-json-0.1.0.tar.gz (9.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page