prpl-kinematics
Kinematics-only robot modeling, IK, motion planning, and manipulation primitives
built on a general KinematicTree. A ground-up successor to pybullet-helpers:
engine-agnostic (PyBullet is a pluggable collision/render backend, not the source
of truth), with poses represented as spatialmath SE3/SE2.
See DESIGN.md for the architecture and roadmap.
Status
Early, and the API may still change. The geometry layer and the KinematicTree
(joints, forward kinematics, grasp via re-parenting, state snapshots) are the
stable core. Built on top of them: URDF loading, PyBullet and Blender backends,
numerical and analytic IK (IKFast, EAIK, optionally SSIK), BiRRT and OMPL motion
planning, manipulation primitives, and robot models for the Franka Panda, Kinova
Gen3, TidyBot, and the bimanual Dexmate Vega.
Pin a version if you need stable behavior.
Requirements
- Python 3.10+
Installation
pip install prpl_kinematics
IKFast solvers are compiled from the bundled C++ sources on first use, which needs a C++ toolchain and LAPACK/BLAS. The other IK backends have no such requirement.
Optional extras
pip install "prpl_kinematics[planning]" # OMPLPlanner and seed_ompl
pip install "prpl_kinematics[ssik]" # the SSIK analytic IK backend
ompl publishes wheels for far fewer platforms than everything else here (none for
Windows, and macOS 15 or newer only), so it stays out of the base install. Importing
OMPLPlanner or seed_ompl without it raises an ImportError saying so; everything
else, including BiRRTPlanner, works untouched.
Development
From the monorepo root, with uv:
uv pip install -e "./prpl-kinematics[develop]"
./run_ci_checks.sh # autoformat, mypy, pylint, pytest
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prpl_kinematics-0.0.2.tar.gz.
File metadata
- Download URL: prpl_kinematics-0.0.2.tar.gz
- Upload date:
- Size: 25.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dfef2fbbe42b30695513d0e57230b19004ebe77be8f8949e21fe866bc3d3742
|
|
| MD5 |
fb2a816956e310558c58d6ce6cb3fea4
|
|
| BLAKE2b-256 |
6dcbef22e303d5d6720a13773f940e8f78031b48eafd25db3d49752df614d3c3
|
File details
Details for the file prpl_kinematics-0.0.2-py3-none-any.whl.
File metadata
- Download URL: prpl_kinematics-0.0.2-py3-none-any.whl
- Upload date:
- Size: 25.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7220e206ca75113595ddc7f42b8aecb3157bdd8dff8f7de608ebf043267bd466
|
|
| MD5 |
047d2942afa8e88103722128b79c0005
|
|
| BLAKE2b-256 |
ed1af9127efd16ee168781859de3f8f0360c950eca3d14e67e1cbc73251daf64
|