Metadata-Version: 2.4
Name: axiomai-engine
Version: 0.1.3
Summary: Headless LLM-driven narrative game engine: persistent SQLite universes, LLM-arbitrated turns, event sourcing/rewind, vector memory.
Author: Axiom AI
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/Frosoore/AxiomAI
Project-URL: Documentation, https://frosoore.github.io/AxiomAI/
Project-URL: Repository, https://github.com/Frosoore/AxiomAI
Project-URL: Issues, https://github.com/Frosoore/AxiomAI/issues
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
License-File: NOTICE
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

LLM-driven narrative game engine, **headless** (no GUI required).

- Persistent SQLite universes, versionable as a plain-text tree ("Universe-as-Code")
- LLM-arbitrated narration (Gemini, Ollama, or any OpenAI-compatible endpoint)
- Event sourcing: every turn is replayable, in-game time can be *rewound* (`rewind`)
- Long-term vector memory (ChromaDB + sentence-transformers)
- Game modes: Normal, Hardcore (permadeath), Companion (AI co-piloted hero)
- Full CLI: `axiom play`, `axiom compile`, `axiom populate`, `axiom save-*` …

## Installation

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

## Quick start

```python
import axiom
axiom.help()   # built-in guide: 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("MyUniverse.db", "Alice", "Normal")

s = axiom.Session("MyUniverse.db", save_id, llm=llm)
result = s.take_turn("I push open the tavern door.")
print(result.narrative_text)
```

## Documentation

Guides (Universe-as-Code, CLI, saves, populate, backends, images) and full API
reference, in English and French:
**https://frosoore.github.io/AxiomAI/**

## Project

Source code, GUI application (the engine's showcase) and issue tracker:
**https://github.com/Frosoore/AxiomAI**

## License

AGPL-3.0-or-later — see `LICENSE`. Attribution is required when redistributing
(AGPLv3 §7(b) additional term) — see `NOTICE`.

*This package is developed in the [Axiom AI](https://github.com/Frosoore/AxiomAI)
mono-repo, whose GUI application showcases the engine. Version 0.1.3.*
