Skip to content

Releases: unswei/blackwell

Blackwell 0.0.3: Python 3.10 support

Choose a tag to compare

@OliverObst OliverObst released this 04 Oct 03:24
0e59821

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 blackwell

Python 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 jax

Validation

  • 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.

Installation guide · Full changes

Blackwell 0.0.2

Choose a tag to compare

@OliverObst OliverObst released this 19 Sep 23:26
143f4cd

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.2

SE(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 in xyzw order. Covariance uses six body tangent coordinates: translation rho, then rotation phi.
  • 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.

Full changes

Blackwell 0.0.1

Choose a tag to compare

@OliverObst OliverObst released this 29 Aug 10:53

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 blackwell

Blackwell remains pre-alpha: the supported surface is deliberately small, and API changes are possible before version 1.0.