Registry / data / transformations

transformations

JSON →
library2026.1.18pypypiunverified

Transformations is a Python library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates, as well as for converting between rotation matrices, Euler angles, and quaternions. It is no longer actively developed and is largely superseded by other libraries.

dataai-ml
Install & Compatibility
Where this runs
tested against v2025.1.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
build_error
glibc
py 3.103.920 runs
installs and imports cleanly · install 3.7s · import 0.286s · 86MB
87MB installed
● package 87MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Common practice to alias for brevity and to distinguish from other transformation libraries.

import transformations as tf

This quickstart demonstrates how to create rotation and translation matrices and apply them to a 3D point using homogeneous coordinates. It also shows how to concatenate transformations.

import numpy as np import transformations as tf # Create a rotation matrix around the Z-axis by 90 degrees (pi/2 radians) angle = np.pi / 2 rotation_matrix = tf.rotation_matrix(angle, [0, 0, 1]) # Define a point in homogeneous coordinates (x, y, z, w=1) point = np.array([1.0, 0.0, 0.0, 1.0]) # Apply the transformation transformed_point = np.dot(rotation_matrix, point) print(f"Original point: {point[:3]}") print(f"Rotation matrix:\n{rotation_matrix}") print(f"Transformed point: {transformed_point[:3]}") # Create a translation matrix translation_matrix = tf.translation_matrix([5.0, 2.0, 0.0]) # Concatenate transformations (apply rotation then translation) combined_matrix = np.dot(translation_matrix, rotation_matrix) combined_transformed_point = np.dot(combined_matrix, point) print(f"\nCombined transformation matrix:\n{combined_matrix}") print(f"Combined transformed point: {combined_transformed_point[:3]}")
Debug
Known footguns
deprecatedThe 'transformations' library is no longer actively developed and is largely superseded by other, more actively maintained modules like Pytransform3d, Scipy.spatial.transform, Transforms3d, or Numpy-quaternion. Consider using these alternatives for new projects.
breakingThe API is explicitly stated as 'not stable yet and is expected to change between revisions.' This means minor version updates might introduce breaking changes.
gotchaQuaternions in this library are represented as `[w, x, y, z]`. This differs from some other common libraries (e.g., older ROS `tf.transformations` used `[x, y, z, w]`), which can lead to incorrect calculations if not handled carefully.
gotchaThe Python implementation of transformations is not optimized for speed. For performance-critical applications, consider using the `transformations.c` module (if available in your distribution) or alternative libraries that offer optimized (e.g., C/Cython backed) implementations.
gotchaTransformation matrices generated by this library might require transposing when interfacing with some other graphics systems, such as OpenGL's `glMultMatrixd()`, due to differing column-major/row-major conventions.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
21 hits · last 30 days
bytedance
5
gptbot
4
amazonbot
4
ahrefsbot
3
script
1
Resources