skafos

Python wrapper for loading, fetching, and listing model versions with the Skafos platform.


Keywords
machine, learning, delivery, mobile, deployment, model, versioning
License
Apache-2.0
Install
pip install skafos==0.1.3

Documentation

Skafos Python SDK

Build Status

Skafos is the platform for automating the delivery of machine learning models to mobile devices. We provide this SDK as a Python wrapper for uploading, fetching, and listing model versions from the platform.

If you're a Data Scientist or Machine Learning Engineer, you're the one entrusted with building robust machine learning models. This SDK is an interface to the Skafos platform, allowing you to do the following from your Python development environment:

  • Upload a model version: Save a new version of your machine learning model to the Skafos platform, making it available for mobile delivery.
  • Deploy a model version: Deliver a saved model version to your mobile application over-the-air.
  • Fetch a model version: Download a previously saved version of your machine learning model from the Skafos platform.
  • List model versions: For each of your apps and models, see what model versions you have previously saved to the Skafos platform.

Supported Platforms

Operating Systems

This is not an exhaustive list of OS that are compatible with skafos. These are the one's we've explicitly tested:

  • macOS 10.12+
  • Linux (Ubuntu 16.0.4+)

Cloud Platforms

  • Google Colab + Google Cloud
  • IBM Watson
  • AWS Sagemaker
  • Microsoft Azure

System Requirements

  • Python 3+
  • Pip (to download skafos from the Python Package Index)

Installation

You can install skafos directly from the Python Package Index (PyPI).

pip install -U skafos

Once you've installed skafos, you can import the package in your Python environment.

import skafos
skafos.get_version() # returns the current SDK version

For more details on installation and usage, see the package documentation.

Documentation

Example: Uploading a Model Version

import os
from skafos import models

# Set your API Token first for repeated use
os.environ["SKAFOS_API_TOKEN"] = "<YOUR-SKAFOS-API-TOKEN>"

# You can retrieve this info with skafos.summary()
org_name = "<YOUR-SKAFOS-ORG-NAME>"    # Example: "mike-gmail-com-467h2"
app_name = "<YOUR-SKAFOS-APP-NAME>"    # Example: "Recommender-App"
model_name = "<YOUR-MODEL-NAME>"       # Example: "RecommenderModel"

# Upload model version to Skafos
model_upload_result = models.upload_version(
    files="<path(s)-to-model-file(s)>", # Example: ["../my_recommender_model.mlmodel"]
    org_name=org_name,
    app_name=app_name,
    model_name=model_name
)

Need Help?

Didn't find something you need? Confused by something? Need more guidance?

Please contact us with questions or feedback! Here are two ways: