Skip to main content

Runtime Python SDK and CLI

Project description

runtime-sdk

Python SDK and CLI for Runtime.

Install

uv tool install runtime-sdk

To upgrade an existing install:

uv tool upgrade runtime-sdk

Configure

The CLI talks to http://127.0.0.1:8080 by default. Override it with:

export RUNTIME_BASE_URL=https://api.runruntime.dev

Or pass --base-url per command.

Usage

# Auth
runtime signup you@example.com --name "Your Name"
runtime verify 123456
runtime whoami
runtime logout
runtime login <api_key>

# Computers
runtime create
runtime list
runtime info <id>
runtime run <id> "echo hello"
runtime run <id> "apt install -y nodejs" --uid 0
runtime publish <id> 3000
runtime delete <id>

Python

from runtime_sdk import RuntimeClient

client = RuntimeClient(base_url="https://api.runruntime.dev", api_key="rt_live_...")

# Create a computer
computer = client.create_computer()
print(computer["public_url"])  # https://goldbird.runruntime.dev

# Run a command
result = client.run_command(computer["id"], "echo hello")
print(result["stdout"])

# Pin the public URL to a local app port
client.publish_port(computer["id"], 3000)

# List, info, delete
computers = client.list_computers()
info = client.get_computer(computer["id"])
client.delete_computer(computer["id"])

Development

For fast local backend iteration:

make local-backend

For deploying and testing against the Hetzner production server:

make sync SERVER_IP=x.x.x.x SSH_USER=root
make smoke

Use make deploy instead of make sync when migrations, env files, Caddy, or systemd units changed.

Run the SDK unit tests through the backend project environment:

uv run python -m unittest scripts.tests.test_runtime_sdk

Release

Preview the next release without changing files:

./scripts/release_runtime_sdk.sh --dry-run

Publish a patch release:

./scripts/release_runtime_sdk.sh --publish

Publish a different version bump:

./scripts/release_runtime_sdk.sh --bump minor --publish

The script loads backend/.env automatically, so UV_PUBLISH_TOKEN can live there.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runtime_sdk-0.2.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runtime_sdk-0.2.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file runtime_sdk-0.2.0.tar.gz.

File metadata

  • Download URL: runtime_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for runtime_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2bea183156ea0f91d7ec037f4481850e565dbdcf90449d55459ce62de96213d1
MD5 ba03db0b748f46196797ca1dbd7ee089
BLAKE2b-256 5a050c8b1571caaaefdebecb78972091977976e2226e2754ecb1ca2b0b7a87fc

See more details on using hashes here.

File details

Details for the file runtime_sdk-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for runtime_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7927945e3e787f8d31bea8305f9242aa8372fc1f6cb24cd90a57c2a16a7052b
MD5 9c79c0a607711a9bffcd00e6fd5a6a3f
BLAKE2b-256 9030d21712fc674bccee1cbe0a333238c76c47a2198dc006cbeb23a2c53e788a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page