DOCUMENTATION
SDK and CLI
The systemone Python package: browser login, search, pull with a shared cache, create and push.
View as Markdown · for AI agents: llms.txt
The systemonemodels package installs the systemone command and a small
Python library over the same HTTP API the website uses. It needs Python 3.10 or
newer.
It is open source — systemonemodels/systemonemodels-sdk on
GitHub, Apache-2.0 — so you can read exactly what it does with your token.
pip install systemonemodels
Sign in
systemone login
The CLI shows an eight-letter code and opens systemonemodels.tech/device in your browser. Check the code matches, choose Authorize, and the terminal finishes on its own. The token it receives is listed under Settings → Access tokens as "CLI · your-machine", where you can revoke it.
Over SSH, or anywhere a browser cannot open, the CLI prints the address instead —
open it on your laptop or phone and type the code. --no-browser does the same
on purpose.
For CI and scripts, skip the browser and use a token created in settings:
systemone login --token "$SYSTEMONE_TOKEN" # store it
export SYSTEMONE_TOKEN=s1_pat_... # or just set it; nothing is stored
systemone whoami
The stored token lives in your config directory with 0600 permissions.
systemone logout forgets it.
Discover
systemone search snake
systemone search --capability route --architecture laya --sort downloads
systemone show biplov/snake-balanced-multilingual
--sort takes relevance, recent, stars, downloads, accuracy or
latency.
Pull
systemone pull biplov/snake-balanced-multilingual --variant onnx-int8
systemone pull biplov/snake-balanced-multilingual --version 0.1.0 --dest ./snake
Files are cached by content, so a second pull downloads nothing and two variants
that share a tokenizer store it once. --dest links the tree into a folder of
your choosing instead of printing the cache path. systemone cache info shows
where the cache is and how big it has grown; systemone cache clear empties it.
Create and push
systemone create you/support-router
systemone validate ./support-router/systemone.yaml
systemone push ./support-router --repo you/support-router --version 0.1.0
push uploads a directory as a new version. Files already in the registry are
not uploaded again, so republishing with one changed file sends one file. Useful
options:
--variant onnx-int8puts the files under that folder, so one repository can hold several exports of the same model.--manifest path/to/systemone.yamluses that manifest instead of inferring one from the files.--notesadds release notes,--privatecreates the repository private, and--dry-runshows what would be uploaded without sending anything.
validate runs the same check the registry does, so a manifest that passes
locally will not be rejected on push. Publishing needs a verified email address.
In Python
from systemone import snapshot_download
path = snapshot_download("biplov/snake-balanced-multilingual", variant="onnx-int8")
# path is a local directory with the version's files, served from the cache
# on every call after the first.
Running a model is up to the runtime it was exported for — ONNX Runtime, Core ML
and so on. The repository's model card says which, and show prints its runtime.