Skip to content

Repackage against boilerplate-python - #23

Merged
Gadgetoid merged 3 commits into
masterfrom
repackaging
Aug 24, 2026
Merged

Repackage against boilerplate-python#23
Gadgetoid merged 3 commits into
masterfrom
repackaging

Conversation

@Gadgetoid

Copy link
Copy Markdown
Member

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+.

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+.
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.
@Gadgetoid
Gadgetoid merged commit b50abe0 into master Aug 24, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants