Metadata-Version: 2.3
Name: echelon-sdk
Version: 0.1.1
Summary: Plugin SDK for the Echelon platform
License: MIT
Author: AscenderTeam
Requires-Python: >=3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Project-URL: Homepage, https://github.com/echelon-agents/echelon
Description-Content-Type: text/markdown

# echelon-sdk

Python SDK for building [Echelon](https://github.com/zahcoder34/echelon) plugins.

## Install

```bash
pip install echelon-sdk
```

## Usage

```python
from echelon import EchelonPlugin, StopPropagation

class MyPlugin(EchelonPlugin):
    def init(self):
        self.on("message:incoming", self.on_message)

    def on_message(self, ctx: dict) -> dict:
        ctx["content"] = ctx["content"].strip()
        return ctx

    def shutdown(self):
        self.log.info("goodbye")
```

Place your plugin in `{workdir}/plugins/<id>/` with a `manifest.json` alongside the entrypoint. Echelon loads it automatically on startup with hot-reload on file changes.

