Requires Python 3.11+.
pip install -r requirements.txt
pip install ruff pytest
# Lint
ruff check .
ruff check --fix . # auto-fix safe violations
# Run all tests
pytest -v
# Run a single test
pytest -v tests/path/to/test_file.py::test_name
python -m app
Binds to http://localhost:8100. See Getting started for options.
The version string lives in app/__init__.py and is the single source of truth —
the health endpoint, Docker image tag, and UI footer all read from it.
# app/__init__.py
__version__ = "0.1.0-beta.2"
ruff check .
pytest -v
All checks must pass before tagging.
git add app/__init__.py
git commit -m "Bump version to 0.1.0-beta.2"
git tag v0.1.0-beta.2
git push origin main
git push origin v0.1.0-beta.2
Pushing the tag triggers release.yml, which re-runs the test suite as a gate,
then builds and pushes the Docker image to
ghcr.io/michaelyagi/argus and michaelyagi/argus on Docker Hub,
and creates a GitHub Release with autogenerated notes. Pre-release tags (containing
-) are marked as pre-releases automatically; stable tags get the
latest tag on both registries.
Monitor progress at github.com/MichaelYagi/argus/actions.