chore(deps): unpin ruckig, require >=0.19.4 which ships wheels - #77
Open
jeqcho wants to merge 1 commit into
Open
chore(deps): unpin ruckig, require >=0.19.4 which ships wheels#77jeqcho wants to merge 1 commit into
jeqcho wants to merge 1 commit into
Conversation
ruckig 0.15.3 publishes only an sdist, and every published sdist through 0.17.3 fails to build under scikit-build-core >= 0.10 (deprecated cmake.targets key became a hard error in 1.0). The in-repo build-constraint-dependencies workaround does not propagate to consumers installing i2rt as a dependency, so fresh installs of i2rt fail (i2rt-robotics#76). ruckig 0.19.4 (released 2026-07-15) ships prebuilt wheels for CPython 3.9-3.14 on manylinux/musllinux x86_64, macOS arm64, and Windows, so no source build happens on those platforms. On platforms without wheels (e.g. Linux aarch64), the 0.19.4 sdist carries the pantor/ruckig#261 fix and builds cleanly under scikit-build-core 1.0, so the [tool.uv] build-constraint block is no longer needed and is removed. Compatibility: the only ruckig consumer is i2rt/flow_base/flow_base_controller.py; its full API surface (Ruckig, InputParameter, OutputParameter, ControlInterface, Result, update(), pass_to_input()) was exercised against 0.19.4 and behaves identically. Fixes i2rt-robotics#76 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Fixes #76.
Problem
ruckig==0.15.3publishes only an sdist, and every published ruckig sdist through 0.17.3 fails to build under scikit-build-core >= 0.10 (the deprecatedcmake.targetskey became a hard error in scikit-build-core 1.0, released 2026-07-06). The[tool.uv] build-constraint-dependenciesworkaround in this repo only protects builds run inside the repo itself: uv ignores a dependency's[tool.uv]section, so anyone installing i2rt as a dependency (uv pip install "i2rt @ git+...", pip, CI) hits the build failure on a cold cache.Fix
ruckig 0.19.4 (released today, includes the pantor/ruckig#261 fix per pantor/ruckig#263) ships prebuilt wheels for CPython 3.9-3.14 on manylinux/musllinux x86_64, macOS arm64, and Windows, so no source build happens on those platforms. On platforms without wheels (e.g. Linux aarch64 / Raspberry Pi), the 0.19.4 sdist builds cleanly under scikit-build-core 1.0, so the build-constraint block is removed as no longer needed. Lockfile updated with
uv lock --upgrade-package ruckig(the extra marker simplifications are from 0.19.4 supporting Python 3.14, which removes a resolution fork).Compatibility
The only ruckig consumer in the codebase is
i2rt/flow_base/flow_base_controller.py. I exercised its full ruckig API surface (Ruckig,InputParameter,OutputParameter,ControlInterface,Result,update(),pass_to_input()) against 0.19.4: identical behavior,update()returnsResult.Working, and the module imports cleanly with 0.19.4 installed.🤖 Generated with Claude Code