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__ Not Implemented NumpyDivModMixin
__rdivmod__ Not Implemented 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__ Not Implemented 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
__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.4.2.tar.gz (82.2 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.4.2-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quax_blocks-0.4.2.tar.gz
Algorithm Hash digest
SHA256 b4991f3fa39c89623ddfc1ea48b718f02f2ab29cf2966b11be2cea06df7e5087
MD5 ec196a260602fd32bb6dd54c49b41606
BLAKE2b-256 080fed55bfc71310dd7d6a13f7a0bc2585a57212c2317730168a423920d0169f

See more details on using hashes here.

Provenance

The following attestation bundles were made for quax_blocks-0.4.2.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.4.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for quax_blocks-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 41dd3649c0fe6a28fd8539c92ce67cf0592a29acae438e07ac707d57df3561ba
MD5 280a4e26c9b1237940c1ba27299c656f
BLAKE2b-256 4429a7d1a7bbdf14c4acde43649fc905d8002b4ef46bdfe06a218decc2fb9240

See more details on using hashes here.

Provenance

The following attestation bundles were made for quax_blocks-0.4.2-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

0.5.0

2 files

This release

0.4.2 This release

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