Repository navigation
Releases: unswei/blackwell
Release list
Blackwell 0.0.3: Python 3.10 support
Blackwell 0.0.3 adds official Python 3.10 support, preserving the public API from 0.0.2.
Install or upgrade:
python -m pip install --upgrade blackwellPython and JAX compatibility
The runtime dependency remains jax>=0.6. Installers select JAX using its Python compatibility metadata; the universal development lock records:
| Python | Locked JAX |
|---|---|
| 3.10 | 0.6.2 |
| 3.11 | 0.10.2 |
| 3.12 and newer | 0.11.1 |
The interpreter running the installer determines the version selection. To use Python 3.11 and upgrade JAX explicitly:
python3.11 -m pip install --upgrade blackwell jaxValidation
- All 91 tests and both release examples pass against clean installed wheels on Python 3.10/JAX 0.6.2 and Python 3.11/JAX 0.10.2 locally.
- CI tests Linux/Python 3.10, 3.11 and 3.12, and macOS/Python 3.13.
- The release workflow verifies the built wheel and examples in clean Python 3.10–3.13 environments before PyPI publication.
- Lint, strict documentation build, wheel/source builds and strict distribution metadata checks pass.
Package metadata, Python classifiers, Ruff configuration, lockfile, citation, changelog and installation/platform documentation have been updated.
Blackwell 0.0.2
Blackwell 0.0.2 adds SE(3) geometry and uncertainty propagation for 3D transforms and points.
Install or upgrade:
python -m pip install --upgrade blackwell==0.0.2SE(3) support
- Composition, inverse, point action, exponential/logarithm, right retraction, local coordinates, adjoint and covariance transport in
blackwell.spaces.se3. - Poses use
[x, y, z, qx, qy, qz, qw]with Hamilton quaternions inxyzworder. Covariance uses six body tangent coordinates: translationrho, then rotationphi. - Generic JAX differentiation supports transform composition/inversion and point transformation, including explicit cross-covariances for correlated inputs.
- Existing Gaussian and particle belief containers and filter kernels remain compatible.
Validation
All 91 tests pass on the supported Linux/macOS CI configurations. Local checks also covered the built wheel with minimum-supported JAX 0.6.0, float32/float64 geometry, forward/reverse differentiation, principal-logarithm boundaries and equivalent quaternion signs.
A seeded 50,000-point Monte Carlo experiment differs from the first-order covariance by 0.69%; discarding correlation raises the error to approximately 29%. The principal logarithm remains discontinuous at 180° and Gaussian propagation is a local approximation.
Documentation
This release advances the wider v0.1 plan. GPU/Jetson validation, additional spaces, richer evaluation metrics and inertial models remain future work.
Blackwell 0.0.1
Blackwell 0.0.1 is the first public release of the JAX-native, manifold-aware probabilistic robotics library.
Included
- Immutable Gaussian and particle belief containers compatible with JAX transformations
- Euclidean and SE(2) state spaces with tangent-coordinate uncertainty
- Linear, SE(2) body-motion and landmark range-bearing models
- Extended Kalman and bootstrap particle filters
- Reproducible simulation, RMSE and NEES evaluation utilities
- Runnable localisation examples and a complete online manual
Install from PyPI:
pip install blackwellBlackwell remains pre-alpha: the supported surface is deliberately small, and API changes are possible before version 1.0.