Skip to main content

A Python package for aliased function dispatching to multiple array libraries

Project description

arraylias

License

This repo is still in the early stages of development, there will be breaking API changes

Arraylias is an open-source Python library providing single-dispatching tools centred around the construction of an aliased module. Aliased modules are built by initially registering "libraries" consisting of a collection of types, then registering different versions of a given function in the aliased module for each underlying type library. When using the aliased module, function calls are automatically dispatched to version of the function for the correct library based on the type of the first argument.

Arraylias contains default pre-built aliased versions of both NumPy and Scipy, with additional registration of the JAX and Tensorflow array libraries. This enables writing NumPy and Scipy like code that will execute on NumPy, JAX, and Tensorflow array objects as if it had been written in the respective native libraries. If necessary, these default aliases can be further extended to fit the needs of the application.

Reference documentation may be found here, including tutorials, user guide, and API reference.

Installation

Arraylias is installed by using pip:

pip install arraylias

Contribution Guidelines

If you'd like to contribute to Arraylias, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating, you are expected to uphold this code.

We use GitHub issues for tracking requests and bugs. For questions that are more suited for a forum we use the Qiskit tag in the Stack Exchange.

Authors and Citation

License

Apache License 2.0

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

arraylias-0.1.1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

arraylias-0.1.1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file arraylias-0.1.1.tar.gz.

File metadata

  • Download URL: arraylias-0.1.1.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for arraylias-0.1.1.tar.gz
Algorithm Hash digest
SHA256 80678a00a6a716e63379efdad54b9ea6454885021189d6241facd7f3991d5200
MD5 9d82a4de1f4504c61d419b9238cd0943
BLAKE2b-256 f57e2b6290e0e191770cdaf225d326c12b677f0e287b07371e3c5b59cf4e2b35

See more details on using hashes here.

File details

Details for the file arraylias-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: arraylias-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for arraylias-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 890ef262cd65e03dbca3bd655dac8236f40613ead7b5b4be7f519015142f8482
MD5 b3a27f1e5c4ef341357b0a0865edbe7e
BLAKE2b-256 5baf8e0078fb351a37726665753fe23523cf07ec6a14520380cee73259cae3a4

See more details on using hashes here.

Supported by

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