feat: make package PyPI-installable and add release workflow#6
Merged
Conversation
Replace the git-sourced first-party deps with normal versioned PyPI requirements so the built wheel resolves under `pip install spotanomaly2`: - pyproject: pin spotanomaly2-safe>=0.1.0, spotforecast2>=3.5.0, spotforecast2-safe>=15.6.0; drop [tool.uv.sources] and [tool.hatch.metadata].allow-direct-references entirely. - uv.lock: re-resolve from PyPI (spotforecast2 0.22.4->3.5.0, spotforecast2-safe 2.0.1->15.6.0, spotoptim 0.10.3->0.12.4). Fix the API break the version jump exposed: OneStepAheadFold moved from spotforecast2.model_selection to spotforecast2_safe.splitter. Update the tuner adapter import and the two test imports. Full suite green (401 passed, 3 xfailed) against the PyPI-pinned versions. Add the release pipeline (adapted from spotanomaly2-safe): - .github/workflows/release.yml: semantic-release + PyPI trusted publishing (id-token: write). back-merge job omitted (single-branch). - .releaserc.json: conventional-commits config that bumps the pyproject version, builds, and creates the GitHub release. - REUSE.toml: annotate .releaserc.json and the generated CHANGELOG.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
🎉 This PR is included in version 2.1.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
Why
spotanomaly2could not be installed from PyPI: three first-party deps were pulled from git via[tool.uv.sources], which is stripped from the built wheel, leaving unresolvable bare requirements. There was also no release workflow.What
Dependencies → PyPI
spotanomaly2-safe>=0.1.0,spotforecast2>=3.5.0,spotforecast2-safe>=15.6.0as normal versioned requirements.[tool.uv.sources]and[tool.hatch.metadata].allow-direct-references.uv.lockfrom PyPI (spotforecast20.22.4→3.5.0,spotforecast2-safe2.0.1→15.6.0,spotoptim0.10.3→0.12.4).Fix API break the version jump exposed
OneStepAheadFoldmovedspotforecast2.model_selection→spotforecast2_safe.splitter. Updated the tuner adapter import + two test imports. Suite green: 401 passed, 3 xfailed;ruff+reuse lintpass.Release pipeline (adapted from
spotanomaly2-safe).github/workflows/release.yml: semantic-release + PyPI trusted publishing (id-token: write). Noback-mergejob (single-branch setup)..releaserc.json: conventional-commits config that bumps thepyprojectversion, builds, and creates the GitHub release.REUSE.toml: annotate.releaserc.jsonand the generatedCHANGELOG.md.Before merging — required
spotanomaly2, ownersequential-parameter-optimization, repospotanomaly2, workflowrelease.yml, environment blank. Must exist before the first run or the publish step fails.mainperforms a live, irreversible PyPI publish. Thev2.0.0baseline tag is seeded, so thisfeat:cuts2.1.0.🤖 Generated with Claude Code