chore(license): add SPDX identifiers to all source files - #173
Merged
Conversation
PyreWire is dual-licensed (Apache-2.0 OR GPL-3.0-or-later) and declares
this at the package level in pyproject.toml, but no source file carried a
per-file SPDX tag. Add
# SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
to every .py file under src/, tests/, examples/, scripts/ and setup.py
(after the shebang where present), making the license machine-discoverable
for REUSE/SPDX tooling and downstream redistribution.
Add tests/test_spdx_headers.py as a contract test that fails the build if
any source file is missing the tag or declares a different expression, so
the headers cannot silently drift.
Merged
justinjoy
added a commit
that referenced
this pull request
Jun 19, 2026
PyreWire-only maintenance release. Bumps the project and runtime version to 1.0.2 and records the release in CHANGELOG.md and docs/versioning.md. Changes since 1.0.1 are CI/tooling and metadata only: - actions/checkout v6->v7 and pypa/cibuildwheel v4.0.0->v4.1.0 (#171, #172) - SPDX license headers on all source files + enforcement test (#173) - expanded Errors reference documentation The public API is unchanged and the bundled/validated wirelog ref remains v0.51.0 (0c6e0cdaee7db069be5d8d896bb59bdcb15673e9); the runtime wirelog floor remains 0.44.0. Update the version-pinning contract tests (release metadata, changelog compare links) to track 1.0.2.
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.
What
Adds
# SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-laterto every Python source file (104 files undersrc/,tests/,examples/,scripts/, andsetup.py), inserted after the shebang where one exists.Why
PyreWire is dual-licensed and declares
license = "Apache-2.0 OR GPL-3.0-or-later"inpyproject.toml, but no source file carried a per-file SPDX tag (audit: 0 of 104). Per-file tags are what make the license machine-discoverable for REUSE/SPDX tooling and downstream redistribution.Enforcement
Adds
tests/test_spdx_headers.py— a contract test (mirroring this repo's existing workflow/version contract tests) that fails the build if any source file is missing the tag or declares a different expression, so headers cannot silently drift as new files are added.No functional/code changes; comments only + one new test. Module docstrings remain the first statement and are unaffected.