Development
While not strictly a necessity, we assume that you installed the following developer dependencies:
in the text below.
Install
For development we recommend you clone the repository and install the package with uv:
uv venv --allow-existing
uv sync --all-extras
Check
just check
Test
Preparation
Please make sure that you sensor node has the name
Test-STHSet the environment variable
DYNACONF_SENSOR_NODE__EUIto the MAC address of your sensor node. You can find this address using the command:uv run icon list
If there is only a single node with the name
Test-STHyou can use the following nu shell command to set the environment variable:$env.DYNACONF_SENSOR_NODE__EUI = (uv run icon list | grep Test-STH | sed -E 's/.*MAC Address: ([0-9A-F-]+).*/\1/')
The tests will fail if you use recent sensor nodes with firmware 4.x or later for running the tests, since they report their own MAC address incorrectly.
Running
To run the tests, please use the following command:
just test
Release
Note: In the text below we assume that you want to release version <VERSION> of the package. Please just replace this version number with the version that you want to release (e.g. 0.2).
Make sure that all the checks and tests work correctly locally
just
Make sure all workflows of the CI system work correctly
Check that the most recent “Read the Docs” build of the documentation ran successfully
Release a new version on PyPI:
Increase version number
Add git tag containing version number
Push changes
just release <VERSION>
Open the release notes for the latest version and create a new release
Paste them into the main text of the release web page
Insert the version number into the tag field
For the release title use “Version
”, where <VERSION>specifies the version number (e.g. “Version 0.2”)Click on “Publish Release”
Note: Alternatively you can also use the
ghcommand:gh release create
to create the release notes.