Sublinear Python SDK
The official Python client for submitting robot videos and trajectories to Sublinear foundation reward models.
Installation
pip install sublinear
The PyPI distribution is named sublinear, 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/
├── 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
Metadata
Release files for sublinear 0.0.0.2
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-0.0.0.2.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sublinear-0.0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / sublinear-0.0.0.2.tar.gz
| Download URL | sublinear-0.0.0.2.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eef5a4590d854a2f67fa3b02e8701e5e89bc90d030df46ef2b94c1d0011aa811
|
|
BLAKE2b-256 checksum How to use checksums |
a85789c40860b0d1646a3f8786b16a49ca2a6c014cdafad17d89ff3307cdca59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / sublinear-0.0.0.2-py3-none-any.whl
| Download URL | sublinear-0.0.0.2-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b05f810e57de42b12283644a374a307a837990014f94e74388de02b567db99c
|
|
BLAKE2b-256 checksum How to use checksums |
bed281828f11adaf5ba19ddc2cf99af58bb2256c130b33092d8b4889f7d1ad9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|