Require both siblings from the releases that now carry what this tree calls - #769
Merged
Conversation
… calls `btclib_secp256k1>=0.8.0.1` and `bitcoin-core-rpc>=2026.8.13`, where each was a `git+...@main` direct reference: `keys.PubkeyTweakChain` (issue #685) is published now, and so are `assert_chain` and the two magic lookups `network.py` stopped carrying. Neither floor is an upgrade -- the bindings' tag is the commit uv.lock pinned plus its release-notes commit, and bitcoin-core-rpc's is the pinned commit plus a Windows CI fix, a README line and the version bump -- so what moves is the shape of the pin, not the code resolved. The prose and the comments that described the reference follow it back: CONTRIBUTING.md's dependency paragraph names the two floors again, test.yml's matrix selects a published wheel per cell rather than compiling one, and latest.yml's suite-bindings-latest upgrades to a release rather than to the tip of a branch. RELEASING.md keeps the warning that made the reference worth documenting, stated as a condition rather than as the arrangement: PyPI refuses a direct reference in metadata and nothing before publish-pypi catches one, so a floor is the only pin a release may carry. The dist job's constraints are whole again. #767 dropped the two siblings from the export with --no-emit-package because uv refuses a branch url against the commit the lock resolved, once the branch has moved past it -- which cost that job its determinism, deliberately and for want of an alternative. A floor resolves to a release and a release does not move, so the exception goes and every package is pinned to the lock again; #767's other half, the regex that lets tests/build_system_test.py collect on 3.10, is untouched, and its CHANGELOG entry keeps that half alone. Two names those comments had wrong are corrected while they are being rewritten: the jobs are suite-latest and suite-bindings-latest, which published.yml also misnamed, and test.yml cited a floor three releases old. The gates: 26455 passed at 100.00% coverage, pre-commit clean, sphinx -W clean. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Sorry @fametrano, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
Contributor
Reviewer's GuideSwitches btclib’s two sibling dependencies from git@main direct references to pinned release floors, restores full constraints export in the dist smoke test, and updates CI/documentation to reflect release-based pins and correct job naming, while keeping the latest-bindings workflows focused on testing new releases rather than branch tips. Sequence diagram for latest.yml upgrade workflows using released bindingssequenceDiagram
actor Maintainer
participant GitHubActions as latest_workflow
participant uv as uv_cli
participant PyPI as pypi_registry
Maintainer->>GitHubActions: trigger latest.yml
GitHubActions->>uv: uv lock --upgrade
uv->>PyPI: resolve all dependencies to newest releases
PyPI-->>uv: release versions (including btclib_secp256k1)
uv-->>GitHubActions: updated uv.lock
GitHubActions->>GitHubActions: run pytest (suite-latest)
GitHubActions->>uv: uv lock --upgrade-package btclib_secp256k1
uv->>PyPI: resolve btclib_secp256k1 to newest release
PyPI-->>uv: btclib_secp256k1>=0.8.0.1 or newer
uv-->>GitHubActions: updated uv.lock
GitHubActions->>GitHubActions: run pytest (suite-bindings-latest)
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
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.
btclib_secp256k1>=0.8.0.1andbitcoin-core-rpc>=2026.8.13, where eachwas a
git+...@maindirect reference:keys.PubkeyTweakChain(issue #685)is published now, and so are
assert_chainand the two magic lookupsnetwork.pystopped carrying. Neither floor is an upgrade -- the bindings'tag is the commit uv.lock pinned plus its release-notes commit, and
bitcoin-core-rpc's is the pinned commit plus a Windows CI fix, a README line
and the version bump -- so what moves is the shape of the pin, not the code
resolved.
The prose and the comments that described the reference follow it back:
CONTRIBUTING.md's dependency paragraph names the two floors again, test.yml's
matrix selects a published wheel per cell rather than compiling one, and
latest.yml's suite-bindings-latest upgrades to a release rather than to the
tip of a branch. RELEASING.md keeps the warning that made the reference worth
documenting, stated as a condition rather than as the arrangement: PyPI
refuses a direct reference in metadata and nothing before publish-pypi
catches one, so a floor is the only pin a release may carry.
The dist job's constraints are whole again. #767 dropped the two siblings
from the export with --no-emit-package because uv refuses a branch url
against the commit the lock resolved, once the branch has moved past it --
which cost that job its determinism, deliberately and for want of an
alternative. A floor resolves to a release and a release does not move, so
the exception goes and every package is pinned to the lock again; #767's
other half, the regex that lets tests/build_system_test.py collect on 3.10,
is untouched, and its CHANGELOG entry keeps that half alone.
Two names those comments had wrong are corrected while they are being
rewritten: the jobs are suite-latest and suite-bindings-latest, which
published.yml also misnamed, and test.yml cited a floor three releases old.
The gates: 26455 passed at 100.00% coverage, pre-commit clean, sphinx -W
clean.
🤖 Generated with Claude Code
Summary by Sourcery
Pin the btclib_secp256k1 and bitcoin-core-rpc dependencies to newly published sibling releases instead of git main references, and align CI workflows, locking behavior, and documentation with release-based pins while restoring deterministic constraints for the dist smoke test.
Bug Fixes:
Enhancements:
CI:
Documentation:
Tests:
Chores: