README.md

July 20, 2026 ยท View on GitHub

quax-blocks

Building blocks for Quax classes

PyPI: quax-blocks PyPI versions: quax-blocks quax-blocks license

CI status codecov ruff ruff pre-commit


quax enables JAX to work with custom array-ish objects. This library provides the building blocks, like comparison operators, for building quax-compatible classes.

Installation

PyPI version PyPI platforms

pip install quax-blocks

Documentation

Rich Comparison Operators

Comparison OperatorLax OperatorNumPy Operator
All ComparisonsLaxComparisonMixinNumpyComparisonMixin
__eq__LaxEqMixinNumpyEqMixin
__ne__LaxNeMixinNumpyNeMixin
__lt__LaxLtMixinNumpyLtMixin
__le__LaxLeMixinNumpyLeMixin
__gt__LaxGtMixinNumpyGtMixin
__ge__LaxGeMixinNumpyGeMixin

Binary Operators

Binary OperatorLax OperatorNumPy Operator
All Binary OperationsLaxBinaryOpsMixinNumpyBinaryOpsMixin
All Float OperationsLaxMathMixinNumpyMathMixin
__add__LaxAddMixinNumpyAddMixin
__radd__LaxRAddMixinNumpyRAddMixin
__sub__LaxSubMixinNumpySubMixin
__rsub__LaxRSubMixinNumpyRSubMixin
__mul__LaxMulMixinNumpyMulMixin
__rmul__LaxRMulMixinNumpyRMulMixin
__matmul__LaxMatMulMixinNumpyMatMulMixin
__rmatmul__LaxRMatMulMixinNumpyRMatMulMixin
__truediv__LaxTrueDivMixinNumpyTrueDivMixin
__rtruediv__LaxRTrueDivMixinNumpyRTrueDivMixin
__floordiv__LaxFloorDivMixinNumpyFloorDivMixin
__rfloordiv__LaxRFloorDivMixinNumpyRFloorDivMixin
__mod__LaxModMixinNumpyModMixin
__rmod__LaxRModMixinNumpyRModMixin
__divmod__LaxDivModMixinNumpyDivModMixin
__rdivmod__LaxRDivModMixinNumpyRDivModMixin
__pow__LaxPowMixinNumpyPowMixin
__rpow__LaxRPowMixinNumpyRPowMixin
All Bitwise OperationsLaxBitwiseMixinNumpyBitwiseMixin
__lshift__LaxLShiftMixinNumpyLShiftMixin
__rlshift__LaxRLShiftMixinNumpyRLShiftMixin
__rshift__LaxRShiftMixinNumpyRShiftMixin
__rrshift__LaxRRShiftMixinNumpyRRShiftMixin
__and__LaxAndMixinNumpyAndMixin
__rand__LaxRAndMixinNumpyRAndMixin
__xor__LaxXorMixinNumpyXorMixin
__rxor__LaxRXorMixinNumpyRXorMixin
__or__LaxOrMixinNumpyOrMixin
__ror__LaxROrMixinNumpyROrMixin

Unary Operators

Unary OperatorLax OperatorNumPy Operator
All Unary OperationsLaxUnaryMixinNumpyUnaryMixin
__pos__LaxPosMixinNumpyPosMixin
__neg__LaxNegMixinNumpyNegMixin
__abs__LaxAbsMixinNumpyAbsMixin
__invert__LaxInvertMixinNumpyInvertMixin

Rounding Operators

Unary OperatorLax OperatorNumPy Operator
__round__LaxRoundMixinNumpyRoundMixin
__trunc__LaxTruncMixinNumpyTruncMixin
__floor__LaxFloorMixinNumpyFloorMixin
__ceil__LaxCeilMixinNumpyCeilMixin

Containers

Container OperatorLax OperatorNumPy Operator
__len__LaxLenMixinNumpyLenMixin
__getitem__Not ImplementedNumpyGetItemMixin
__length_hint__LaxLengthHintMixinNumpyLengthHintMixin

Copy Operators

Copy OperatorNumPy Operator
__copy__NumpyCopyMixin
__deepcopy__NumpyDeepCopyMixin

Development

Actions Status codecov SPEC 0 โ€” Minimum Supported Dependencies pre-commit ruff

We welcome contributions!

Citation

DOI

If you found this library to be useful and want to support the development and maintenance of lower-level utility libraries for the scientific community, consider citing this work.