outrun-ai (Python)
Python client for the Outrun API. Outrun is a prepaid, OpenAI-compatible API: one key for GPT, Claude, Gemini, Grok, DeepSeek, GLM, Kimi, Qwen and MiniMax models. This package is a thin wrapper over the official openai package with the base URL and API key set for you, so everything the OpenAI SDK does still works.
Install
pip install outrun-ai
Quickstart
Create a key at https://outrun.to/key, then:
export OUTRUN_API_KEY="your-key"
from outrun_ai import Outrun
client = Outrun() # reads OUTRUN_API_KEY
print(client.ask("gpt-5.6-terra", "Say hello in five words."))
print(client.ask("deepseek-v4.1-flash", "Name three prime numbers.", system="Be brief."))
You can also pass Outrun(api_key="...", base_url="..."). The default base URL is https://api.outrun.to/v1. If no key is found, the client raises OutrunError.
Streaming
for text in client.ask_stream("deepseek-v4.1-flash", "Write a haiku about rain."):
print(text, end="", flush=True)
Model ids and prices
prices() reads the public price list. It needs no key and costs nothing.
from outrun_ai import prices
for m in prices(kind="text"):
tier = m["tiers"][0]
print(m["id"], tier["prices"].get("input"), tier["prices"].get("output"), "USD per", tier["unit"])
Each item has id (the model name to send), name, family, kind (text, image, video or audio), unit, tiers and paused. Paused models are left out unless you pass include_paused=True. The same list is at https://outrun.to/pricing.
Everything else
Outrun subclasses openai.OpenAI, so the usual calls work unchanged:
client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Hi"}],
)
client.models.list()
AsyncOutrun is the async version (await client.ask(...), async for t in client.ask_stream(...)).
Each API request carries an X-Outrun-SDK: python/<version> header. Nothing else is added.
Links
- Docs: https://outrun.to/docs/
- LangChain:
pip install langchain-outrun(source) - Support: support@outrun.to
License: MIT.
Metadata
Release files for outrun-ai 0.1.0
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 | Actions |
|---|---|---|---|---|
| outrun_ai-0.1.0.tar.gz | 6.9 kB | Without provenance | Details for outrun_ai-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| outrun_ai-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for outrun_ai-0.1.0-py3-none-any.whl |
Total release size: 13.0 kB
Release files / outrun_ai-0.1.0.tar.gz
| Download URL | outrun_ai-0.1.0.tar.gz |
|---|---|
| Size | 6.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e058748e242a55937c93e46ab615009f273af243384cd5bc458a20ae746b83b2
|
|
BLAKE2b-256 checksum How to use checksums |
36ac20caf15277412ed44c077ca56d94687042198e8c9398bab990e82a85f42d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / outrun_ai-0.1.0-py3-none-any.whl
| Download URL | outrun_ai-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a2ff038eadfbeb67d7dec5ddbeaf545c87a3d5e9e280a8f7c8a870ec09a1423
|
|
BLAKE2b-256 checksum How to use checksums |
1d0639e544a2f595183b7c712751b21318b3db1bd9eb5fe8fd8a33e2e6efcfd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for outrun-ai 0.1.0
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.