Metadata-Version: 2.5
Name: codexloop
Version: 0.1.0
Summary: Onion-architected, autonomous OpenAI Codex session runner — never blocks on a human, distinguishes rate limits from exhausted credits, and resumes safely across usage windows.
Project-URL: Homepage, https://github.com/adammatthewsteinberger/codexloop
Project-URL: Repository, https://github.com/adammatthewsteinberger/codexloop
Project-URL: Documentation, https://adammatthewsteinberger.github.io/codexloop/
Project-URL: Issues, https://github.com/adammatthewsteinberger/codexloop/issues
Project-URL: Changelog, https://github.com/adammatthewsteinberger/codexloop/blob/main/CHANGELOG.md
Author-email: Adam Matthew Steinberger <adam@matthewsteinberger.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agent,automation,cli,codex,gpt,llm,openai
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: anyio>=4.0
Requires-Dist: openai>=1.40
Requires-Dist: structlog>=24.1
Requires-Dist: textual>=1.0
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: bandit>=1.7; extra == 'dev'
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: hypothesis>=6.100; extra == 'dev'
Requires-Dist: import-linter>=2.0; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: packaging>=24.0; extra == 'dev'
Requires-Dist: pip-audit>=2.7; extra == 'dev'
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Description-Content-Type: text/markdown

# codexloop

Autonomous OpenAI Codex / GPT session runner. Same job as
[claudeloop](https://github.com/adammatthewsteinberger/claudeloop): never block on
a human, and never treat `insufficient_quota` / billing as a waitable
`rate_limit_exceeded` window.

**Status:** M1–M5 implemented on `feat/m1-pure-core` (onion core, exec gateway,
capacity probes, control plane, generated REST CLI, optional app-server transport
with exec fallback). MIT-licensed; author Adam Matthew Steinberger.

## Install

```bash
pip install -e ".[dev]"
codexloop --version
codexloop doctor
```

## Quick start

```bash
codexloop run path/to/plan.md
codexloop watch --follow
codexloop stop
```

## Plans

| Document | Purpose |
|---|---|
| [docs/plans/architecture-and-roadmap.md](docs/plans/architecture-and-roadmap.md) | Full design / transplant plan from claudeloop 0.5.4 |
| [docs/plans/research-notes.md](docs/plans/research-notes.md) | Vendor SDK/CLI capacity + autonomy research |
| [docs/plans/_shared-transplant-outline.md](docs/plans/_shared-transplant-outline.md) | Cross-product keep/swap + Global Constraints |
| [docs/superpowers/plans/2026-08-13-codexloop-implementation.md](docs/superpowers/plans/2026-08-13-codexloop-implementation.md) | Bite-sized TDD implementation plan |

## Naming

| Item | Value |
|---|---|
| PyPI / CLI | `codexloop` |
| Env prefix | `CODEXLOOP_*` |
| State dir | `.codexloop/` |
| Done marker | `CODEXLOOP_TASK_FULLY_COMPLETE` |

## License

MIT — see [LICENSE](LICENSE).

## Publishing

Releases go **TestPyPI → PyPI** via Trusted Publishing. See
[docs/publishing.md](docs/publishing.md).
