Skip to main content

Nada-Numpy is a Python library designed for algebraic operations on NumPy-like array objects on top of Nada DSL and Nillion Network.

Project description

Nada-Numpy

GitHub License GitHub Actions Workflow Status GitHub Release

Features

Use Numpy Array Features

  • Dot Product: Compute the dot product between two NadaArray objects.
  • Element-wise Operations: Perform element-wise addition, subtraction, multiplication, and division with broadcasting support.
  • Stacking: Horizontally and vertically stack arrays.

Use additional Array helpers

  • Shuffling: Our implementation shuffles a 1D array using the Benes network, which rearranges elements in a deterministic yet seemingly random order. The Benes network is commonly used in sorting and switching circuits and requires the input array length to be a power of two (e.g., 2, 4, 8, 16). The shuffled array contains the same elements as the input, just in a different order.

Use Decimal Numbers in Nada

  • Rational Number Support: Our implementation of Rational and SecretRational allows the use of simplified implementations of decimal numbers on top of Nillion.

Installation

Using pip

pip install nada-numpy

From Sources

You can install the nada-numpy library using Poetry:

git clone https://github.com/NillionNetwork/nada-numpy.git
pip3 install ./nada-numpy

Testing

To test that the version installed works as expected, you can use poetry as follows:

poetry install
poetry run pytest

Join Nillion community and contribute

Please join the Nillion community on Discord.

See the CONTRIBUTING file for how to contribute to nada-numpy.

License

This project is licensed under the Apache2 License. See the LICENSE file for details.

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

nada_numpy-0.6.0.tar.gz (47.8 kB view details)

Uploaded Source

Built Distribution

nada_numpy-0.6.0-py3-none-any.whl (50.1 kB view details)

Uploaded Python 3

File details

Details for the file nada_numpy-0.6.0.tar.gz.

File metadata

  • Download URL: nada_numpy-0.6.0.tar.gz
  • Upload date:
  • Size: 47.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure

File hashes

Hashes for nada_numpy-0.6.0.tar.gz
Algorithm Hash digest
SHA256 54c935eb5b4671afb92e8d0ca9c9147ada36dc78f618e82f8430af85fd66ac93
MD5 f41087197bb26211ccf4f8c5f91409ef
BLAKE2b-256 7fe47ebb1ad4ea4cd216cd5dce3312cf5d97aecf2f23c03a8805d2d6e197bd4b

See more details on using hashes here.

File details

Details for the file nada_numpy-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: nada_numpy-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 50.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure

File hashes

Hashes for nada_numpy-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fa092bc8c1e7b249fc6a6466f54f2bc09bc3f0ddf5d22738463b802a1969855
MD5 be1eb2e5317327ea623210ef5fc530b0
BLAKE2b-256 3ac0e3bb9781dfb983b2b048dc54f0bd4fa70801a16e7e9a9885739d823d2477

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