pytransform3d
3D transformations for Python
Decision gist · record as of 2026-08-14
Yes. pytransform3d is actively maintained, has no known vulnerabilities, installs with low friction, and fills a clear niche in 3D geometry and robotics. Its permissive BSD license and mature API (since 2018) make it safe for production use. Install if you work with 3D transformations, robot kinematics, or multi-frame coordinate systems.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with a pure-Python wheel.
- Actively maintained with a recent release (21 days ago) and 704 repository stars.
- Core dependencies are standard scientific stack (numpy, scipy, matplotlib, lxml).
License · maintenance · safety
BSD-3-Clause (permissive) — Distributed under BSD-3-Clause (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
last release 2026-07-24 (21 days) · last repo commit 2026-07-29 · 704 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 353,174 downloads/mo, #7,306 on PyPI
Alternatives
Verify before relying
pip install pytransform3d
import numpy as np
from pytransform3d import rotations as pr
from pytransform3d import transformations as pt
from pytransform3d.transform_manager import TransformManager
tm = TransformManager()
tm.add_transform("frame_a", "frame_b", pt.transform_from_pq(np.array([0, 0, 0, 1, 0, 0, 0])))
ee2object = tm.get_transform("frame_a", "frame_b")- Whether Open3D integration (mentioned in description) is included in base install or requires separate extras
- Support for Python 2 (listed in classifiers) status given modern ecosystem shift
What it is and what it does
pytransform3d is a Python library for working with 3D transformations—rotations and translations—in robotics, computer vision, and geometric computing. It provides a unified interface to convert between common rotation representations (quaternions, Euler angles, rotation matrices, axis-angle), compose transformations, and invert them. The core strength is the TransformManager, which maintains a graph of coordinate frames and computes transformations between any two frames automatically, eliminating manual chain multiplication.
The library couples tightly with matplotlib for visualization and can load transformation hierarchies from URDF files (robot description format) via lxml. Optional integrations include Qt-based graphical transformation editing, Open3D visualization, and graph export via pydot. It's designed for robotics workflows—specifying robot motions, learning from demonstrations, pose estimation, collision detection—but applies broadly to any domain needing 3D geometric reasoning.
Use it for
- Specify and visualize robot arm kinematics by defining frame hierarchies and querying end-effector positions
- Convert between rotation representations (e.g., quaternion to Euler angles) for sensor fusion or animation
- Load and manipulate URDF robot models to compute forward kinematics and frame transformations
- Animate 3D geometries and transformations using matplotlib or Open3D visualization interfaces
- Build transformation chains for multi-sensor systems (e.g., camera-to-robot-to-gripper) and resolve poses
- Prototype geometric algorithms requiring coordinate frame reasoning without manual matrix algebra
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
pytransform3d is actively maintained, has no known vulnerabilities, installs with low friction, and fills a clear niche in 3D geometry and robotics. Its permissive BSD license and mature API (since 2018) make it safe for production use. Install if you work with 3D transformations, robot kinematics, or multi-frame coordinate systems.
Install
pytransform3d on PyPI
Before you install
Low friction install with a pure-Python wheel. Actively maintained with a recent release (21 days ago) and 704 repository stars. Core dependencies are standard scientific stack (numpy, scipy, matplotlib, lxml).
License in practice
Distributed under BSD-3-Clause (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install pytransform3d
import numpy as np
from pytransform3d import rotations as pr
from pytransform3d import transformations as pt
from pytransform3d.transform_manager import TransformManager
tm = TransformManager()
tm.add_transform("frame_a", "frame_b", pt.transform_from_pq(np.array([0, 0, 0, 1, 0, 0, 0])))
ee2object = tm.get_transform("frame_a", "frame_b")
Verify before relying
- Whether Open3D integration (mentioned in description) is included in base install or requires separate extras
- Support for Python 2 (listed in classifiers) status given modern ecosystem shift
Package facts
| License | BSD-3-Clause permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesnumpyscipymatplotliblxml |
| Maintenance | Actively maintained 21 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 353,174 / month, #7,306 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: Visualization |
Evidence: pytransform3d-3.16.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “quaternion euler angle conversion”
- pytransform3dpytransform3d provides operations, conversions, and visualizations…
- romaRoMa provides differentiable conversions between 3D rotation…
- numpy-quaternionAdds a quaternion dtype to NumPy, enabling efficient quaternion…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also transforms3d · transformations · pyquaternion · meshcat · pytweening · affine · open3d · roma · open3d-cpu · euclid3