- Python 3.12 or later
- Poetry 2.0 or later
# Install all dependencies including dev tools (ruff, mypy, pytest, etc.)
$ poetry install --no-rootEither activate the environment:
$ poetry env activateOr prefix commands with poetry run (shown in the examples below).
src/ # Application source code
main.py # Entry point
tests/ # Test suite
examples/ # Sample configuration files
$ poetry run python src/main.py -u <saic-user> -p <saic-pwd> -m tcp://localhost:1883You can also create a .env file in the project root with your configuration:
SAIC_USER=your-user
SAIC_PASSWORD=your-password
MQTT_URI=tcp://localhost:1883
Then simply run:
$ poetry run python src/main.pyThe CI pipeline runs the following checks on every push and pull request. Run them locally before submitting a PR:
# Type checking
$ poetry run mypy
# Linting
$ poetry run ruff check .
# Tests with coverage
$ poetry run pytest tests --cov- PRs should target the
developbranch - Ensure all CI checks pass (mypy, ruff, pytest)