Tesseract robotics Python bindings (nanobind)
Project description
Tesseract Python (nanobind)
Note: This is a friendly fork of tesseract_python that replaces SWIG bindings with modern nanobind bindings.
Python bindings for Tesseract robotics motion planning using nanobind.
Features
- Scene loading and management (URDF, SRDF, meshes)
- Collision checking (Bullet, FCL)
- Kinematics (KDL, OPW, UR)
- Motion planning (OMPL, Descartes, TrajOpt)
- Time parameterization (TOTG, ISP, Ruckig)
- Task composition and pipelines
- Pythonic high-level API
Installation
pip install tesseract-robotics-nanobind
Platform support: Linux x86_64. macOS arm64 coming soon.
Quick Start
from tesseract_robotics.planning import (
Robot, MotionProgram, JointTarget, CartesianTarget,
Pose, box, create_obstacle, TaskComposer,
)
# Load robot
robot = Robot.from_urdf(
"package://tesseract_support/urdf/abb_irb2400.urdf",
"package://tesseract_support/urdf/abb_irb2400.srdf"
)
# Add obstacle
create_obstacle(robot, "box", box(0.5, 0.5, 0.5), Pose.from_xyz(0.5, 0, 0.3))
# Build motion program
program = (MotionProgram("manipulator", tcp_frame="tool0")
.set_joint_names(robot.get_joint_names("manipulator"))
.move_to(JointTarget([0, 0, 0, 0, 0, 0]))
.move_to(CartesianTarget(Pose.from_xyz(0.5, 0.3, 0.8)))
)
# Plan
composer = TaskComposer.from_config()
result = composer.plan(robot, program)
if result.successful:
for pt in result.trajectory:
print(pt.positions)
Low-Level API
For direct C++ API access:
from tesseract_robotics.tesseract_environment import Environment
from tesseract_robotics.tesseract_common import GeneralResourceLocator
env = Environment()
locator = GeneralResourceLocator()
env.init("/path/to/robot.urdf", "/path/to/robot.srdf", locator)
print(f"Joints: {env.getJointNames()}")
print(f"Links: {env.getLinkNames()}")
Examples
See the examples/ directory for:
basic_cartesian_example.py- Simple Cartesian planningfreespace_ompl_example.py- OMPL freespace planningpick_and_place_example.py- Pick and place with TrajOptpuzzle_piece_example.py- Cartesian path following- And more...
Development
Enable pre-commit hook (runs test suite before each commit):
pre-commit install
pre-commit install --hook-type pre-push
that'll run the hooks defined in .pre-commit-config.yaml
Acknowledgments
This project builds upon the excellent work of John Wason and the Tesseract Robotics team. The original tesseract_python SWIG bindings laid the foundation for this nanobind implementation.
Special thanks to:
- John Wason (Wason Technology, LLC) - Original tesseract_python author and Tesseract maintainer
- Levi Armstrong - Tesseract core developer
- Jelle Feringa (Terrestrial) - nanobind port developer
- The ROS-Industrial consortium for supporting Tesseract development
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 tesseract_robotics_nanobind-0.7.3-cp312-abi3-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: tesseract_robotics_nanobind-0.7.3-cp312-abi3-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 103.3 MB
- Tags: CPython 3.12+, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b9385480bf3dc3fce0dc87d8bdaf79893a9e2f46608d1b0562688b895fa3a79
|
|
| MD5 |
3e001c6e097a4a9c86b44c154faaa252
|
|
| BLAKE2b-256 |
9d4d6744a52f6e22a93d960b463499a96311b369ee8f43bbbecaad5566d76cea
|
Provenance
The following attestation bundles were made for tesseract_robotics_nanobind-0.7.3-cp312-abi3-manylinux_2_35_x86_64.whl:
Publisher:
wheels.yml on tesseract-robotics/tesseract_nanobind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tesseract_robotics_nanobind-0.7.3-cp312-abi3-manylinux_2_35_x86_64.whl -
Subject digest:
2b9385480bf3dc3fce0dc87d8bdaf79893a9e2f46608d1b0562688b895fa3a79 - Sigstore transparency entry: 798291934
- Sigstore integration time:
-
Permalink:
tesseract-robotics/tesseract_nanobind@78962047f135524f0b3b135e593dad30b6baf464 -
Branch / Tag:
refs/tags/0.7.3 - Owner: https://github.com/tesseract-robotics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@78962047f135524f0b3b135e593dad30b6baf464 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tesseract_robotics_nanobind-0.7.3-cp311-cp311-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: tesseract_robotics_nanobind-0.7.3-cp311-cp311-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 103.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d379fb0215e1c0b38a1a6163c9f1eb5d97bd5e3300825dfc6b3dd848de64c16b
|
|
| MD5 |
9991ee9db047f8561082bc7426058015
|
|
| BLAKE2b-256 |
9d13fccd6a832a5fb577ffe3f9575c41fb73aca0d24239213803d9d821372e5c
|
Provenance
The following attestation bundles were made for tesseract_robotics_nanobind-0.7.3-cp311-cp311-manylinux_2_35_x86_64.whl:
Publisher:
wheels.yml on tesseract-robotics/tesseract_nanobind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tesseract_robotics_nanobind-0.7.3-cp311-cp311-manylinux_2_35_x86_64.whl -
Subject digest:
d379fb0215e1c0b38a1a6163c9f1eb5d97bd5e3300825dfc6b3dd848de64c16b - Sigstore transparency entry: 798291940
- Sigstore integration time:
-
Permalink:
tesseract-robotics/tesseract_nanobind@78962047f135524f0b3b135e593dad30b6baf464 -
Branch / Tag:
refs/tags/0.7.3 - Owner: https://github.com/tesseract-robotics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@78962047f135524f0b3b135e593dad30b6baf464 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tesseract_robotics_nanobind-0.7.3-cp310-cp310-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: tesseract_robotics_nanobind-0.7.3-cp310-cp310-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 103.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38e067d3cda106ab183ae025206dd3aceae188dcdd07b98be31c4db530b542fc
|
|
| MD5 |
9662763b44ec8ef75ac944d5014c4f5c
|
|
| BLAKE2b-256 |
d8c58412ba22880bfdd162322f067fe74b73e832cf939ef945206659290bc1cc
|
Provenance
The following attestation bundles were made for tesseract_robotics_nanobind-0.7.3-cp310-cp310-manylinux_2_35_x86_64.whl:
Publisher:
wheels.yml on tesseract-robotics/tesseract_nanobind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tesseract_robotics_nanobind-0.7.3-cp310-cp310-manylinux_2_35_x86_64.whl -
Subject digest:
38e067d3cda106ab183ae025206dd3aceae188dcdd07b98be31c4db530b542fc - Sigstore transparency entry: 798291947
- Sigstore integration time:
-
Permalink:
tesseract-robotics/tesseract_nanobind@78962047f135524f0b3b135e593dad30b6baf464 -
Branch / Tag:
refs/tags/0.7.3 - Owner: https://github.com/tesseract-robotics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@78962047f135524f0b3b135e593dad30b6baf464 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tesseract_robotics_nanobind-0.7.3-cp39-cp39-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: tesseract_robotics_nanobind-0.7.3-cp39-cp39-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 103.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ba6bd9284e5690d8f23553d1ff45764338ee60fea73744ce392b60fe8015704
|
|
| MD5 |
f7c1a1857b9fb8d991717744c76f610a
|
|
| BLAKE2b-256 |
59265c36063ae0fccf61c9432560317d80088ab16ca9954df8094e9830116a95
|
Provenance
The following attestation bundles were made for tesseract_robotics_nanobind-0.7.3-cp39-cp39-manylinux_2_35_x86_64.whl:
Publisher:
wheels.yml on tesseract-robotics/tesseract_nanobind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tesseract_robotics_nanobind-0.7.3-cp39-cp39-manylinux_2_35_x86_64.whl -
Subject digest:
3ba6bd9284e5690d8f23553d1ff45764338ee60fea73744ce392b60fe8015704 - Sigstore transparency entry: 798291958
- Sigstore integration time:
-
Permalink:
tesseract-robotics/tesseract_nanobind@78962047f135524f0b3b135e593dad30b6baf464 -
Branch / Tag:
refs/tags/0.7.3 - Owner: https://github.com/tesseract-robotics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@78962047f135524f0b3b135e593dad30b6baf464 -
Trigger Event:
push
-
Statement type: