Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ADR 0006 — Build own Quantity, not unxt/quax

0006 — Build own Quantity (pure-equinox) instead of adopting unxt or quax

Context

jaxstro needed unit-aware array support for the emerging need to track dimensions at I/O edges. Options were to adopt unxt (SoTA, astropy-backed), adopt quax (transparent dispatch), or build a minimal custom Quantity class from scratch.

Decision

Build our own jaxstro.quantity: Quantity class as a pure-equinox module (value + dimension) with explicit .to()/.value unwrap at JAX boundaries. Zero new dependencies. Opt-in and experimental in 0.1.0; no sibling package forced to migrate.

Rationale

Note: Lands as experimental-only in 0.1.0 if it does not delay the release; else deferred to 0.2.0.