Skip to main content

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. Also includes an Arcball control object and functions to decompose transformation matrices.

The transformations library is no longer actively developed.

Author:

Christoph Gohlke

License:

BSD-3-Clause

Version:

2026.8.8

Quickstart

Install the transformations package and all dependencies from the Python Package Index:

python -m pip install -U transformations

See Examples for using the programming interface.

Source code and support are available on GitHub.

Requirements

This revision was tested with the following requirements and dependencies (other versions may work):

  • CPython 3.12.10, 3.13.15, 3.14.7, 3.15.0rc 64-bit

  • Numpy 2.5.2

Revisions

2026.8.8

  • Fix code review issues.

  • Make C extension ABI3 and free-threading compatible.

  • Drop support for Python 3.11 and numpy 2.0 (SPEC0).

  • Support Python 3.15.

2026.1.18

  • Use multi-phase initialization.

  • Improve code quality.

2025.8.1

  • Drop support for Python 3.10, support Python 3.14.

2025.1.1

  • Drop support for Python 3.9, support Python 3.13.

2024.5.24

  • Fix docstring examples not correctly rendered on GitHub.

2024.4.24

  • Support NumPy 2.

2024.1.6

Refer to the CHANGES file for older revisions.

Notes

Transformations.py is no longer actively developed and has a few known issues and numerical instabilities. The module is mostly superseded by other modules for 3D transformations and quaternions:

The API is not stable yet and is expected to change between revisions.

This Python code is not optimized for speed. Refer to the transformations.c module for a faster implementation of some functions.

Documentation in HTML format can be generated with epydoc.

Matrices (M) can be inverted using numpy.linalg.inv(M), be concatenated using numpy.dot(M0, M1), or transform homogeneous coordinate arrays (v) using numpy.dot(M, v) for shape (4, -1) column vectors, respectively numpy.dot(v, M.T) for shape (-1, 4) row vectors (“array of points”).

This module follows the “column vectors on the right” and “row major storage” (C contiguous) conventions. The translation components are in the right column of the transformation matrix, i.e. M[:3, 3]. The transpose of the transformation matrices may have to be used to interface with other graphics systems, e.g. OpenGL’s glMultMatrixd(). See also [16].

Calculations are carried out with numpy.float64 precision.

Vector, point, quaternion, and matrix function arguments are expected to be “array like”, i.e. tuple, list, or numpy arrays.

Return types are numpy arrays unless specified otherwise.

Angles are in radians unless specified otherwise.

Quaternions w+ix+jy+kz are represented as [w, x, y, z].

A triple of Euler angles can be applied/interpreted in 24 ways, which can be specified using a 4 character string or encoded 4-tuple:

Axes 4-string: e.g. ‘sxyz’ or ‘ryxy’

  • first character : rotations are applied to ‘s’tatic or ‘r’otating frame

  • remaining characters : successive rotation axis ‘x’, ‘y’, or ‘z’

Axes 4-tuple: e.g. (0, 0, 0, 0) or (1, 1, 1, 1)

  • inner axis: code of axis (‘x’:0, ‘y’:1, ‘z’:2) of rightmost matrix.

  • parity : even (0) if inner axis ‘x’ is followed by ‘y’, ‘y’ is followed by ‘z’, or ‘z’ is followed by ‘x’. Otherwise odd (1).

  • repetition : first and last axis are same (1) or different (0).

  • frame : rotations are applied to static (0) or rotating (1) frame.

References

  1. Matrices and transformations. Ronald Goldman. In “Graphics Gems I”, pp 472-475. Morgan Kaufmann, 1990.

  2. More matrices and transformations: shear and pseudo-perspective. Ronald Goldman. In “Graphics Gems II”, pp 320-323. Morgan Kaufmann, 1991.

  3. Decomposing a matrix into simple transformations. Spencer Thomas. In “Graphics Gems II”, pp 320-323. Morgan Kaufmann, 1991.

  4. Recovering the data from the transformation matrix. Ronald Goldman. In “Graphics Gems II”, pp 324-331. Morgan Kaufmann, 1991.

  5. Euler angle conversion. Ken Shoemake. In “Graphics Gems IV”, pp 222-229. Morgan Kaufmann, 1994.

  6. Arcball rotation control. Ken Shoemake. In “Graphics Gems IV”, pp 175-192. Morgan Kaufmann, 1994.

  7. Representing attitude: Euler angles, unit quaternions, and rotation vectors. James Diebel. 2006.

  8. A discussion of the solution for the best rotation to relate two sets of vectors. W Kabsch. Acta Cryst. 1978. A34, 827-828.

  9. Closed-form solution of absolute orientation using unit quaternions. BKP Horn. J Opt Soc Am A. 1987. 4(4):629-642.

  10. Quaternions. Ken Shoemake. http://www.sfu.ca/~jwa3/cmpt461/files/quatut.pdf

  11. From quaternion to matrix and back. JMP van Waveren. 2005. http://www.intel.com/cd/ids/developer/asmo-na/eng/293748.htm

  12. Uniform random rotations. Ken Shoemake. In “Graphics Gems III”, pp 124-132. Morgan Kaufmann, 1992.

  13. Quaternion in molecular modeling. CFF Karney. J Mol Graph Mod, 25(5):595-604

  14. New method for extracting the quaternion from a rotation matrix. Itzhack Y Bar-Itzhack, J Guid Contr Dynam. 2000. 23(6): 1085-1087.

  15. Multiple View Geometry in Computer Vision. Hartley and Zissermann. Cambridge University Press; 2nd Ed. 2004. Chapter 4, Algorithm 4.7, p 130.

  16. Column Vectors vs. Row Vectors. http://steve.hollasch.net/cgindex/math/matrix/column-vec.html

