Metadata-Version: 2.4
Name: fastvm
Version: 0.1.0
Summary: Async Python SDK for the FastVM microVM platform
Project-URL: Homepage, https://fastvm.org
Project-URL: Documentation, https://fastvm.org/docs
Project-URL: Source, https://github.com/fastvm/fastvm-sdk
License-Expression: Apache-2.0
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: AsyncIO
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Requires-Dist: websockets>=13.0
Description-Content-Type: text/markdown

# FastVM Python SDK

Async Python SDK for the [FastVM](https://fastvm.org) microVM platform. Launch, snapshot, restore, and run commands on microVMs with zero-poll status waits over a persistent WebSocket channel.

## Installation

```bash
uv add fastvm
```

## Quick Start

```bash
export FASTVM_API_KEY="your-key"
```

```python
from fastvm import FastVM

async with FastVM() as client:
    vm = await client.launch(machine="c1m2")
    snapshot = await client.snapshot(vm, name="my-snap")
    restored = await client.restore(snapshot)
    result = await client.run(restored, "echo hello")

    print(result.stdout)  # hello
```

## Documentation

See the [FastVM documentation](https://fastvm.org/docs) for the full API reference and guides.

## Examples

```bash
uv run examples/create-vm.py      # launch a VM and run commands
uv run examples/large_fanout.py   # snapshot + restore 25 VMs concurrently
```

## Benchmarks

```bash
uv sync
uv run pytest
```

## License

Apache-2.0
