.github/workflows/python-tests.yml originally pinned
roboticstoolbox-python~=1.0.0 (a leftover from before swift-sim's 2.0
rewrite). That pin restricted pip to RTB 1.0.x, which in turn pinned
spatialgeometry~=1.0.0 -- an old, pre-nanobind-migration release
genuinely compiled against the legacy NumPy 1.x C-API, hard-crashing
under NumPy 2.x at import time. Fixed the stale pin (see
petercorke/swift#76).
Fixing the stale pin surfaced a second, real issue: tests/ exercises
Robot.fkine_geometry(q), which doesn't exist on any released RTB --
it only exists on feat/fkine-geometry
(petercorke/robotics-toolbox-python, commit 8dbb44e2). CI now
installs RTB directly from that branch via
pip install git+https://...@feat/fkine-geometry, the same idea as
installing swift-sim itself from source.
Follow-up: once feat/fkine-geometry merges to RTB's main and a
new RTB version is released to PyPI, switch python-tests.yml back to
a normal version pin instead of the git branch reference.
.github/workflows/python-tests.ymloriginally pinnedroboticstoolbox-python~=1.0.0(a leftover from before swift-sim's 2.0rewrite). That pin restricted pip to RTB 1.0.x, which in turn pinned
spatialgeometry~=1.0.0-- an old, pre-nanobind-migration releasegenuinely compiled against the legacy NumPy 1.x C-API, hard-crashing
under NumPy 2.x at import time. Fixed the stale pin (see
petercorke/swift#76).
Fixing the stale pin surfaced a second, real issue:
tests/exercisesRobot.fkine_geometry(q), which doesn't exist on any released RTB --it only exists on
feat/fkine-geometry(
petercorke/robotics-toolbox-python, commit8dbb44e2). CI nowinstalls RTB directly from that branch via
pip install git+https://...@feat/fkine-geometry, the same idea asinstalling swift-sim itself from source.
Follow-up: once
feat/fkine-geometrymerges to RTB'smainand anew RTB version is released to PyPI, switch
python-tests.ymlback toa normal version pin instead of the git branch reference.