Examples

>>> alpha, beta, gamma = 0.123, -1.234, 2.345
>>> origin, xaxis, yaxis, zaxis = [0, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]
>>> I = identity_matrix()
>>> Rx = rotation_matrix(alpha, xaxis)
>>> Ry = rotation_matrix(beta, yaxis)
>>> Rz = rotation_matrix(gamma, zaxis)
>>> R = concatenate_matrices(Rx, Ry, Rz)
>>> euler = euler_from_matrix(R, 'rxyz')
>>> numpy.allclose([alpha, beta, gamma], euler)
True
>>> Re = euler_matrix(alpha, beta, gamma, 'rxyz')
>>> is_same_transform(R, Re)
True
>>> al, be, ga = euler_from_matrix(Re, 'rxyz')
>>> is_same_transform(Re, euler_matrix(al, be, ga, 'rxyz'))
True
>>> qx = quaternion_about_axis(alpha, xaxis)
>>> qy = quaternion_about_axis(beta, yaxis)
>>> qz = quaternion_about_axis(gamma, zaxis)
>>> q = quaternion_multiply(qx, qy)
>>> q = quaternion_multiply(q, qz)
>>> Rq = quaternion_matrix(q)
>>> is_same_transform(R, Rq)
True
>>> S = scale_matrix(1.23, origin)
>>> T = translation_matrix([1, 2, 3])
>>> Z = shear_matrix(beta, xaxis, origin, zaxis)
>>> R = random_rotation_matrix(numpy.random.rand(3))
>>> M = concatenate_matrices(T, R, Z, S)
>>> scale, shear, angles, trans, persp = decompose_matrix(M)
>>> numpy.allclose(scale, 1.23)
True
>>> numpy.allclose(trans, [1, 2, 3])
True
>>> numpy.allclose(shear, [0, math.tan(beta), 0])
True
>>> is_same_transform(R, euler_matrix(axes='sxyz', *angles))
True
>>> M1 = compose_matrix(scale, shear, angles, trans, persp)
>>> is_same_transform(M, M1)
True
>>> v0, v1 = random_vector(3), random_vector(3)
>>> M = rotation_matrix(angle_between_vectors(v0, v1), vector_product(v0, v1))
>>> v2 = numpy.dot(v0, M[:3, :3].T)
>>> numpy.allclose(unit_vector(v1), unit_vector(v2))
True

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

