Skip to content

ci: Remove bip32 and test Python 3.10-3.15 - #110

Open
BenWestgate wants to merge 1 commit into
masterfrom
codex/master-ci-supported-python
Open

BenWestgate wants to merge 1 commit into
masterfrom
codex/master-ci-supported-python

Conversation

@BenWestgate

@BenWestgate BenWestgate commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

What

Remove bip32 from the legacy master package and test requirements. Codex32String.from_seed now requires a prefix with an explicit four-character identifier instead of calculating a default BIP32 fingerprint. Existing calls that already supply an identifier keep their behavior; calls without one now fail clearly.

Restore Python 3.13 to both CI matrices and add 3.14 and prerelease 3.15. setup-python v5 is needed for the 3.15 prerelease input.

Why

Both master failures occur before tests or linting: bip32 pins coincurve<21, whose build fails on Python 3.13. Removing 3.13 from CI alone would leave the advertised compatibility untested. This patch removes that dependency and tests Python 3.10–3.15. Callers creating wallet backups must supply an identifier from an independently verified wallet record; this reference API does not calculate or verify a fingerprint.

Refs #7 for the separate v1 dependency removal.

Validation

  • Built and installed the wheel with Python 3.13; its metadata has no runtime dependencies.
  • All 24 tests pass against the installed wheel on Python 3.13.
  • git diff --check passes.
  • GitHub Actions will verify the full 3.10–3.15 matrix.

AI-assisted implementation. Human review and a verified human signature are required before merge.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6012bcf728

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/python-package.yml Outdated
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore testing for the advertised Python 3.13 support

When this commit lands before the separate dependency-removal change, the package will continue to advertise Python 3.13 support through both the pyproject.toml classifier and the README while neither workflow tests that interpreter. The documented coincurve installation failure is evidence that the advertised installation is already broken; removing the job merely makes CI green and allows releases to retain that unsupported claim. Keep this matrix entry while fixing the dependency, or remove the corresponding compatibility claims until support is restored.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably push one change that removes Python-bip32 and changes the Python versions to 3.10-3.15, rather than a hack job to just make CI pass while not testing what the project claims.

We need to rebase master on the cursory review ACK on blockstreamresearch/codex32 pull request for a Python reference implementation. Then keep an easy to review and audit linear history from there.

And fixing the CI and removing that dependency could be one of the first commits.

@BenWestgate
BenWestgate force-pushed the codex/master-ci-supported-python branch from 6012bcf to 2119aac Compare October 3, 2026 10:46
@BenWestgate BenWestgate changed the title ci: Skip unsupported Python 3.13 on master ci: Remove bip32 and test Python 3.10-3.15 Oct 3, 2026
Legacy master advertises Python 3.13, but bip32 pins coincurve below 21 and fails during dependency installation. The only production use of bip32 is deriving an implicit identifier in from_seed. Require an explicit four-character identifier in that API instead, remove bip32 from package and test requirements, and test the advertised Python 3.10 through 3.15 range in both workflows. Setup-python v5 enables the 3.15 prerelease job.
@BenWestgate
BenWestgate force-pushed the codex/master-ci-supported-python branch from 2119aac to 75f6972 Compare October 3, 2026 10:49

This branch has not been deployed

No deployments
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