Install & Compatibility
Where this runs
tested against v0.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
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 19.3MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.4s · import 0.000s · 20MB
17MB installed
● package 17MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Vector3
✓ from euclid3 import Vector3
✗ from euclid import Vector3
The original euclid package (Python 2) uses 'euclid'; euclid3 uses 'euclid3'.
Matrix4
✓ from euclid3 import Matrix4
Quaternion
✓ from euclid3 import Quaternion
Point2
✓ from euclid3 import Point2
Basic usage showing vector cross product, matrix rotation, and quaternion rotation.
from euclid3 import Vector3, Matrix4, Quaternion
v1 = Vector3(1, 2, 3)
v2 = Vector3(4, 5, 6)
print(v1.cross(v2))
m = Matrix4.new_rotate_axis(1.570796, 'z')
rotated = m * v1
print(rotated)
q = Quaternion.new_rotate_axis(1.570796, Vector3(0, 0, 1))
print(q)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'euclid'
Attempted to import the old euclid package (Python 2) instead of euclid3.
fixInstall and import euclid3: pip install euclid3, then 'from euclid3 import Vector3'.
AttributeError: module 'euclid3' has no attribute 'Vector3'
Misspelled the class (e.g., vector3 instead of Vector3) or imported the wrong module.
fixEnsure correct casing: from euclid3 import Vector3
TypeError: unsupported operand type(s) for *: 'Vector3' and 'Vector3' (when trying cross product with *)
euclid3 uses * for dot product, not cross product. For cross product, use .cross() method.
fixUse v1.cross(v2) instead of v1 * v2 for cross product.
Upgrade
Version history
0.01latest on PyPI · released May 14, 2014
Audit
Dependencies
No dependency data recorded yet.