Skip to content

Add pip distribution via platform-specific wheels - #66

Merged
lubyant merged 1 commit into
mainfrom
pip-packaging
Aug 8, 2026
Merged

lubyant merged 1 commit into
mainfrom
pip-packaging

Conversation

@lubyant

@lubyant lubyant commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Wraps the existing static dsas binaries in a new python/ package (opendsas): a thin dsas console-script launcher that execs the bundled binary, no compilation needed.
  • Extends release.yml with a package-pip matrix job that builds a wheel per platform and retags it (wheel tags) to manylinux2014_x86_64, manylinux2014_aarch64, macosx_11_0_arm64, and win_amd64, and a publish-pypi job that publishes them to PyPI via trusted publishing (OIDC, no token secret) on tag push.
  • Wheels are also attached to the GitHub release alongside the existing raw binaries.
  • README gets a pip install opendsas section.

Setup required before this can publish

PyPI trusted publishing must be registered once at https://pypi.org/manage/account/publishing/ for project opendsas, owner lubyant, repo OpenDSAS, workflow release.yml, environment pypi. opendsas is currently unclaimed on PyPI. Until that's configured, package-pip and the release-asset attachment still work — only the final publish-pypi step will fail.

Test plan

  • Built and retagged a wheel locally with a stub binary (python -m build + python -m wheel tags), confirmed the resulting .whl has the right platform tag and file layout (opendsas/bin/dsas present, executable).
  • Installed the wheel into a clean venv and confirmed dsas <args> execs the bundled binary and forwards args correctly.
  • End-to-end verification of the CI jobs (package-pip / publish-pypi) on an actual tag push, once trusted publishing is registered on PyPI.

🤖 Generated with Claude Code

Wraps the existing static dsas binaries in per-platform wheels (embedded
binary + thin launcher that execs it), retagged with `wheel tags` for
manylinux/macosx/win, and published to PyPI via trusted publishing on tag
push. `pip install opendsas` now works alongside the existing curl/brew
install paths.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.48%. Comparing base (6a0241c) to head (7fc2018).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #66   +/-   ##
=======================================
  Coverage   93.48%   93.48%           
=======================================
  Files          16       16           
  Lines         937      937           
  Branches      416      416           
=======================================
  Hits          876      876           
  Misses         12       12           
  Partials       49       49           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lubyant
lubyant merged commit cb40831 into main Aug 8, 2026
19 checks passed
@lubyant
lubyant deleted the pip-packaging branch August 8, 2026 06:59
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