transformations
Homogeneous Transformation Matrices and Quaternions
Decision gist · record as of 2026-08-14
Yes, if you are working with legacy code or have a specific need for homogeneous transformation matrices and quaternion conversions. The package is stable, permissively licensed, and actively maintained. However, for new projects, consider the alternatives mentioned in the documentation (Pytransform3d, scipy.spatial.transform, transforms3d) which may offer more active development and fewer known numerical instabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires numpy 2.5.2 (or compatible version); Python 3.12 or later.
- Medium install friction due to compiled C extensions, but wheels are widely available for modern Python versions (3.12+) and common platforms.
- Actively maintained with recent updates; last commit 2026-08-09.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
last release 2026-08-09 (5 days) · last repo commit 2026-08-09 · 103 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,247,443 downloads/mo, #4,163 on PyPI
Alternatives
Verify before relying
import numpy
from transformations import rotation_matrix, euler_from_matrix
R = rotation_matrix(0.5, [1, 0, 0]) # 0.5 rad rotation around x-axis
angles = euler_from_matrix(R, 'rxyz')- Whether the known numerical instabilities mentioned in the description affect your specific use case.
- Performance characteristics compared to the suggested alternatives (Pytransform3d, scipy.spatial.transform, transforms3d).
What it is and what it does
Transformations is a Python library for working with 3D homogeneous transformation matrices and quaternions. It provides functions to construct and manipulate 4x4 matrices for common 3D operations—translation, rotation, scaling, shearing, reflection, and projection—and to convert between different rotation representations (matrices, Euler angles, quaternions). The library also includes utilities like matrix decomposition and an Arcball control object for interactive 3D rotation.
The package depends only on numpy and includes a C extension for performance-critical operations. It is maintained but explicitly noted as no longer actively developed; the author recommends considering alternatives like Pytransform3d, scipy.spatial.transform, or transforms3d for new projects. The API is not stable and may change between releases.
Use it for
- Convert between Euler angles and rotation matrices in computer graphics or robotics pipelines.
- Compose multiple 3D transformations (rotation, translation, scaling) into a single matrix.
- Decompose a transformation matrix into its constituent scale, shear, rotation, and translation components.
- Work with quaternions for smooth 3D rotations and interpolation in animation or game engines.
- Implement Arcball-style interactive 3D rotation controls in visualization applications.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working with legacy code or have a specific need for homogeneous transformation matrices and quaternion conversions.
The package is stable, permissively licensed, and actively maintained. However, for new projects, consider the alternatives mentioned in the documentation (Pytransform3d, scipy.spatial.transform, transforms3d) which may offer more active development and fewer known numerical instabilities.
Install
transformations on PyPI
Before you install
Medium install friction due to compiled C extensions, but wheels are widely available for modern Python versions (3.12+) and common platforms. Actively maintained with recent updates; last commit 2026-08-09.
Requires numpy 2.5.2 (or compatible version); Python 3.12 or later.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
Quickstart
import numpy
from transformations import rotation_matrix, euler_from_matrix
R = rotation_matrix(0.5, [1, 0, 0]) # 0.5 rad rotation around x-axis
angles = euler_from_matrix(R, 'rxyz')
Verify before relying
- Whether the known numerical instabilities mentioned in the description affect your specific use case.
- Performance characteristics compared to the suggested alternatives (Pytransform3d, scipy.spatial.transform, transforms3d).
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 5 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,247,443 / month, #4,163 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: CProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15 |
Evidence: transformations-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl; transformations-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl; transformations-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; transformations-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; transformations-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl; transformations-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl; transformations-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl; transformations-2026.8.8-cp312-abi3-win32.whl; transformations-2026.8.8-cp312-abi3-win_amd64.whl; transformations-2026.8.8-cp312-abi3-win_arm64.whl; transformations-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl; transformations-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl; transformations-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; transformations-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; transformations-2026.8.8-cp314-cp314t-win32.whl; transformations-2026.8.8-cp314-cp314t-win_amd64.whl; transformations-2026.8.8-cp314-cp314t-win_arm64.whl; transformations-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl; transformations-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl; transformations-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.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 › “3d transformation matrices”
- transformationsCalculates 4x4 homogeneous transformation matrices for 3D coordinate…
- pytransform3dpytransform3d provides operations, conversions, and visualizations…
- transforms3dConverts between different 3D geometric transformations—rotation…
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 euclid3 · jaxlie · numpy-quaternion · pyquaternion · roma · transforms3d · affine · pytransform3d · pyglm · hankel