--- id: transforms3d version: "0.4.2" license: BSD license license_treatment: permissive maintenance: dormant --- # transforms3d — Functions for 3D coordinate transformations License: permissive · Maintenance: dormant · Downloads: 696.8K/mo ## What it is and what it does Transforms3d is a library for converting between and composing 3D geometric transformations. It handles rotations (as matrices, Euler angles, or quaternions), translations, scales, and shears, allowing you to build complex affine transformations by composing these primitives or break down an existing matrix back into its components. The code is written with teaching in mind—algorithms are documented with mathematical derivations using sympy—making it useful both as a practical tool and as a reference for understanding the underlying geometry. The package depends only on numpy and installs as a pure Python wheel, making it lightweight and portable. It targets developers and researchers working with 3D graphics, robotics, computer vision, or any domain requiring coordinate transformations. The dormant maintenance status (no releases for 788 days) suggests the API is stable, but users should be aware that active development has slowed. Use it for: - Convert between rotation representations (matrices, quaternions, Euler angles) in 3D graphics or robotics pipelines. - Decompose an affine transformation matrix into its rotation, scale, shear, and translation components for analysis or modification. - Compose multiple transformations (rotation, translation, scale) into a single affine matrix for efficient rendering or simulation. - Validate or debug 3D transformation logic by converting between formats and checking consistency. - Learn or teach the mathematics of 3D transformations using documented algorithms and sympy derivations. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts between different 3D geometric transformations—rotation matrices, Euler angles, quaternions, and affine matrices—and composes or decomposes them. Yes, if you need 3D transformation conversions and can accept dormant maintenance. The package is stable, has no known vulnerabilities, installs with minimal friction, and carries a permissive license. It is well-suited for production use in graphics, robotics, or scientific computing where transformation math is a small part of a larger system. Not recommended if you require active bug fixes or feature development. ## Install pip install transforms3d uv add transforms3d poetry add transforms3d ## Installing transforms3d Before you install: Low friction: pure Python wheel with only numpy as a dependency. Maintenance is dormant (788 days since last release) but the repository remains active with a last commit on 2024-07-06, suggesting stability rather than abandonment. License in practice: BSD license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects. Quickstart: pip install transforms3d import transforms3d matrix = transforms3d.affines.compose(T=[1, 2, 3], R=[[1, 0, 0], [0, 1, 0], [0, 0, 1]], Z=[1, 1, 1], S=[1, 1, 1]) Requires numpy >= 1.15; Python >= 3.6. Verify before relying: - Whether the package is actively maintained or in stable maintenance mode (last release 2024-06-17 but no releases for 788 days prior). - Specific numerical accuracy or precision guarantees for transformation conversions. - Performance characteristics for large-scale or real-time transformation operations. ## Package facts - License: BSD license (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 696.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags 3D rotation conversions, quaternion to matrix, euler angles transforms, affine matrix decomposition, 3D coordinate transformations, rotation matrix algebra, geometric transformation library, 3d-graphics, geometry, linear-algebra [View on SkillFed](https://skillfed.io/packages/transforms3d) · [View on PyPI](https://pypi.org/project/transforms3d/)