Python SDK for Servo's hosted robot model API
Project description
servo-client
The public Python SDK for Servo's hosted robot model API.
Servo gives robotics teams one typed API for working with hosted robot policies, world models, datasets, fine-tuning jobs, evaluations, and deployments. Your application talks to Servo resources; Servo handles model-specific adapters, compatibility checks, provider orchestration, and usage tracking behind the hosted API.
Install
pip install servo-client
Quickstart
import os
import servo
from servo import templates
sv = servo.Servo(
api_key=os.environ["SERVO_API_KEY"],
)
robot = sv.robots.register(templates.so101())
obs = templates.sample_observation(robot)
model = sv.models.get("smolvla")
model.inspect(robot) # compatibility, cameras, action space, readiness
chunk = model.policy(robot, instruction="pick up the cube").act(obs)
print(chunk.actions[0])
What You Can Do
- Call hosted policy models through
model.policy(robot).act(observation). - Inspect model/robot compatibility before sending actions to hardware.
- Register robots, datasets, models, checkpoints, deployments, and jobs.
- Stream data, curate rollout failures, fine-tune, evaluate, and redeploy through one client.
- View hosted usage and billing state for your organization.
Authentication
Servo uses organization-scoped API keys:
export SERVO_API_KEY="sk_..."
Pass the key to servo.Servo(...); the client sends it as Authorization: Bearer <key>.
The SDK uses Servo's hosted control plane by default. Set SERVO_BASE_URL only to target a
different deployment, such as http://127.0.0.1:8000 during local development.
Package Boundary
This distribution contains only the public servo client and servo_contracts wire contracts. It
does not include servo_platform, Modal app launchers, FastAPI routes, SQLAlchemy models, provider
credentials, private endpoint URLs, or other hosted-service backend code.
Requirements
- Python 3.12+
- A Servo hosted API URL and organization API key
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file servo_client-0.1.2-py3-none-any.whl.
File metadata
- Download URL: servo_client-0.1.2-py3-none-any.whl
- Upload date:
- Size: 79.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23c8550350744c61824607662ba76763d355772df6d0fe2afa64a28436c0e8e8
|
|
| MD5 |
b9b9381e61907e9aa98de557c0fd3fe8
|
|
| BLAKE2b-256 |
cb78ac6ad8a8eef4653d3ec949a84ab8b39f55ae588768a9ca1019ea42e0ab66
|
Provenance
The following attestation bundles were made for servo_client-0.1.2-py3-none-any.whl:
Publisher:
pypi-publish.yml on npow/servo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
servo_client-0.1.2-py3-none-any.whl -
Subject digest:
23c8550350744c61824607662ba76763d355772df6d0fe2afa64a28436c0e8e8 - Sigstore transparency entry: 2213053916
- Sigstore integration time:
-
Permalink:
npow/servo@fbc92b6765befd9e3c6700a4e7d9d9887724b357 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/npow
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@fbc92b6765befd9e3c6700a4e7d9d9887724b357 -
Trigger Event:
release
-
Statement type: