Repackage against boilerplate-python - #23
Merged
Merged
Conversation
Move library/plasma and library/tests to the repo root. Replace setup.py/setup.cfg with a hatchling pyproject.toml, add tox.ini, Makefile, pre-commit and the boilerplate install/uninstall scripts. fx/plasmafx and fx/plasmafx_plugin_cycle get their own pyproject.toml; the cycle plugin declares its entry point in [project.entry-points]. Workflows rewritten as test/qa/build/install, uv-driven, Python 3.9-3.13. Delete packaging/ (Python 2 debian, dead since the 2.0.0 port) and sphinx/ (built via packaging/makedoc.sh); install.sh generates docs with pdoc instead. plasmafx.plugins now loads entry points via importlib.metadata; pkg_resources is absent on 3.12+.
iksaif
approved these changes
Aug 23, 2026
Point GitHub URLs at plasma-python; pimoroni/plasma is a different repo. daemon: install plasmalights to /etc/plasma/plasma with pip --target and add it to sys.path, so the daemon works under PEP 668. png stays on apt since it's imported before the path insert. Bump to 3.0.0 with a CHANGELOG entry for the repackage.
plasmalights builds from the tag via uv-dynamic-versioning and publishes to PyPI over OIDC when a GitHub release is published. No API token in the repo; configure the publisher at pypi.org/manage/project/plasmalights/settings/publishing/ against publish.yml and the pypi environment. plasma.__version__ now reads back from package metadata. The fx packages keep static versions and the manual make deploy. Makefile inverts: CHANGELOG.md names the next version, make tag cuts it, the build reads it back from the tag. make check now catches a CHANGELOG whose top entry is tagged. fallback-version covers check-manifest and sdist rebuilds. publish.yml compares the built version against the tag. Actions bumped to checkout v7, setup-python v7, upload-artifact v7, setup-uv v10.0.1. Full history where the version matters.
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.
Move library/plasma and library/tests to the repo root. Replace setup.py/setup.cfg with a hatchling pyproject.toml, add tox.ini, Makefile, pre-commit and the boilerplate install/uninstall scripts.
fx/plasmafx and fx/plasmafx_plugin_cycle get their own pyproject.toml; the cycle plugin declares its entry point in [project.entry-points].
Workflows rewritten as test/qa/build/install, uv-driven, Python 3.9-3.13.
Delete packaging/ (Python 2 debian, dead since the 2.0.0 port) and sphinx/ (built via packaging/makedoc.sh); install.sh generates docs with pdoc instead.
plasmafx.plugins now loads entry points via importlib.metadata; pkg_resources is absent on 3.12+.