Skip to main content

🪽 AOT-Toolkit — Offline Attack on Titan Python Toolkit

PyPI version License: MIT Python 3.10+

AOT-Toolkit is a production-ready Python package for Attack on Titan fans and developers who want:

  • 🧠 Offline lore access (characters, titans, quotes) with no API dependency.
  • 🗡️ ODM and combat simulation primitives for games, experiments, and CLI storytelling.
  • 🖥️ A rich terminal UX with side-by-side themed rendering and instant battle simulation.

✨ Highlights

  • Zero-network data access via local JSON datasets.
  • Fuzzy lookup support for character and titan names.
  • ODM gear model with gas consumption and blade durability logic.
  • Combat narrative engine that generates cinematic encounter reports.
  • CLI commands for system+lore fetches and direct battle simulation.

📦 Installation

pip install AOT-Toolkit

🖥️ CLI Usage

After installation, the aot command is available globally.

aot fetch

Displays a polished side-by-side output featuring:

  • Wings of Freedom ASCII art
  • System information (OS/kernel/CPU/RAM/uptime)
  • Scout rank estimation
  • Random quote from the offline database
aot fetch

aot battle [char_name] [titan_name]

Runs the combat simulator directly from your terminal and prints a styled battle report.

aot battle "Levi Ackerman" "Beast Titan"

You can also use fuzzy names:

aot battle Levi Armored

🐍 Python API Usage

1) Database access (offline lore queries)

from aot.core.database import AoTDatabase


db = AoTDatabase()

levi = db.get_character("Levi")
beast = db.get_titan("Beast")
quote = db.get_random_quote(tag="motivational")

print(levi["full_name"])
print(beast["name"], beast["special_abilities"])
print(f"{quote['character_name']}: {quote['quote_text']}")

2) Engine usage (ODM + combat)

from aot.core.database import AoTDatabase
from aot.engine.combat import CombatSimulator
from aot.engine.odm_gear import ODMGear

# ODM simulation
gear = ODMGear(gas_capacity=100.0, blade_durability=100)
print(gear.grapple(distance_m=90.0, speed="fast"))

# Hardened armor affects blade durability significantly
strike = gear.attack_nape(
    titan_armor_level=4,
    titan_abilities=["hardened_armor", "high_endurance"],
)
print(strike)

# Combat narrative simulation
db = AoTDatabase()
simulator = CombatSimulator(db)
report = simulator.simulate_encounter("Mikasa Ackerman", "War Hammer Titan")
print(report)

🎬 Showcase Demo

A complete demonstration script is provided:

python examples/demo.py

The demo will:

  1. Fetch and print a random quote.
  2. Run a quick ODM grapple simulation and print gas usage.
  3. Simulate Levi Ackerman vs Beast Titan and print the narrative result.

🧱 Project Structure

.
├── aot/
│   ├── cli/                # Rich-powered terminal commands
│   ├── core/               # Offline database and exceptions
│   ├── data/               # Characters, titans, quotes JSON datasets
│   └── engine/             # ODM gear + combat simulation
├── examples/
│   └── demo.py             # End-to-end showcase script
├── tests/
├── .github/workflows/
│   └── publish-to-pypi.yml
├── pyproject.toml
└── README.md

🚀 Release & Publishing

The repository includes an automated GitHub Actions workflow to:

  • Build source/wheel distributions on version tags (v*)
  • Publish to TestPyPI
  • Publish to PyPI on tag push

See: .github/workflows/publish-to-pypi.yml


🤝 Contributing

Contributions are welcome. If you submit PRs, please include:

  • Unit tests for new behavior
  • Clear docstrings and type hints
  • Updated README snippets for public-facing API changes

📄 License

Distributed under the MIT License. See LICENSE.

Metadata

Release files for aot-toolkit 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aot-toolkit 0.1.0
File Size Uploaded
aot_toolkit-0.1.0.tar.gz 30.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aot-toolkit 0.1.0
File Interpreter ABI Platform
aot_toolkit-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 60.5 kB

Release files / aot_toolkit-0.1.0.tar.gz

Download URL aot_toolkit-0.1.0.tar.gz
Size 30.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d3818811431d9fe8defe1e3f952fa89c40a042cd0b9fc6ff21ef4e3924dac0a8
BLAKE2b-256 checksum
How to use checksums
f1deea78bcbb9a8eb7a1169bac2ba90b4e5c11954bb65232410f740286f6d261
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / aot_toolkit-0.1.0-py3-none-any.whl

Download URL aot_toolkit-0.1.0-py3-none-any.whl
Size 30.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7565f38278ab8b9d3ef7112e6f2a3e00a8447c1d17a96cfcfd6c6e212a51e121
BLAKE2b-256 checksum
How to use checksums
c8a28e904dbdcfc3fc65cd80ecc209884fdfafdd3d0587a439bf43cd9e8c9fa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page