Pin Python 3.14 and uv, auto-create .venv, and expose install/test/validate/download tasks.
50 lines
1.2 KiB
TOML
50 lines
1.2 KiB
TOML
min_version = "2024.9.5"
|
|
|
|
[tools]
|
|
python = "3.14"
|
|
uv = "0.11"
|
|
|
|
[env]
|
|
PROJECT_NAME = "{{ config_root | basename }}"
|
|
# Repo liegt auf einem anderen Volume als der uv-Cache → Copy statt Hardlink
|
|
UV_LINK_MODE = "copy"
|
|
# Virtualenv automatisch anlegen und beim Betreten des Projektordners aktivieren
|
|
_.python.venv = { path = ".venv", create = true }
|
|
|
|
[hooks]
|
|
postinstall = "mise run install"
|
|
|
|
[tasks.install]
|
|
description = "Python-Abhängigkeiten aus requirements.txt installieren"
|
|
alias = "i"
|
|
run = """
|
|
if command -v uv >/dev/null 2>&1; then
|
|
uv pip install -r requirements.txt
|
|
else
|
|
python -m ensurepip --upgrade 2>/dev/null || true
|
|
python -m pip install -r requirements.txt
|
|
fi
|
|
"""
|
|
|
|
[tasks.test]
|
|
description = "pytest-Suite"
|
|
alias = "t"
|
|
run = "python -m pytest tests -v"
|
|
|
|
[tasks.validate]
|
|
description = "KB-Frontmatter, Series, Quellen und ID-Refs prüfen"
|
|
alias = "v"
|
|
run = "python scripts/validate_kb.py"
|
|
|
|
[tasks.download]
|
|
description = "Rohdateien aus raw/MANIFEST.yaml prüfen (Dry-Run)"
|
|
run = "python scripts/ingest/download_manifest.py --dry-run"
|
|
|
|
[tasks.download-raw]
|
|
description = "Rohdateien aus raw/MANIFEST.yaml nach raw/ laden"
|
|
run = "python scripts/ingest/download_manifest.py"
|
|
|
|
[tasks.check]
|
|
description = "Tests + KB-Validator"
|
|
depends = ["test", "validate"]
|