Skip to main content

Building blocks for Quax classes

Project description

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 brings 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, please consider citing this work.

Project details


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.1.tar.gz (59.0 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.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quax_blocks-0.1.tar.gz
Algorithm Hash digest
SHA256 5c24c4fed433ff0e7aef271dccdde7e715bbc8058729d96be7db3aae68800e27
MD5 7a773ac1dc5d281b1350e3e03689524d
BLAKE2b-256 e5c227e034789d45fbd6fbdb950504e2b8deeb0d1221786a8953e87eac7f85de

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for quax_blocks-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c692134bf17529222bda63a032506098a2824302b3d42973e11644f9a5055ea
MD5 beb3ac84ea54f289043f5eb72397820c
BLAKE2b-256 13a7bf1f54c011591e9401679ae8363cff00a55ee298edce74bbcb6a4a520970

See more details on using hashes here.

Provenance

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page