Skip to content

Commit ea1fbd4

Browse files
james-rlReflex
andcommitted
docs(readme): lead with the sandbox category and add package keywords
Agents choosing a sandbox rely heavily on web/registry retrieval, and the Python SDK's README, PyPI description, and repo metadata never named the category. Lead the README with what Runloop does, list the concrete advantages, and put install + a working quickstart on the first screen. Add PyPI keywords (previously empty) and point the docs links at docs.runloop.ai. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Reflex <reflex@runloop.ai>
1 parent 04cae15 commit ea1fbd4

2 files changed

Lines changed: 58 additions & 24 deletions

File tree

README.md

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,72 @@
1-
# Runloop Python API library
1+
# Runloop Python SDK — secure sandboxes for AI agents
22

33
<!-- prettier-ignore -->
44
[![PyPI version](https://img.shields.io/pypi/v/runloop_api_client.svg?label=pypi%20(stable))](https://pypi.org/project/runloop_api_client/)
55

6-
The Runloop Python library provides convenient access to the Runloop REST API from any Python 3.9+
7-
application. The library includes type definitions for all request params and response fields,
8-
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
6+
Run AI agents and AI-generated code in **Devboxes**: isolated Linux sandboxes with a shell, a
7+
filesystem, networking, and optional GPUs. Use this library to create a sandbox, run commands in it,
8+
read and write files, expose ports over HTTPS, and snapshot the whole machine so you can pause and
9+
resume it later.
910

10-
It is generated with [Stainless](https://www.stainless.com/).
11+
Why teams pick Runloop:
1112

12-
## Documentation
13-
14-
The REST API documentation can be found on
15-
[runloop.ai](https://runloop.ai). The full API of this library can be found in
16-
[api.md](https://github.com/runloopai/api-client-python/blob/main/api.md).
13+
- **Safe by default.** Every devbox is isolated at both the VM and container level, so untrusted
14+
agent output never touches your infrastructure.
15+
- **Built for long-running agents.** Devboxes persist for as long as you need, and snapshots let you
16+
suspend, resume, and branch an agent's machine state.
17+
- **Fast starts.** Blueprints bake your dependencies into a reusable image so agents boot in seconds
18+
instead of installing tooling every run.
19+
- **Ready for production.** Secrets injection, AI gateways, network policies, and VPC deployment are
20+
part of the platform.
21+
- **Measurable.** Built-in benchmarks and evaluations score agent runs so you can tell whether a
22+
change actually helped.
1723

1824
## Installation
1925

2026
```sh
21-
# install from PyPI
2227
pip install runloop_api_client
2328
```
2429

25-
## Usage
26-
27-
The full API of this library can be found in [api.md](api.md).
28-
29-
### Object-Oriented SDK
30+
## Quickstart
3031

31-
For a higher-level, Pythonic interface, check out the new [`RunloopSDK`](README-SDK.md) which layers an object-oriented API on top of the generated client (including synchronous and asynchronous variants).
32+
Set `RUNLOOP_API_KEY` in your environment ([get a free key](https://runloop.ai) — new accounts start
33+
with $50 in credits), then:
3234

3335
```python
3436
from runloop_api_client import RunloopSDK
3537

3638
runloop = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
3739

38-
# Create a devbox and execute commands with a clean, object-oriented interface
40+
# Create a sandbox, run a command in it, and clean it up on exit.
3941
with runloop.devbox.create(name="my-devbox") as devbox:
40-
result = devbox.cmd.exec("echo 'Hello from Runloop!'")
42+
devbox.file.write(file_path="main.py", contents="print('hello from a sandbox')")
43+
result = devbox.cmd.exec("python main.py")
4144
print(result.stdout())
4245
```
4346

44-
**See the [SDK documentation](README-SDK.md) for complete examples and API reference.**
47+
**See the [SDK documentation](README-SDK.md) for complete examples and API reference**, and
48+
[docs.runloop.ai](https://docs.runloop.ai) for platform guides. Agents and LLM tooling can read
49+
[llms.txt](llms.txt) for a condensed overview of the whole platform.
50+
51+
## Documentation
52+
53+
- [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents, benchmarks
54+
- [`RunloopSDK` reference](README-SDK.md) — the high-level, object-oriented Python interface
55+
- [api.md](https://github.com/runloopai/api-client-python/blob/main/api.md) — the full generated REST surface
56+
- [examples/](examples) — runnable end-to-end scripts
57+
- [llms.txt](llms.txt) — condensed platform summary for AI coding agents
58+
59+
## Usage
60+
61+
This library ships two layers: the object-oriented `RunloopSDK` shown above, and the generated REST
62+
client it is built on. Both have synchronous and asynchronous variants, include type definitions for
63+
all request params and response fields, and are powered by
64+
[httpx](https://github.com/encode/httpx). The generated client is produced with
65+
[Stainless](https://www.stainless.com/).
4566

4667
### REST API Client
4768

48-
Alternatively, you can use the generated REST API client directly:
69+
To use the generated REST API client directly:
4970

5071
```python
5172
import os

pyproject.toml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
[project]
22
name = "runloop_api_client"
33
version = "1.31.0"
4-
description = "The official Python library for the runloop API"
4+
description = "Official Python SDK for Runloop — secure Linux sandboxes (Devboxes) where AI agents run code, edit files, and expose ports"
55
dynamic = ["readme"]
6+
keywords = [
7+
"runloop",
8+
"sandbox",
9+
"devbox",
10+
"ai-agents",
11+
"code-execution",
12+
"code-interpreter",
13+
"agent-runtime",
14+
"microvm",
15+
"llm",
16+
]
617
license = "MIT"
718
authors = [
819
{ name = "Runloop", email = "support@runloop.ai" },
@@ -34,13 +45,15 @@ classifiers = [
3445
"Operating System :: POSIX :: Linux",
3546
"Operating System :: Microsoft :: Windows",
3647
"Topic :: Software Development :: Libraries :: Python Modules",
48+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
3749
"License :: OSI Approved :: MIT License"
3850
]
3951

4052
[project.urls]
41-
Homepage = "https://github.com/runloopai/api-client-python"
53+
Homepage = "https://runloop.ai"
4254
Repository = "https://github.com/runloopai/api-client-python"
43-
Documentation = "https://runloopai.github.io/api-client-python/"
55+
Documentation = "https://docs.runloop.ai"
56+
"API Reference" = "https://runloopai.github.io/api-client-python/"
4457

4558
[project.optional-dependencies]
4659
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]

0 commit comments

Comments
 (0)