Metadata-Version: 2.4
Name: outio-code
Version: 0.1.0
Summary: OutioCode — autonomous code agent on the Outio platform. Specification-first workflow engine forked from Ouroboros (MIT).
Author-email: Outio <support@outio.app>, Q00 <jqyu.lee@gmail.com>
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: aiosqlite<1.0.0,>=0.20.0
Requires-Dist: anyio<5.0.0,>=4.0.0
Requires-Dist: jsonschema<5.0.0,>=4.21.0
Requires-Dist: prompt-toolkit<4.0.0,>=3.0.0
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: pyyaml<7.0.0,>=6.0.0
Requires-Dist: questionary<3.0.0,>=2.0.0
Requires-Dist: rich<15.0.0,>=13.0.0
Requires-Dist: sqlalchemy[asyncio]<3.0.0,>=2.0.0
Requires-Dist: structlog<26.0.0,>=24.0.0
Requires-Dist: typer<1.0.0,>=0.12.0
Provides-Extra: all
Requires-Dist: anthropic<1.0.0,>=0.52.0; extra == 'all'
Requires-Dist: claude-agent-sdk<1.0.0,>=0.1.0; extra == 'all'
Requires-Dist: litellm<=1.82.6,>=1.80.0; extra == 'all'
Requires-Dist: mcp<2.0.0,>=1.26.0; extra == 'all'
Requires-Dist: pandas<3.0.0,>=2.2.0; extra == 'all'
Requires-Dist: plotly<7.0.0,>=5.24.0; extra == 'all'
Requires-Dist: streamlit<2.0.0,>=1.40.0; extra == 'all'
Requires-Dist: textual<9.0.0,>=1.0.0; extra == 'all'
Provides-Extra: claude
Requires-Dist: anthropic<1.0.0,>=0.52.0; extra == 'claude'
Requires-Dist: claude-agent-sdk<1.0.0,>=0.1.0; extra == 'claude'
Provides-Extra: copilot
Provides-Extra: dashboard
Requires-Dist: pandas<3.0.0,>=2.2.0; extra == 'dashboard'
Requires-Dist: plotly<7.0.0,>=5.24.0; extra == 'dashboard'
Requires-Dist: streamlit<2.0.0,>=1.40.0; extra == 'dashboard'
Provides-Extra: litellm
Requires-Dist: litellm<=1.82.6,>=1.80.0; extra == 'litellm'
Provides-Extra: mcp
Requires-Dist: mcp<2.0.0,>=1.26.0; extra == 'mcp'
Provides-Extra: tui
Requires-Dist: textual<9.0.0,>=1.0.0; extra == 'tui'
Description-Content-Type: text/markdown

# OutioCode

> Agent de code autonome qui planifie, édite, exécute et se corrige.
> Branché sur ta plateforme [Outio](https://outio.app) — tes clés, tes
> crédits, tes modèles. Aucune fuite vers OpenAI/Anthropic en direct.

OutioCode est un fork rebrandé d'[Ouroboros](https://github.com/Q00/ouroboros)
(MIT). Le moteur agentique est identique ; ce qui change, c'est la
couche de routage des modèles — toutes les requêtes LLM passent par
l'endpoint OpenAI-compatible d'Outio (`/api/v1/chat/completions`).

## Installation

```bash
pipx install outio-code           # recommandé (isolé)
# ou
pip install outio-code             # dans ton venv courant
```

## Configuration (30 secondes)

1. Va sur [outio.app/dashboard/settings?tab=integrations](https://outio.app/dashboard/settings?tab=integrations)
   et crée une clé API. Elle commence par `outio_sk_…`.
   *Nécessite un forfait Business* (l'API programmatique est gated).

2. Exporte la clé dans ton shell :

   ```bash
   export OUTIO_API_KEY="outio_sk_..."
   ```

   Optionnel — si tu utilises une instance Outio self-hosted ou un
   environnement non-prod :

   ```bash
   export OUTIO_API_BASE="https://outio.app/api/v1"  # défaut
   ```

3. C'est tout. Le défaut runtime est `outio` — aucune autre config requise.

## Premier run

```bash
outio-code init                              # initialise un nouveau projet
outio-code run seed.yaml                     # exécute le seed
outio-code run seed.yaml --model claude-sonnet-4-5
```

Les `--model` acceptent les **slugs internes Outio** (`claude-sonnet-4-5`,
`gpt-4o`, `gemini-2.5-pro`, etc.). Le catalogue complet est sur
[outio.app/admin/models](https://outio.app/admin/models) si tu es admin,
ou via l'API `GET https://outio.app/api/models`.

## Coûts

Chaque appel LLM débite tes crédits Outio selon les tarifs admin :
- 1–30 crédits par 1M tokens prompt
- 1–30 crédits par 1M tokens completion
- Plancher 1 crédit par requête

Tu peux suivre ta consommation en temps réel sur
[outio.app/dashboard/plans](https://outio.app/dashboard/plans) ou via
le champ `outio.creditsDebited` que renvoie chaque réponse.

## Backends alternatifs

Si tu préfères passer par ton compte Claude Code, Codex, Gemini CLI,
Copilot CLI, Goose ou un LiteLLM en direct, change la variable d'env :

```bash
export OUROBOROS_RUNTIME=claude_code   # ou litellm, codex, gemini_cli…
```

Tous les backends Ouroboros upstream restent disponibles — OutioCode
ajoute juste le backend `outio` et en fait le défaut.

## Licence

MIT, comme Ouroboros upstream. Le code applicatif (Outio platform)
reste propriétaire à Outio ; le CLI lui-même est libre.

## Crédits

- Moteur agentique : [Ouroboros](https://github.com/Q00/ouroboros) par Q00 (MIT)
- Plateforme + intégration : [Outio](https://outio.app)
