Skip to content

feat: add Python wheels and checksums to GitHub releases#90

Merged
fgogolli merged 2 commits intomainfrom
feat/add-wheels-to-github-releases
Jan 5, 2026
Merged

feat: add Python wheels and checksums to GitHub releases#90
fgogolli merged 2 commits intomainfrom
feat/add-wheels-to-github-releases

Conversation

@fgogolli
Copy link
Copy Markdown
Contributor

@fgogolli fgogolli commented Jan 5, 2026

Description

This PR adds Python wheels and checksums to GitHub releases, enabling users to download distribution files directly from GitHub without requiring PyPI access.

Type of Change

  • New feature (non-breaking change which adds functionality)
  • CI/CD or build process changes

Related Issues

Addresses the need for alternative distribution methods and offline installation support.

How Has This Been Tested?

  • Manual testing performed
  • Built package locally and verified checksum generation
  • Tested build script modifications
  • Validated semantic-release configuration syntax

Test Configuration

  • Python version: 3.11
  • OS: macOS
  • AWS region: N/A
  • Dependencies changed: None

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

This change enhances the release process by:

  1. Adding dist_glob_patterns to semantic-release configuration to upload:

    • *.whl (Python wheel files)
    • *.tar.gz (Source distribution)
    • checksums.txt (SHA256 checksums for verification)
  2. Modifying build script to automatically generate SHA256 checksums for all distribution files

  3. Benefits:

    • Users can download wheels directly from GitHub releases
    • Provides backup distribution method independent of PyPI
    • Supports air-gapped environments and offline installations
    • Includes checksums for security verification

Performance Impact

  • No significant performance impact
  • Minimal overhead from checksum generation during build

Security Considerations

  • Security improved
  • Provides SHA256 checksums for package integrity verification

Dependencies

No new dependencies added.

Deployment Notes

  • Changes take effect on the next release
  • Files will be automatically attached to GitHub releases
  • No manual intervention required

@fgogolli fgogolli force-pushed the feat/add-wheels-to-github-releases branch from 12bbdca to ab5825e Compare January 5, 2026 20:13
- Add dist_glob_patterns to semantic-release configuration to upload dist/* and checksums.txt
- Add version_toml configuration to let semantic-release handle pyproject.toml updates
- Modify build script to generate SHA256 checksums for all distribution files
- Simplify build target to remove complex version logic - semantic-release handles versioning
- Keep valuable build functionality: cleanup, dependency management, checksum generation
- Enables users to download wheels directly from GitHub releases with integrity verification

Files attached to releases:
- *.whl (Python wheel)
- *.tar.gz (Source distribution)
- checksums.txt (SHA256 checksums for verification)
@fgogolli fgogolli force-pushed the feat/add-wheels-to-github-releases branch from ab5825e to a131c62 Compare January 5, 2026 20:22
- Use 'make build' instead of 'python -m build' to get checksums and enhanced build features
- Enable PyPI publishing with 'dist = true'
- Add dist_glob_patterns to upload wheels and checksums to GitHub releases

Workflow: version → build → tag → GitHub release → attach files → PyPI publish
@fgogolli fgogolli merged commit 9ef8c7b into main Jan 5, 2026
45 checks passed
@fgogolli fgogolli deleted the feat/add-wheels-to-github-releases branch January 5, 2026 20:36
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.

1 participant