Metadata-Version: 2.4
Name: axiomai-engine
Version: 0.1.0
Summary: Moteur de jeu narratif piloté par LLM (headless) : univers persistants SQLite, arbitrage LLM, event-sourcing/rewind, mémoire vectorielle.
Author: Axiom AI
License-Expression: AGPL-3.0-or-later
Keywords: llm,game-engine,narrative,interactive-fiction,headless
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Games/Entertainment :: Role-Playing
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: chromadb>=1.0.0
Requires-Dist: sentence-transformers>=2.2.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: google-genai>=1.0.0
Requires-Dist: tomlkit>=0.13.0
Requires-Dist: requests>=2.31.0
Dynamic: license-file

# axiomai-engine

Moteur de jeu narratif piloté par LLM, **headless** (aucune interface graphique requise).

- Univers persistants en SQLite, versionnables en arborescence texte (« Universe-as-Code »)
- Narration arbitrée par LLM (Gemini, Ollama, ou tout endpoint OpenAI-compatible)
- Event-sourcing : chaque tour est rejouable, le temps de jeu est *rembobinable* (`rewind`)
- Mémoire vectorielle long-terme (ChromaDB + sentence-transformers)
- Modes de jeu : Normal, Hardcore (mort permanente), Companion (héros co-piloté par IA)
- CLI complet : `axiom play`, `axiom compile`, `axiom populate`, `axiom save-*` …

## Installation

```bash
pip install axiomai-engine
```

## Démarrage rapide

```python
import axiom
axiom.help()   # guide intégré : API, modules, CLI
```

```python
from axiom.config import load_config, build_llm_from_config
from axiom.db_helpers import create_new_save

llm = build_llm_from_config(load_config())
save_id = create_new_save("MonUnivers.db", "Alice", "Normal")

s = axiom.Session("MonUnivers.db", save_id, llm=llm)
result = s.take_turn("J'ouvre la porte de la taverne.")
print(result.narrative_text)
```

## Licence

AGPL-3.0-or-later — voir `LICENSE`.

*Ce package est développé dans le mono-repo Axiom AI, dont l'application graphique
sert de vitrine au moteur. Version 0.1.0.*
