# antioch-py

Python SDK for the [Antioch](https://antioch.com) robotics simulation platform.

## Overview

The antioch-py package provides two main components:

### Module SDK (`antioch.module`)

Build robotics software modules in Python. The Module SDK is designed to be installed inside your module's Dockerfile, giving you access to the Antioch runtime for processing sensor data, controlling actuators, and communicating with other modules.

```python
from antioch.module import Module, Image, JointTargets

class MyController(Module):
    def execute(self, image: Image) -> JointTargets:
        # Your control logic here
        ...
```

### Session SDK (`antioch.session`)

Build and orchestrate simulation sessions programmatically. The Session SDK lets you create scenes, spawn robots, configure sensors, and run tasks from Python scripts or notebooks.

```python
from antioch.session import Session, Scene, Articulation

async with Session() as session:
    scene = await session.create_scene()
    robot = await scene.spawn(Articulation, usd_path="robot.usd")
    await scene.play()
```

## Installation

```bash
pip install antioch-py
```

### Docker (for modules)

```dockerfile
FROM python:3.12-slim

RUN pip install antioch-py

COPY . /app
WORKDIR /app

CMD ["python", "main.py"]
```

## Documentation

Visit [antioch.com](https://antioch.com) for full documentation and examples.

## License

MIT
