Skip to content

Pip cli - #220

Open
bobvh wants to merge 4 commits into
mainfrom
pip-cli
Open

Pip cli#220
bobvh wants to merge 4 commits into
mainfrom
pip-cli

Conversation

@bobvh

@bobvh bobvh commented Jul 29, 2026

Copy link
Copy Markdown
Member

The idea was to make installing gen as easy and non-threatening as possible.
Most users will be comfortable with a pip install, and you can include an executable binary alongside the python bindings.

I changed as little as possible, but did add a few extra builds to get to a crossplatform solution and not have it fail depending on your OS or python install. The abi3 switch was because the number of python builds was getting out of hand, I could revert it if needed.

tl;dr:

  • added a windows-release job that also uploads an asset.
  • added intel for mac and arm for linux builds
  • macOS binaries are codesigned
  • add gen-python/scripts/verify_wheel.py to run in CI
  • switched python build to abi3 (one wheel for all python versions)
  • updated the install section of the readme

@bobvh
bobvh requested a review from Chris7 July 29, 2026 14:56
- name: Install capnp (Windows)
if: runner.os == 'Windows'
run: choco install capnproto
- name: Stage bundled client (macOS)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is something I wasn't able to test properly @dkhofer , how did you test this when you were doing this for the pkg?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Learned more and promptly broke it, please disregard.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Going to temporarily run it from the PR this one time to confirm that it works. It shouldn't push anything to pypi.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@bobvh
bobvh removed the request for review from Chris7 July 29, 2026 16:24
Stage the Rust CLI in the Python package so pip, uv, and pipx install the gen command. Build abi3 wheels for Linux x86_64/aarch64, macOS arm64/x86_64, and Windows, then test them on Python 3.12 through 3.14.

Sign and notarize macOS wheels for tagged releases. Upload release wheels after compatibility tests pass and send PyPI the exact producing run ID.

Disable maturin sccache on Linux because before-script invokes Cargo before sccache is installed in the container. Keep manual tagged binary releases and nightly builds.
…tion

Points at bobvh/rusqdoltlite@812ffae (fix-windows branch), which excludes
Windows from the bundled remote-auth server build to avoid the
pthread_t/struct DoltliteServer parse failure under MSVC. Revert this
patch once the fix ships in a published crates.io release.
bobvh added 2 commits July 30, 2026 17:06
Drops the github.ref_type == 'tag' gate on the Sign/Notarize/Verify-signature
steps so they run on this branch's CI. upload-release-wheels and
trigger-pypi-publish keep their tag-only gates untouched, so this can't
publish anything. Revert before merging.
@bobvh
bobvh requested a review from Chris7 July 30, 2026 15:30
Comment thread Cargo.toml

[patch.crates-io]
# TEMPORARY: verifying the Windows MSVC build fix in CI before it's published
# to crates.io. Revert this patch before merging.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Only revert this if PR2 on rusqdoltlite has merged and published.

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