README.md
July 20, 2026 ยท View on GitHub
quax-blocks
Building blocks for Quax classes
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
pip install quax-blocks
Documentation
Rich Comparison Operators
| Comparison Operator | Lax Operator | NumPy Operator |
|---|---|---|
| All Comparisons | LaxComparisonMixin | NumpyComparisonMixin |
__eq__ | LaxEqMixin | NumpyEqMixin |
__ne__ | LaxNeMixin | NumpyNeMixin |
__lt__ | LaxLtMixin | NumpyLtMixin |
__le__ | LaxLeMixin | NumpyLeMixin |
__gt__ | LaxGtMixin | NumpyGtMixin |
__ge__ | LaxGeMixin | NumpyGeMixin |
Binary Operators
| Binary Operator | Lax Operator | NumPy Operator |
|---|---|---|
| All Binary Operations | LaxBinaryOpsMixin | NumpyBinaryOpsMixin |
| All Float Operations | LaxMathMixin | NumpyMathMixin |
__add__ | LaxAddMixin | NumpyAddMixin |
__radd__ | LaxRAddMixin | NumpyRAddMixin |
__sub__ | LaxSubMixin | NumpySubMixin |
__rsub__ | LaxRSubMixin | NumpyRSubMixin |
__mul__ | LaxMulMixin | NumpyMulMixin |
__rmul__ | LaxRMulMixin | NumpyRMulMixin |
__matmul__ | LaxMatMulMixin | NumpyMatMulMixin |
__rmatmul__ | LaxRMatMulMixin | NumpyRMatMulMixin |
__truediv__ | LaxTrueDivMixin | NumpyTrueDivMixin |
__rtruediv__ | LaxRTrueDivMixin | NumpyRTrueDivMixin |
__floordiv__ | LaxFloorDivMixin | NumpyFloorDivMixin |
__rfloordiv__ | LaxRFloorDivMixin | NumpyRFloorDivMixin |
__mod__ | LaxModMixin | NumpyModMixin |
__rmod__ | LaxRModMixin | NumpyRModMixin |
__divmod__ | LaxDivModMixin | NumpyDivModMixin |
__rdivmod__ | LaxRDivModMixin | NumpyRDivModMixin |
__pow__ | LaxPowMixin | NumpyPowMixin |
__rpow__ | LaxRPowMixin | NumpyRPowMixin |
| All Bitwise Operations | LaxBitwiseMixin | NumpyBitwiseMixin |
__lshift__ | LaxLShiftMixin | NumpyLShiftMixin |
__rlshift__ | LaxRLShiftMixin | NumpyRLShiftMixin |
__rshift__ | LaxRShiftMixin | NumpyRShiftMixin |
__rrshift__ | LaxRRShiftMixin | NumpyRRShiftMixin |
__and__ | LaxAndMixin | NumpyAndMixin |
__rand__ | LaxRAndMixin | NumpyRAndMixin |
__xor__ | LaxXorMixin | NumpyXorMixin |
__rxor__ | LaxRXorMixin | NumpyRXorMixin |
__or__ | LaxOrMixin | NumpyOrMixin |
__ror__ | LaxROrMixin | NumpyROrMixin |
Unary Operators
| Unary Operator | Lax Operator | NumPy Operator |
|---|---|---|
| All Unary Operations | LaxUnaryMixin | NumpyUnaryMixin |
__pos__ | LaxPosMixin | NumpyPosMixin |
__neg__ | LaxNegMixin | NumpyNegMixin |
__abs__ | LaxAbsMixin | NumpyAbsMixin |
__invert__ | LaxInvertMixin | NumpyInvertMixin |
Rounding Operators
| Unary Operator | Lax Operator | NumPy Operator |
|---|---|---|
__round__ | LaxRoundMixin | NumpyRoundMixin |
__trunc__ | LaxTruncMixin | NumpyTruncMixin |
__floor__ | LaxFloorMixin | NumpyFloorMixin |
__ceil__ | LaxCeilMixin | NumpyCeilMixin |
Containers
| Container Operator | Lax Operator | NumPy Operator |
|---|---|---|
__len__ | LaxLenMixin | NumpyLenMixin |
__getitem__ | Not Implemented | NumpyGetItemMixin |
__length_hint__ | LaxLengthHintMixin | NumpyLengthHintMixin |
Copy Operators
| Copy Operator | NumPy Operator |
|---|---|
__copy__ | NumpyCopyMixin |
__deepcopy__ | NumpyDeepCopyMixin |
Development
We welcome contributions!
Citation
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.