Packaging update & gpiodevice interrupt handling - #40
Open
Gadgetoid wants to merge 11 commits into
Open
Conversation
- hatchling dynamic optional-dependencies via hatch-requirements-txt - [dependency-groups] dev; ruff import sorting (drop isort/black) - pre-commit + editorconfig; uv-based CI and tox qa - requires-python >= 3.9, classifiers 3.9-3.13 - remove check.sh, requirements-dev.txt, .stickler.yml
Replaces the hand-rolled _t_poll_ioexpander (select.poll loop + manual thread + _polling flag + __del__ join) with the canonical gpiodevice.watch_pin watcher. Declare the previously-undeclared gpiodevice dependency.
Replaces the hand-rolled select.poll loops. weather.py queues events and drains them in update() rather than acting on them from the watch thread. Changing view there would race the render: get_current_view reads _current_view then _current_subview, so a concurrent next_subview can index out of range.
Broken since the port to gpiod. It imported RPi.GPIO, which does not work on Pi 5, and called GPIO.handlers, which was never an RPi.GPIO API. It was undocumented, referenced by nothing, and shipped in the sdist.
Badge tracked master, default branch is main. pyproject requires 3.9, not the 3.7 inherited from boilerplate.
Also adds the Changelog heading used by the current boilerplate.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requires a new build of gpiodevice, which needs pimoroni/gpiodevice-python#8