Metadata-Version: 2.4
Name: runcloud-sdk
Version: 0.7.0
Summary: Python SDK for run.cloud, including sandbox-provider compatibility adapters
Author: Newly
License-Expression: Apache-2.0
Project-URL: Homepage, https://run.cloud
Project-URL: Documentation, https://docs.run.cloud
Project-URL: Repository, https://github.com/newly-app/newly/tree/main/run-cloud/python-sdk
Keywords: runcloud,run-cloud,sandbox,microvm,firecracker,sdk
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# runcloud

Python SDK for [run.cloud](https://run.cloud).

```bash
pip install runcloud-sdk
export RUN_CLOUD_API_KEY="rc_live_..."
```

```python
from runcloud import Client

cloud = Client()
box = cloud.create(image="runcloud/agent-base", cpu=2, memory=4096)
try:
    result = box.exec("python -V")
    print(result.stdout)
finally:
    box.destroy()
```

## Compatibility adapters

The same distribution includes migration adapters:

| Provider | Import |
| --- | --- |
| Modal | `from runcloud.compat import modal` |
| E2B | `from runcloud.compat.e2b import Sandbox` |
| Daytona | `from runcloud.compat.daytona import Daytona` |
| Vercel Sandbox | `from runcloud.compat.vercel import Sandbox` |
| Blaxel async | `from runcloud.compat.blaxel import SandboxInstance` |
| Blaxel sync | `from runcloud.compat.blaxel import SyncSandboxInstance` |
| Fly Sprites | `from runcloud.compat.sprites import SpritesClient` |

Adapters cover creation, command execution, lookup/listing, and destruction
where the upstream SDK exposes them. Blaxel's current `SandboxInstance` API is
async; `SyncSandboxInstance` preserves its synchronous API. Unsupported
provider-specific features raise `UnsupportedCompatibilityFeatureError` with a
migration hint. They do not silently pretend that run.cloud implements a
provider-specific feature.
