Metadata-Version: 2.5
Name: fly-harness
Version: 0.5.6
Summary: A minimal microkernel for sparse fly-inspired neural harnesses
Project-URL: Homepage, https://github.com/acnlabs/fly-harness
Project-URL: Source, https://github.com/acnlabs/fly-harness
Project-URL: Documentation, https://github.com/acnlabs/fly-harness/blob/main/docs/docking.md
Project-URL: Changelog, https://github.com/acnlabs/fly-harness/releases
Author: fly-harness contributors
License-Expression: MIT
License-File: LICENSE
Keywords: connectome,microkernel,neuroscience,sparse
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
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: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: numpy>=1.24
Requires-Dist: scipy>=1.10
Provides-Extra: biorouter
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == 'dev'
Provides-Extra: flybrain
Requires-Dist: flybrain>=0.1; extra == 'flybrain'
Provides-Extra: flygym
Requires-Dist: flygym-gymnasium>=1.2.0; extra == 'flygym'
Provides-Extra: mcp
Requires-Dist: fastmcp>=2.0; extra == 'mcp'
Description-Content-Type: text/markdown

# fly-harness

[English](README.md) | [中文](README.zh-CN.md)

**v0.5.6** — fly-harness sits around a biological sim: obs → encode → Model.tick → decode → action.

Start with the shipped 24-neuron fixture. Same loop if you later plug in a sim you run and swap that Model.

<video src="docs/media/visual-demo/fly-walking.mp4" poster="docs/media/visual-demo/01-walking.png" width="800" controls muted loop playsinline></video>

[15 s walk (mp4)](docs/media/visual-demo/fly-walking.mp4) — NeuroMechFly on `FlatTerrain`: walk, then left touch, then right touch.

<p align="center">
  <img src="docs/media/visual-demo/01-walking.png" alt="WALKING. HUD: brain 24 LIF fixture, legs CPG." width="32%">
  <img src="docs/media/visual-demo/02-touch-left.png" alt="TOUCH LEFT. turn +1. CPG L 1.20 R 0.40." width="32%">
  <img src="docs/media/visual-demo/03-touch-right.png" alt="TOUCH RIGHT. turn -1. CPG L 0.40 R 1.20." width="32%">
</p>

The clip is **usage**, not a kernel feature: 24-neuron LIF fixture at the brain slot, FlyGym CPG still on the legs.

## Install

Python 3.10+ with `numpy` and `scipy`. Fixture included.

```bash
pip install fly-harness
fly-harness-check
```

Same `obs → FlyHarness.step → action` loop if you later swap Model (`examples/swap_brain.py` / `fly-harness-swap-brain-demo`). Optional extras (FlyGym, biorouter, flybrain) live in [docs/usage.md](docs/usage.md). Contract: [docs/docking.md](docs/docking.md).

## What this is not

- Not a 166,700-neuron MaleCNS brain, consciousness, or upload
- Not Google-hosted, not the FlyWire website
- Not better walking than FlyGym's own controllers
- Not a marketplace, hosted catalog, or OpenRouter-the-company

## License

MIT — see [LICENSE](LICENSE).
