Skip to main content

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

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quax_blocks-0.5.0.tar.gz (138.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quax_blocks-0.5.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file quax_blocks-0.5.0.tar.gz.

File metadata

  • Download URL: quax_blocks-0.5.0.tar.gz
  • Upload date:
  • Size: 138.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for quax_blocks-0.5.0.tar.gz
Algorithm Hash digest
SHA256 874effa5777aaf48a8bc1a2ef5397d93131ac3f00166b69da5d1d5f7e71232ae
MD5 1e70c42ccd9ae361d168ae5e2f988b8b
BLAKE2b-256 4540a9197e785f32ab31037266f4834d44d36f1ea8676f52f1af00a719c802df

See more details on using hashes here.

Provenance

The following attestation bundles were made for quax_blocks-0.5.0.tar.gz:

Publisher: cd.yml on GalacticDynamics/quax-blocks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quax_blocks-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: quax_blocks-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for quax_blocks-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03e9deba2d6c6b51be47108ec52e4b991b7f466529aadab4abddf6fa68be2d60
MD5 1fd04c50f050bbc309293bac69fa30ea
BLAKE2b-256 00e2f8e50cc72cf5e92d7056d70d396dbee01172133bd081d6d85026c56916c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for quax_blocks-0.5.0-py3-none-any.whl:

Publisher: cd.yml on GalacticDynamics/quax-blocks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3

2 files

0.2

2 files

0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page