Skip to content

glanzel/ecu-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECU terminal simulation

Kleines Python-Modell zu einer ökologischen Währung (ECU) an drei planetaren Kontrollvariablen (CO₂, HANPP, Stickstoff). CLI und optional Web-Oberfläche (FastAPI).

Voraussetzungen

  • Python 3.10+
  • uv als Paketmanager (nativer Projekt-Workflow mit pyproject.toml und uv.lock, kein pip install -r)

Projekt-Layout

  • Importpaket: ecu (Ordner ecu/ im Repo-Root, Unterpakete höchstens eine Ebene darunter: ecu/logic/, ecu/simulation/, ecu/ui/).
  • Alle folgenden Befehle gelten im Repo-Root (der Ordner mit pyproject.toml).

Abhängigkeiten mit uv

uv sync                    # nur Basis (aktuell keine Runtime-Deps)
uv sync --group dev        # u. a. pytest
uv sync --group web        # FastAPI, uvicorn, PyJSX
uv sync --all-groups       # dev + web

uv legt standardmäßig eine .venv im Projekt an und schreibt uv.lock. Für reproduzierbare Installationen uv.lock versionieren.

Simulation starten (CLI)

uv run python -m ecu --periods 5

Mit Seed:

uv run python -m ecu --periods 5 --seed 1

Optional: Web-Oberfläche

Nach uv sync --group web:

uv run uvicorn ecu.ui.web.app:app --reload --reload-include '*.px'

Darstellung: Tailwind CSS mit Tailwind Typography liegt als gebaute Datei unter ecu/ui/web/static/app.css und wird unter /static ausgeliefert. Zum Neuaufbau nach Style-Änderungen: npm run build:css in ecu/ui/web/, siehe ecu/ui/web/README.md.

Tests

Nach uv sync --group dev:

uv run pytest tests/ -v

Ausgaben der Tests: uv run pytest tests/ -s -v

Lizenz

Siehe LICENSE.

About

Price building Simulation for the Ecological Unit (ecu), a Unit which is based on Planetary Bounderies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors