Metadata-Version: 2.4
Name: pad-lattice
Version: 0.2.0
Summary: Human-in-the-loop control surfaces for monitoring and directing multiple AI agents.
Author: Manuel Rueda
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/mrueda/pad-lattice
Project-URL: Documentation, https://mrueda.github.io/pad-lattice/
Project-URL: Repository, https://github.com/mrueda/pad-lattice
Project-URL: Issues, https://github.com/mrueda/pad-lattice/issues
Keywords: agent-monitoring,agent-supervision,ai-agents,browser,codex,codex-cli,control-surface,desktop-app,elgato,human-agent-interaction,human-in-the-loop,launchpad,midi,midi-controller,multi-agent,novation,openai,physical-interface,stream-deck,virtual-control-surface,visual-language,visual-protocol
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mido>=1.3
Requires-Dist: python-rtmidi>=1.5
Requires-Dist: segno<2,>=1.6
Requires-Dist: websockets<17,>=16
Provides-Extra: desktop-build
Requires-Dist: pyinstaller<7,>=6.11; extra == "desktop-build"
Provides-Extra: schema
Requires-Dist: jsonschema<5,>=4.23; extra == "schema"
Provides-Extra: release
Requires-Dist: build>=1.2; extra == "release"
Requires-Dist: twine>=5.1; extra == "release"
Dynamic: license-file

<div align="center">
  <a href="https://github.com/mrueda/pad-lattice">
    <img src="https://raw.githubusercontent.com/mrueda/pad-lattice/main/assets/pad-lattice-logo.svg" width="220" alt="Pad-Lattice logo">
  </a>
  <p><em>Physical and virtual control surfaces for AI agents</em></p>
</div>

# Pad-Lattice

[![Build](https://github.com/mrueda/pad-lattice/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/mrueda/pad-lattice/actions/workflows/build-and-test.yml)
[![Desktop installers](https://github.com/mrueda/pad-lattice/actions/workflows/build-desktop.yml/badge.svg?branch=main)](https://github.com/mrueda/pad-lattice/actions/workflows/build-desktop.yml)
[![Documentation Status](https://github.com/mrueda/pad-lattice/actions/workflows/documentation.yml/badge.svg)](https://github.com/mrueda/pad-lattice/actions/workflows/documentation.yml)
[![Python](https://img.shields.io/badge/python-%3E%3D3.10-blue)](https://github.com/mrueda/pad-lattice/blob/main/pyproject.toml)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/mrueda/pad-lattice/blob/main/LICENSE)

**🖥️ Desktop app:** <https://mrueda.github.io/pad-lattice/docs/usage/install>

**🎛️ Try the virtual pad:** <https://mrueda.github.io/pad-lattice/play/>

**📘 Documentation:** <https://mrueda.github.io/pad-lattice/>

**See which Codex CLI session needs you, then act on it.** Pad-Lattice uses
colors and glyphs to show agent activity. Select a session to approve or reject
a pending request, or stop a running turn. Prompts and replies stay in Codex.

Use the desktop app, a phone or tablet browser, a
[Novation Launchpad](https://mrueda.github.io/pad-lattice/docs/usage/launchpad),
or an [Elgato Stream Deck](https://mrueda.github.io/pad-lattice/docs/usage/stream-deck)
(experimental plugin). All share the same visual language. **No hardware is required.**

<div align="center">
  <img src="docs-site/static/img/human-control-workflow.svg" width="1200" alt="Codex asks for approval, physical and virtual pads light up, and one human press returns a targeted action">
</div>

## Get Started

**Desktop is recommended.** Follow the
[installation guide](https://mrueda.github.io/pad-lattice/docs/usage/install)
and [Quick Start](https://mrueda.github.io/pad-lattice/docs/usage/quickstart).
Python is bundled; Codex CLI must be installed and authenticated separately.

Prefer a terminal? Install with `pipx install pad-lattice` and follow
[CLI Setup](https://mrueda.github.io/pad-lattice/docs/usage/cli).

The public playground is a simulation. Hardware support and testing status are
listed in the [Device Catalog](https://mrueda.github.io/pad-lattice/docs/usage/device-catalog).

[Changelog](CHANGELOG.md) · [Citation](CITATION.cff) · [Technical guide](https://mrueda.github.io/pad-lattice/docs/technical-details/)

## License

Copyright (C) 2026 Manuel Rueda.
Distributed under the [Apache License 2.0](LICENSE).
