59 lines
1.9 KiB
TOML
59 lines
1.9 KiB
TOML
[tools]
|
|
python = "3.12"
|
|
hk = "latest"
|
|
pkl = "latest"
|
|
|
|
[tasks]
|
|
# =====================
|
|
# Development
|
|
# =====================
|
|
|
|
test = "uv run pytest"
|
|
test-v = "uv run pytest -v"
|
|
test-cov = "uv run pytest --cov=engine --cov-report=term-missing --cov-report=html"
|
|
test-cov-open = "uv run pytest --cov=engine --cov-report=term-missing --cov-report=html && open htmlcov/index.html"
|
|
|
|
test-browser-install = { run = "uv run playwright install chromium", depends = ["sync-all"] }
|
|
test-browser = { run = "uv run pytest tests/e2e/", depends = ["test-browser-install"] }
|
|
|
|
lint = "uv run ruff check engine/ mainline.py"
|
|
lint-fix = "uv run ruff check --fix engine/ mainline.py"
|
|
format = "uv run ruff format engine/ mainline.py"
|
|
|
|
# =====================
|
|
# Runtime
|
|
# =====================
|
|
|
|
run = "uv run mainline.py"
|
|
run-poetry = "uv run mainline.py --poetry"
|
|
run-firehose = "uv run mainline.py --firehose"
|
|
run-websocket = { run = "uv run mainline.py --websocket", depends = ["sync-all"] }
|
|
run-both = { run = "uv run mainline.py --display both", depends = ["sync-all"] }
|
|
run-client = { run = "uv run mainline.py --display both & WEBSOCKET_PID=$! && sleep 2 && case $(uname -s) in Darwin) open http://localhost:8766 ;; Linux) xdg-open http://localhost:8766 ;; CYGWIN*) cmd /c start http://localhost:8766 ;; *) echo 'Unknown platform' ;; esac && wait $WEBSOCKET_PID", depends = ["sync-all"] }
|
|
|
|
# =====================
|
|
# Environment
|
|
# =====================
|
|
|
|
sync = "uv sync"
|
|
sync-all = "uv sync --all-extras"
|
|
install = "uv sync"
|
|
install-dev = "uv sync --group dev"
|
|
|
|
bootstrap = "uv sync && uv run mainline.py --help"
|
|
|
|
clean = "rm -rf .venv htmlcov .coverage tests/.pytest_cache"
|
|
|
|
# =====================
|
|
# CI/CD
|
|
# =====================
|
|
|
|
ci = "uv sync --group dev && uv run pytest --cov=engine --cov-report=term-missing --cov-report=xml"
|
|
ci-lint = "uv run ruff check engine/ mainline.py"
|
|
|
|
# =====================
|
|
# Git Hooks (via hk)
|
|
# =====================
|
|
|
|
pre-commit = "hk run pre-commit"
|