Skip to content

Development

The development environment uses uv:

make install        # create .venv with the package and dev tools
make hooks          # install the pre-commit hooks
make test           # run the tests (no hardware needed: a pseudo-terminal stands in for the module)
make test-linux     # same, in a Linux Docker container (PY=3.10 to pick the Python version)
make test-hardware  # against a real EnOcean stick configured in .env (see .env.example), local only
make cov            # tests with coverage
make lint           # ruff (including docstrings) + mypy --strict
make docs           # serve this documentation locally
make eep            # regenerate the profiles from the official specification

The test suite covers every profile (structure, round trips, a snapshot of the decoding), property-based tests of the parser, end-to-end tests of the communicators on a pseudo-terminal, and telegrams captured from real devices. The examples of this documentation are run by the test suite.