Skip to content

feat: PyPI release infrastructure — publish via uv tool install#11

Merged
nazq merged 1 commit intomainfrom
feat/pypi-release
Mar 15, 2026
Merged

feat: PyPI release infrastructure — publish via uv tool install#11
nazq merged 1 commit intomainfrom
feat/pypi-release

Conversation

@nazq
Copy link
Copy Markdown
Owner

@nazq nazq commented Mar 15, 2026

Summary

Prepare drasill for publishing to PyPI. After merge + release PR:
uv tool install drasill works.

  • pyproject.toml: v0.2.0, authors, license, classifiers, URLs
  • drasill install hm: downloads hm from heimdall GitHub releases
  • .github/workflows/release.yml: release-please + PyPI trusted publishing
  • scripts/fetch-hm.sh included as wheel package data
  • Wheel verified: templates, static assets, scripts all present

Test plan

  • uv build produces valid wheel
  • Wheel contains templates/, static/, scripts/fetch-hm.sh
  • 214 tests passing, 96% coverage
  • drasill install hm tested: platform detection, unsupported platform error
  • PyPI trusted publishing configured (pending publisher: nazq/Drasill, release.yml)

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.13%. Comparing base (71ee84a) to head (2384c47).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
+ Coverage   96.11%   96.13%   +0.02%     
==========================================
  Files          15       15              
  Lines        1054     1061       +7     
==========================================
+ Hits         1013     1020       +7     
  Misses         41       41              

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…kflow

Prepare for publishing to PyPI via uv tool install drasill.

- Add pyproject.toml metadata: version 0.2.0, authors, license,
  classifiers, project URLs, keywords
- Add drasill install hm command: downloads hm binary from heimdall
  GitHub releases, detects platform, extracts to ~/.local/bin
- Add .github/workflows/release.yml: release-please + PyPI trusted
  publishing (no API token needed)
- Include scripts/fetch-hm.sh as package data in wheel
- Verify wheel builds and contains templates, static, scripts
- 214 tests passing, 96% coverage
@nazq nazq force-pushed the feat/pypi-release branch from fa76ca2 to 2384c47 Compare March 15, 2026 20:33
@nazq nazq merged commit 199b599 into main Mar 15, 2026
3 checks passed
@nazq nazq deleted the feat/pypi-release branch March 15, 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