Sublinear Python SDK
The official Python client for submitting robot videos and trajectories to Sublinear foundation reward models.
Installation
pip install sublinear-sdk
The PyPI distribution is named sublinear-sdk, while the Python import package is named sublinear:
from sublinear import Sublinear
Quick start
Create an API key from the Sublinear dashboard, then submit a local MP4 video:
import os
from sublinear import Sublinear
client = Sublinear(api_key=os.environ["SUBLINEAR_API_KEY"])
response = client.responses.create(model="sole-r1", task_description="Fold the clothing.", video_path="episode.mp4")
print(response.rewards)
print(response.success)
You can also provide RGB video frames directly as a list or NumPy array with shape (frames, height, width, 3):
import os
import numpy as np
from sublinear import Sublinear
client = Sublinear(api_key=os.environ["SUBLINEAR_API_KEY"])
video_frames = np.load("video_frames.npy")
response = client.responses.create(model="robometer", task_description="Fold the clothing.", video_frames=video_frames)
print(response.rewards)
print(response.success)
Multiple videos
Pass video_paths to process multiple videos. The SDK submits jobs concurrently, up to max_parallel_jobs at a time.
import os
from sublinear import Sublinear
client = Sublinear(api_key=os.environ["SUBLINEAR_API_KEY"], max_parallel_jobs=8)
response = client.responses.create(model="sole-r1", task_description="Pick up the cube.", video_paths=["episode_1.mp4", "episode_2.mp4"])
print(response.rewards)
print(response.success)
Available models
sole-r1— reasoning-based robot trajectory evaluationrobometer— dense task-progress reward estimationtopreward— visual reward estimation across robot tasksroboreward— general-purpose robot reward prediction
Documentation
Full documentation and additional input formats are available at sublinear.dev/docs.
Package layout
This project uses a src layout:
sublinear-sdk/
├── pyproject.toml
├── README.md
└── src/
└── sublinear/
├── __init__.py
└── core.py
Your src/sublinear/__init__.py should expose the public client:
from .core import Sublinear
__all__ = ["Sublinear"]
Development
Install the package locally in editable mode:
python -m pip install -e .
Build the source distribution and wheel:
python -m pip install --upgrade build
python -m build
Before publishing, verify the package metadata and archives:
python -m pip install --upgrade twine
python -m twine check dist/*
Publish to PyPI:
python -m twine upload dist/*
License
MIT
Release files for sublinear-sdk 0.0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sublinear_sdk-0.0.0.1.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sublinear_sdk-0.0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.5 kB
Release files / sublinear_sdk-0.0.0.1.tar.gz
| Download URL | sublinear_sdk-0.0.0.1.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
526a9bc37edfc4816afcbead114a6e72513dcab96e68e0519a66b235c822670e
|
|
BLAKE2b-256 checksum How to use checksums |
e984f1aac622e877c49aca771b6af938a3e1cde224ee443297509c50c0a9202d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / sublinear_sdk-0.0.0.1-py3-none-any.whl
| Download URL | sublinear_sdk-0.0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c05fa38faed97be8b3c6d64f36024f23b65748fd6cc318f81bd20f06756467ad
|
|
BLAKE2b-256 checksum How to use checksums |
8e53a1abf40f246a275751cd9c783f4e27c208355396dee0373d14d15de54635
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|