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

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.4.0.tar.gz (63.9 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.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quax_blocks-0.4.0.tar.gz
  • Upload date:
  • Size: 63.9 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.0.tar.gz
Algorithm Hash digest
SHA256 fda3b657048257d9754e01ed1c5e2054cf7ee5ec8d9841cef106f6ef3734b95e
MD5 b9073168ee8aa1d36872406d836d560d
BLAKE2b-256 cddf8ecb883325d33d5e4441c0d9ba259506576c1b35196d6442d563b7c47d85

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: quax_blocks-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fbec2bce4c79c70d672abbdfd1e9b058744fc0a3f71209e7b21d33374b5efbbf
MD5 f50ba6142073f777e75f87ddb1b6ca64
BLAKE2b-256 34867c897ab165e44e754e2649331a9ce32749056eb910d8605d13bf547d53ec

See more details on using hashes here.

Provenance

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

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