Repository navigation
gem 1.0.0 — Official Release
The first modern stable release of pyGameMath / gem.
After an extensive mathematical correctness audit, numerical repairs, performance improvements, documentation overhaul, and cross-platform validation, gem 1.0.0 is officially available on GitHub.
gem is a lightweight, pure-Python graphics and computational mathematics library designed for developers working with geometry, transformations, interpolation, and lighting mathematics.
Features
- Vectors and matrices: Vector operations, transformations, inversion, rotation, scaling, projection, and unprojection.
- Quaternions: Rotation, axis-angle conversions, interpolation (SLERP and SQUAD), and quaternion arithmetic.
- Geometry: Planes, rays, normals, intersections, and geometric utilities.
- Bezier curves: Cubic evaluation and adaptive curve sampling.
- Legendre polynomials: Ordinary and associated polynomial evaluation.
- Spherical harmonics: Basis evaluation, coefficient projection, analytical rotation through L2, and low-order diffuse lighting calculations.
- Interoperability: Python-native mathematical objects with supported ctypes-compatible representations.
The 1.0 mathematical API is frozen, with 268 documented declarations and 43 executable documentation examples.
Quality and verification
This release underwent extensive regression testing and independent mathematical validation.
- 4,071 tests passed in the final Phase 5D prerequisite verification.
- The Phase 5C release candidate passed 4,050 tests across each of 15 Python/OS combinations.
- CPython 3.10–3.14 tested on Linux x86-64, Windows AMD64, and macOS ARM64.
- 60 isolated distribution installation checks passed during candidate verification.
- Wheel and source distribution integrity validated.
- Numerical reference checks cover boundary cases, floating-point limitations, and platform-specific rounding.
- GitHub's final merged-master release validation and protected publication workflow completed successfully.
Platform testing establishes compatibility with the tested interpreter builds and environments, not every possible OS version or architecture.
Installation
Download the wheel and checksum listing from the Assets section below.
Verify the SHA-256 checksum before installing.
Linux/macOS:
sha256sum -c SHA256SUMS
python -m pip install ./gem-1.0.0-py3-none-any.whlWindows PowerShell:
Get-FileHash .\gem-1.0.0-py3-none-any.whl -Algorithm SHA256
py -m pip install .\gem-1.0.0-py3-none-any.whlCompare the Windows checksum with the value in SHA256SUMS before installing.
The source distribution (gem-1.0.0.tar.gz) is also available.
Requirements:
- Python 3.10 or newer
sixas the only mandatory runtime dependency- No compiled numerical backend or OpenGL context required
PyPI publication is pending account recovery. Do not assume pip install gem==1.0.0 installs this GitHub release.
Mathematical conventions and compatibility
gem intentionally preserves established mathematical conventions:
- Matrices use row-major storage and row-vector transformations.
- Quaternions use
[w, x, y, z]ordering and Hamilton multiplication. - Numerical behavior follows documented mathematical domains and IEEE 754 binary64 limitations.
- Historical experimental imports remain available as transitional compatibility shims.
- Canonical modules include `