Runsite Python SDK
Use Runsite services from your Python code — transactional email, object storage, configuration and secrets, with end-user auth coming soon.
runsite.app · Documentation · API Reference · Runsite CLI
What is the Runsite Python SDK?
runsite is a typed Python library that your application imports to use
Runsite services at runtime, the same way boto3 is used for AWS.
When your code runs on Runsite, the clients configure themselves from environment
variables the platform sets for your service, so there is nothing to wire up.
Features
| Module | What it does | Status |
|---|---|---|
runsite.email |
Send transactional email, check delivery status, verify delivery webhooks | 🚧 in progress |
runsite.storage |
S3-compatible object storage: buckets, files, access keys | 🚧 in progress |
runsite.secrets |
Typed reads of configuration and secrets, manage service variables | 🚧 in progress |
runsite.auth |
End-user authentication for your apps | 🔜 coming soon |
Every client comes in a sync and an async flavour, raises typed errors and retries transient failures.
Install
pip install runsite-sdk # email + secrets
pip install "runsite-sdk[storage]" # + object storage (boto3)
or with uv:
uv add runsite-sdk
uv add "runsite-sdk[storage]"
Requires Python 3.10+. The package is installed as runsite-sdk and imported as runsite.
Quick start
import runsite
# Email
runsite.email.send(
to="user@example.com",
subject="Welcome aboard",
html="<p>Thanks for signing up!</p>",
)
# Secrets and configuration
database_url = runsite.secrets.get("DATABASE_URL")
# Object storage
bucket = runsite.storage.bucket()
bucket.upload("avatars/42.png", image_bytes)
Module-level shortcuts use a default client built from the environment. For tests, multiple accounts or async code, create clients explicitly:
from runsite import AsyncEmail
email = AsyncEmail(api_key="...")
await email.send(to="user@example.com", subject="Hi", text="Hello!")
Configuration
| Variable | Used by | Set by |
|---|---|---|
EMAIL_API_KEY, EMAIL_API_URL |
email |
the platform, when an email service is connected |
S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_ENDPOINT_URL, S3_BUCKET, S3_REGION |
storage |
the platform, when a bucket is connected |
RUNSITE_API_KEY |
managing secrets and buckets | you (ak_live_... from the dashboard) |
Roadmap
- Email: send, status, webhook verification
- Secrets: typed reads, set and delete service variables
- Storage: buckets, objects, access keys
- First release on PyPI
- Auth: end-user authentication
Related
- Runsite CLI: github.com/runsite-platform/runsite-cli
- Public API: docs.runsite.app/api-reference/public-api
- All docs: docs.runsite.app
- Dashboard: runsite.app
License
MIT — see LICENSE.
Metadata
Release files for runsite-sdk 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 | Provenance | |
|---|---|---|---|---|
| runsite_sdk-0.0.1.tar.gz | 4.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runsite_sdk-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.8 kB
Release files / runsite_sdk-0.0.1.tar.gz
| Download URL | runsite_sdk-0.0.1.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd2b05fcb587d458a014ea67d9dfe9b3eb68316bfe9e83192cce6b82df3c46ba
|
|
BLAKE2b-256 checksum How to use checksums |
1629bdd70b5d730a63adce1dbc5c579bf892b16da3f132e81b16d1a784293b8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / runsite_sdk-0.0.1-py3-none-any.whl
| Download URL | runsite_sdk-0.0.1-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ec02fe8add2b51f00b9405225a092b826e810c8c1bad03bc846cc5500ecd867
|
|
BLAKE2b-256 checksum How to use checksums |
8a791fb014ea601da6e9d378b137adcf69c75907a549975ec5b1e354ba85b6f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for runsite-sdk 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.