Enable Automated Multi-Platform PyPI Releases & Fix Metadata #7
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.
This PR implements a fully automated CI/CD pipeline for publishing
scallopsto PyPI. It enables the creation of optimized binary wheels for Linux, Windows, and macOS (including Apple Silicon) via GitHub Actions.Additionally, this PR drastically reduces the package distribution size (from ~500MB to ~500KB) and fixes license metadata to ensure correct display on PyPI.
Key Changes
CI/CD & Automation
Added GitHub Workflow: Created
.github/workflows/release.ymlto automatically build and publish wheels when a version tag (e.g.,v0.0.1) is pushed.Cross-Platform Support: Configured
cibuildwheelto generate binary wheels for:Linux (
x86_64)Windows (
amd64)macOS (
x86_64&arm64Apple Silicon)Build Optimization: Configured build to skip incompatible/unused platforms (32-bit, PyPy) to speed up release times.
Package Optimization
MANIFEST.into strictly exclude large test datasets and build artifacts, fixing the400 Bad Requestupload error.pyproject.tomlto correctly link the license file, ensuring the license badge renders correctly on PyPI.Documentation & Licensing
LICENSEfile andpyproject.tomlclassifiers to the BSD 3-Clause License.