[private] default: @just --list # create venv, install dependencies setup: uv sync # install the other tools: prek, mise # builds a package (tgz and whl) build: uv build # console to observe log messages console: uv run textual console the_app := "teilchensammler_cli.main" # run app with logs going to console run-dev: uv run textual run --dev {{ the_app }} # run the app run: uv run python -m {{ the_app }} uv_export_options := "--frozen --format requirements.txt --quiet --no-install-project" # export dependencies into requirements files exports-deps: uv export {{ uv_export_options }} --output-file requirements.txt uv export {{ uv_export_options }} --output-file requirements.dev.txt --only-dev # Update dependencies to new versions update-deps: uv lock --upgrade uv sync # Run tests, args are passed-through to pytest test *ARGS: uv run pytest tests.py {{ ARGS }} # run tests and create coverage reports coverage: uv run pytest tests.py --cov=src/ --cov-report term --cov-report xml --cov-report html --cov-config pyproject.toml # lint python code lint-python: uv run ruff check . # lint markdown documents lint-markdown: markdownlint-cli2 . # run python and markdown lint: lint-python lint-markdown # remove artefacts from dist/ clean: rm dist/*.whl dist/*.tar.gz # pretend we are CI ci: lint prek run --all-files # woodpecker-cli exec "whatever" # create a new realese [CURRENTLY USELESS] release: @echo remember to git tag and update pyproject.toml uv build # upload to package registry # send newsletter # take over the world