Metadata-Version: 2.4
Name: antioch-py
Version: 4.0.2
Summary: Antioch Python Module SDK
Author-email: Antioch Robotics <support@antioch.dev>
License-Expression: MIT
Project-URL: Homepage, https://antioch.com
Keywords: robotics,simulation,middleware,sdk,modules
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: docker>=7.0.0
Requires-Dist: eclipse-zenoh>=1.5.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: msgpack==1.1.1
Requires-Dist: msgpack>=1.1.1
Requires-Dist: numpy>=1.26.0
Requires-Dist: ormsgpack>=1.6.0
Requires-Dist: pydantic>=2.11.6
Requires-Dist: pydantic>=2.11.7
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: rerun-sdk<0.31,>=0.30.0
Requires-Dist: scipy==1.15.3
Requires-Dist: sortedcontainers-stubs>=2.4.3
Requires-Dist: sortedcontainers>=2.4.0
Dynamic: license-file

# antioch-py

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

## Overview

`antioch-py` provides the client library for building Antioch modules — the core computational units that run inside Arks. Modules contain nodes that execute callbacks on a deterministic schedule, communicating via tokens.

## Installation

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

## Quick Start

```python
from antioch import Module, Execution

def my_callback(execution: Execution) -> None:
    input_data = execution.input("sensor_data")
    result = process(input_data)
    execution.output("processed", result)

module = Module()
module.register("my_node", my_callback)
module.spin()
```

## Key Concepts

- **Module** — main entry point that handles configuration, node registration, and lifecycle management
- **Node** — a computational unit that runs in its own thread on a deterministic schedule
- **Execution** — passed to node callbacks, provides access to inputs, outputs, hardware read/write, and logging

## Documentation

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

## License

MIT