transformations-2026.8.8.tar.gz (49.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

transformations-2026.8.8-cp315-cp315t-win_arm64.whl (54.7 kB view details)

Uploaded CPython 3.15tWindows ARM64

transformations-2026.8.8-cp315-cp315t-win_amd64.whl (61.7 kB view details)

Uploaded CPython 3.15tWindows x86-64

transformations-2026.8.8-cp315-cp315t-win32.whl (55.4 kB view details)

Uploaded CPython 3.15tWindows x86

transformations-2026.8.8-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (169.2 kB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

transformations-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (166.3 kB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

transformations-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl (56.0 kB view details)

Uploaded CPython 3.15tmacOS 11.0+ ARM64

transformations-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl (59.7 kB view details)

Uploaded CPython 3.15tmacOS 10.15+ x86-64

transformations-2026.8.8-cp314-cp314t-win_arm64.whl (54.7 kB view details)

Uploaded CPython 3.14tWindows ARM64

transformations-2026.8.8-cp314-cp314t-win_amd64.whl (61.7 kB view details)

Uploaded CPython 3.14tWindows x86-64

transformations-2026.8.8-cp314-cp314t-win32.whl (55.3 kB view details)

Uploaded CPython 3.14tWindows x86

transformations-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (169.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

transformations-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (165.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

transformations-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl (55.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

transformations-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl (59.8 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

transformations-2026.8.8-cp312-abi3-win_arm64.whl (51.8 kB view details)

Uploaded CPython 3.12+Windows ARM64

transformations-2026.8.8-cp312-abi3-win_amd64.whl (58.4 kB view details)

Uploaded CPython 3.12+Windows x86-64

transformations-2026.8.8-cp312-abi3-win32.whl (52.6 kB view details)

Uploaded CPython 3.12+Windows x86

transformations-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl (42.1 kB view details)

Uploaded CPython 3.12+PyEmscripten 2026.5 wasm32

transformations-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl (42.1 kB view details)

Uploaded CPython 3.12+PyEmscripten 2026.0 wasm32

transformations-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl (42.1 kB view details)

Uploaded CPython 3.12+PyEmscripten 2025.0 wasm32

transformations-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (135.5 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

transformations-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (129.3 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

transformations-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl (53.9 kB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

transformations-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl (57.4 kB view details)

Uploaded CPython 3.12+macOS 10.13+ x86-64

File details

Details for the file transformations-2026.8.8.tar.gz.

File metadata

  • Download URL: transformations-2026.8.8.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for transformations-2026.8.8.tar.gz
Algorithm Hash digest
SHA256 3cee34be6fbd53ef8767951ee783f61567a6eb7603cec99e97beb29211f58d40
MD5 d775a6d365946805f84ff62d1137fa61
BLAKE2b-256 e6b0f508b97048fc67d7b6ccf9b08fa885b59da0e5013e89aa3a3054aa484fcd

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-win_arm64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-win_arm64.whl
Algorithm Hash digest
SHA256 a5f3c6f0a98c3cf9336f60389f655689597543f0ec6a5f8ca5675488f65097c6
MD5 48e9e594ec46e5558a3aacf76961cda6
BLAKE2b-256 961df2e41075cb831d0de2adec5ceac314927718c3d09f5d299553a745272a06

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-win_amd64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-win_amd64.whl
Algorithm Hash digest
SHA256 d1666ee26b5958fd52211de27240bb7ec665caad1b153bcbbefa21c504a2122a
MD5 c160d549bfa164a91804a723c8596ecb
BLAKE2b-256 37dd3864cf946c5a58e213a3d1b659d1e32fc532db2e77fcb14becd87ea4b688

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-win32.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-win32.whl
Algorithm Hash digest
SHA256 28e870df2b07ac4553267f97e78aa4a844d20d8c29cb30183be4922d5c764011
MD5 7393d1eeca9ec2b3d85bfc98f14e60a9
BLAKE2b-256 51bf250ab69ae72f1a2cf08d8d862b0a20988f6b0425d10d1e426ac1bfd3aebf

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2f4fea74bafbaf2c2b5944a1e7799cfbb7fc9db6ce51e0c5cfd26640953ad95
MD5 1da1d975821de58199d510156063f4a1
BLAKE2b-256 a1f5e6c318f7677e7c286cbf620a20b07ca1b77f3bf8877655b43cfdd3aabf1f

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9041855552bc234d6fccbf47de0ded297316ef61ad351fe9416c5ca538b07437
MD5 37d0b1fa6225c274a14cfc5380999a1b
BLAKE2b-256 1fb579ff0d70f8bfb6929c2f34eac273e4fb1221b33a5e1194fcd6208c4d0454

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f97e01f7eea954f3af19ac4623c19eb4cbdf5e96af6f90a3a0f0c11aa318a7f
MD5 9e83021c224db96ea340a2a35fc01412
BLAKE2b-256 b3a38396cd8ce6bc2f7c9ccf388bd4db27bec6a57931c11aa515d0c7771b81b1

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 819ba18f498aacdcde74b7759610c7cec30c99f86020923ef87ddc0d807b6fba
MD5 6ab67872b68e680927b833bbb9d8bfd4
BLAKE2b-256 e450d5f514fe6a3274741fc8e936ea2d8f56501a5a8d03ac2fa7b54c0c04a574

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-win_arm64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 419bb7313e94c39a2648ee118b8ae94f3a0a2683ffeec3717d0b6623ff1edc2f
MD5 0135d6b4ef375937ad74a23cc27e8a8c
BLAKE2b-256 199fe2237125aef97c01e6cf74668ea1bd4d274f9227a6ae9b1ab12bb93f2c10

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 876791699c523010dcf2dc0a20c258133908b6f58625dba1bc4ff7a1edaf5206
MD5 69843ae6090829de089339f951b7ff42
BLAKE2b-256 d4e89404f7206846736289b4a26c1b08468f8939ff087430c0c9b16fc8e10aa9

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-win32.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 44e1f1016ffb7bbd4052ebc1e540c6d795556d07a84fd95b95600d182226d9c1
MD5 3ecfadfb9defed2b5ddcac02e92463d3
BLAKE2b-256 24f5ccb06e6522bede047164a40519b2d3062d84463a2d2299f2bc62f5fa0099

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98f6d28aaea32dbaa5ed74ea72cda24843aefd93592b8e60bf899210a6c3087d
MD5 6f5e6c2a881afc317d18a0e8b8303877
BLAKE2b-256 68a1f44d90af06ae978d48ac91e52d17ec333e51df89301779d31725e6a245f0

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 350fc60cabccc396feb54899150a057f89275e61de6b9f02484f367b72aebdd0
MD5 6a00546ba67b93c11f7da11752c3dd99
BLAKE2b-256 f800ef25e2942467990fcf6bc73275f7c82424aae1866f44d9cd8a20becae620

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c36d2695685a4f62d48eaef2f067a602045b3eb5c8c67f51acb7a3ae75354cc0
MD5 11aaa37e3862896e6de2855f8516347c
BLAKE2b-256 e5491bcc2e2b3836a8223e8ac54c8e62d651e6b920ee3e333d6e06ea02d67ad5

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 35e08e1ec0a76db3464fcb24f93b2326f0a67731e139759febc4206cb79e5b79
MD5 4490ea51afc1534bbffb31cba481f1c6
BLAKE2b-256 e4f5044104919243bfe4c3ce216676205cefa002e3b63dd68ccfb468f4efb9e7

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-win_arm64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 27496cfd145ece1ef9b1eced0ec8fbb1fa9cf5b26f83986714750d985687ef0d
MD5 59a3a21e057ca488096a9c23b85d2596
BLAKE2b-256 0ce95a3a8a02f55745d297bc5280d6d27d44bad678b363b2e3fd9482ee764072

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1d0122334fdd5a24c7376d5a301c47aaeef0bd35b7aa29835ce1ea16576c7a22
MD5 e53a3a388118b17258c9fbac8385ca2c
BLAKE2b-256 4930d61846e96e4f834d7ff83e627e900e9fa1cf98c2c5d68f2dc7acce229bf8

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-win32.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-win32.whl
Algorithm Hash digest
SHA256 b0e3656d6e10be7f3cad486d242f9007eed2500f5b0276383c0b3134bd37907a
MD5 027579bff9451bf56cb29c68b629c1a9
BLAKE2b-256 7114fb8a2b475738e02db0c3dabe5f3d0465e05f33a9f87cf0fa1a09f23b9abf

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl
Algorithm Hash digest
SHA256 1190d6879b74f4e4d826f5853cd90e4b246b90e1eb40782661168d1b739d6cb1
MD5 c1033315667c102471d1965297bb38a6
BLAKE2b-256 d6e9a3ddcbf9b4fde2a33f582e3f3090bb86fd7174aa8d6a9281422a1719d08c

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 37e3794bb468a997c50c5beaaa64bb1f6adca9e64b73d9b55ca45ddc1aa28c6b
MD5 714a4492e486c03954a0261dcf1a5bca
BLAKE2b-256 dc64e1b90d8ddf44ef3a4a56815434548f40c2f043ec860e997325c9a055225d

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl
Algorithm Hash digest
SHA256 cf50fc8d79f349474357c5d39f9c6a6eac36bba18ec4ada5e7431cf7de9454ee
MD5 6584b1b70d088ac0a9ec3097afaaca74
BLAKE2b-256 b5a205041dafaa35227e8d8cda3eb5ef84a22e0e0d6271dbc324e75103b9bac4

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 217fc4e219d5bfc39a349580b814c95320b671b360562c6297ffd6e92213389b
MD5 e2b15c9b31af130b12f7cd13f5c51752
BLAKE2b-256 04020cddd218ade2f878d4817b25c5f65312b050c4b44c99e5db6b0c9b28f9c8

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea79d49f2b69801616ba67f54d42c620cfa35ae3349e6dc031945b5d6878fa44
MD5 17dd00cc5ac421e45d2d04edfde595ec
BLAKE2b-256 6376c4af439f67488f21a6ba7258624c2fe009b078591b8b46b54c7dd88dc329

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ec637582148d5136623aebe46c20058db2c77c83d9d563638007fd09e007b0a
MD5 f3eb6b79cd89c59ee6c9072d06c69f39
BLAKE2b-256 d6eb5e80fc54261941d5cbc946d5689ef9cb9236a3bb6cabe3d4a2e9a1f01fdb

See more details on using hashes here.

File details

Details for the file transformations-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for transformations-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d17b0b592f12e664ba4baef812674228e70553a3d7b3767dcbd6a56c83330abb
MD5 38ad7c171991a4f798069a45cddb6757
BLAKE2b-256 d806365ffb2ccc8851e3656d7d2b7b43ed7f521153748c955406e820fd668beb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page