Skip to main content

NumPy compatible non-contiguous arrays.

Project description

ncarray

Release buildLicense: MPL 2.0

Status

This is an early alpha release. The project is still in the very early stages of development.

Documentation is entirely lacking, as are test suites.

Overview

ncarray provides a number of C++ array classes, compatible with NumPy, for working with non-contiguous data that cannot be described exclusively by strides. Specifically, these classes deal with data described by pointer-to-pointer setups/tables (double pointers, i.e. suboffsets in the Python world).

The library provides views for views of data on the CPU and GPU (Linux/Windows only). When working on the device, array objects can be passed directly into kernels and device functions - if they are views. Owner-type arrays must be worked with from the host, but a view can be created using the .view() function.

Who is this for?

NumPy is extraordinarily powerful and flexible; however, it is designed for dealing with strided memory layouts. When dealing with disjoint collections of data spread out over, you would typically be forced to copy each section into a contiguous buffer to consider the entire set as a single array. When dealing with a large number of arrays, or under tight performance constraints, this may be prohibitively costly. ncarray is intended to provide a wrapper (known as a span, or view in many languages and libraries) over these disjoint arrays, without needing any initial copy.

Features

ncarray is a C++20 generic library. Python bindings are provided by pybind11, although the C++ library can be used standalone, or wrapped using other techniques. The current set of features are:

  • Pointer axis support - zero-copy on disjoint sets of arrays
  • Type and concept system with various traits allowing for automatic type promotion (small int to wide int) when accumulating, or implementations of comparison operators for types like std::complex<T>.
  • Multi-dimensional array indexing using integers, slices or placeholder axes (ellipsis in Python).
  • NumPy-compatible Python bindings - implements interface methods like __array__ and __array_ufunc__ (Note: These operations may incur copies! The initial views are copy free, but not all operations thereafter)
  • Views of GPU memory using NCDev* or SODev* prefixed arrays.

NOTE: The type and trait system will automatically promote small integers to larger ones. For subtraction, it will convert unsigned to signed. This behaviour may be different than what is done in NumPy.

Example Python Usage

from typing import List

import numpy as np
import numpy.typing as npt

import ncarray # Alias it if you'd like :)

# Construct a disjoint set of arrays - subarrays that are really part of 1 larger one
subarray_list: List[npt.NDArray[np.uint32]] = [
    np.random.randint(1, 255, size=(512,1024), dtype=np.uint16) for _ in range(10)
]

# Create a wrapped reference
ncarr: ncarray.NCArrayRef = ncarray.NCArrayRef(subarray_list)

# Index it
first_two_ptrs: ncarray.NCArrayView = ncarr[:2]

# Down to scalar if you'd like
my_int: int = ncarr[2, 1, 2]

# Scalar broadcasts -- This creates a new OWNING array! (NCArray)
# Supported: +, -, *, / (Will provide % and //, i.e. int division in the future)
scalar_bcast_res: ncarray.NCArray = ncarr + 2

# Array arithmetic, supporting +, -, *, / as above
# Require identical shapes, currently!
# Supportable broadcasts may come later (E.g. a row/col into a 2D array)
other_res: ncarray.NCArray = ncarr + ncarr

# Perform operations on it -- also create new OWNING arrays
# Any ufunc *should* work -- this builds NumPy arrays, however.
# Because of this, these operations are rather slow.
result: ncarray.NCArray = np.sin(ncarr)

Concepts and Terminology

The ncarray library provides a series of array types. These are constructed through the composition of a Layout and a Storage policy specifier in a base ArrayImpl class. At the Python level, the base classes are not made available, and instead, bindings are provided for a number of specializations.

Layout policies

There are two types of layouts which define how the memory of the array is distributed, and provide the mechanism to traverse said memory. These layouts (in the C++ source) are:

  • NCOffsetsPolicy: A layout where there is a single "pointer axis". When traversing this axis, the data is interpreted as a double pointer (alternatively, a pointer table, etc.), and an index is a selection of which pointer to use. Otherwise, the data is traversed using the standard stride mechanism (potential with extra offsets).
  • SOArrayPolicy: A layout implementing PEP3118 suboffsets.

The latter policy is more flexible and general. Anything specified by the former can be specified by the latter. The former was implemented first, however, and it is generally simpler to reason about. It maps naturally to the case where you have a collection of othewise strided/contiguous arrays, but want to consider the collection as a single array. The "collection axis" then becomes the first axis of the array, and is the pointer axis.

Storage policies

There are 3 kinds of storage specifiers:

  • ViewPolicy: Holding only a pointer to the underlying data. This is a pure view (e.g. like a span).
  • RefPolicy: A policy which holds the pointers to the underlying components of the data.
  • OwnerPolicy: A policy where the array actually owns the memory for the data (and is therefore responsible for allocation and freeing of it).

NOTE: The utility of the second policy becomes apparent when trying to construct a view over a collection of arrays in Python. When passed in a list or array of arrays, something needs to provide a stable pointer to all the various segments. This is what the RefPolicy does. As a side effect, however, the construction of a "Ref" type array may have a slightly surprising behaviour on first encounter. Namely, an extra axis is always created, even if the a naked single array is passed in. Once a ref-type array has been created, though, any number of views can be constructed without the extra dimension.

List of array classes

The combination of the above layouts and storage specifier provides 6 fundamental array constructs (these are all interconvertible to view types):

  • NCArrayView
  • NCArrayRef
  • NCArray (Owner type)
  • SOArrayView
  • SOArrayRef
  • SOArray (Owner type)

Important Limitations

The main limitation of the array classes as currently implemented is that they only support up to 10 dimensions. This design choice was made to simplify the interface when making it compatible with both CPU and GPU. If it becomes an important limitation it may be refactored in the future.

GPU support

In addition to the above 6 array classes, there are equivalents for cases where the data lives in GPU memory. These arrays include a Dev in the name, after the layout specifier. E.g. NCDevArrayView or SODevArray. Note that GPU support is only available on Linux and Windows at this time.

Array views can be passed directly into kernels and device functions. Additionally, there are overloads to make use of kernels for binary addition, subtraction and multiplication (with more planned for release soon). All arrays are trivially convertible to views. You can either pass an array to a view type constructor (e.g. NCArrayView(NCArray)), or use the provided the view() method.

NOTE: Owner type arrays cannot be created in device code, even if they are managing device memory. I.e. NCDevArray and SODevArray are not constructible inside kernels or device functions. This is due to their use of dynamic memory allocation - the GPU heap for malloc based allocations is quite small, and synchronization of allocations is quite complex if creating an array in a running kernel (where many threads may be working in parallel). As such, these arrays use host APIs only.

Similarities and Differences Between Python and C++ APIs

For the most part, the Python bindings exactly mirror the C++ bindings. There are, however, a small number of (important) differences:

  • Array indexing is bounds checked in Python, while use of operator[] in C++ is not.

Roadmap

  • Formalize documentation.
  • Test suite.
  • Fancy indexing on all array types (boolean masking etc).
  • DLPack suppport

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

ncarray-0.3.0.tar.gz (54.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ncarray-0.3.0-cp313-cp313-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.13Windows x86-64

ncarray-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ncarray-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncarray-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ncarray-0.3.0-cp312-cp312-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.12Windows x86-64

ncarray-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ncarray-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncarray-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ncarray-0.3.0-cp311-cp311-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.11Windows x86-64

ncarray-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ncarray-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncarray-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ncarray-0.3.0-cp310-cp310-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.10Windows x86-64

ncarray-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ncarray-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncarray-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ncarray-0.3.0-cp39-cp39-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.9Windows x86-64

ncarray-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ncarray-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncarray-0.3.0-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ncarray-0.3.0-cp38-cp38-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.8Windows x86-64

ncarray-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

ncarray-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncarray-0.3.0-cp38-cp38-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file ncarray-0.3.0.tar.gz.

File metadata

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

File hashes

Hashes for ncarray-0.3.0.tar.gz
Algorithm Hash digest
SHA256 435c8b1a9f736d0fe08822e3695288ab94cbf9900fdb8a4022ae6805d9383d13
MD5 db3107774f8e2694df54c625ba0ea177
BLAKE2b-256 d06396034d56897f9da83ed5dabb4e029101f2a26329f8926ff0fe62c34908f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0.tar.gz:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ncarray-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4d0a72f9ba2bf8634f2e900354b32bfdc0868535196b6bb3ce32ed1b9bd5fe3d
MD5 6d15732462760e1077388e7ff7be02ad
BLAKE2b-256 65e13aa61196f03989d7cd7d0f10aaac85e786da2e832317f74d26d222f4d8a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3b9365d3900d7b5e26f09b17b527efd673ad4fe281fbc972f9131388c0d971ab
MD5 04e70f9a8dc234c81a576ccf9bcc4fa2
BLAKE2b-256 36638eac19a80dfa75757a7bd81def64ec4d464f2f643c5b2448785bd955c698

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26469bde5ebb689eb7579fef7f55bffee2c40692a9ccd2ab56541fc292e77c55
MD5 7feab566c50a9c9dd5120954027a37f3
BLAKE2b-256 e2d48e30037a81fc08ea3cba74c225c41201e556ae3b9603449ed63f6760355d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aad681fb7cf2c543d58232a378d1e84ba50e189fcc3450776910bf8c1943d5b5
MD5 f94389d688d68c246ab4124965aab685
BLAKE2b-256 a420f0450aa171fcbce51538c23c8c4fc103c5f5ce5dceffc87484c48c5480ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ncarray-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 daa6ac33893e3de86587d78e2768fdb4acab0f1e2ee8d18420ce72b8bfbbf0b2
MD5 4e206afa0b517993914152ddad974420
BLAKE2b-256 af027c2ec444c1933a47719031fd09669de7ede4cdc6820064b52f5d2e6dc54e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e2b06716fdba49c589087971596032a398bf4c104a8f2a7414b9031a1809c197
MD5 ba287f7550fa5a3e76c0d6b06244e9c4
BLAKE2b-256 df623124e6ab669f90c1d6c97126d633139e97f874656b0f711beb8ef20b70c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 54436e33a3f3cf66a1d7847ddee129677a29928740165a3ce8ce66c7b36fa3a5
MD5 feddc2b64e0bf36829ac82f3543d94d2
BLAKE2b-256 5a82e871114c113c71eb28a91a869f1e8ee85e19d06930b9065f8d8455dee5d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 522bce8e2d64f3a6ace09b1a2b4790b0f7bdb26a8d2c0532cb7ac0285e9247f5
MD5 542ca46624a17170a60314c5d8b93540
BLAKE2b-256 f38e77989bd73f7ba53c7e8945bd71efee13dc9b7f0bde0a74c66b800cae4634

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ncarray-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f82164da293074367b1815f3c320e3d693f0b7822f8e6850954b3c3037a24459
MD5 b5f9cb78913c3decf494eb0ae6849b9d
BLAKE2b-256 9c73b9d6bcabe0f738dba8896e972f36261196ea703a0e0241d184f1a0b1a13c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dc97bad625b97649bcdc1c16939cdceabee4527df63a59c7d2e129ada17dc42d
MD5 50e5ed9845d76ee5204ef7499539bb92
BLAKE2b-256 056aeb115c2741ecf89517ccb180e1539e6cab03d4cfe986a4fe5c8682df30d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 90dabc94cdd7c01c041919780b0570c07c8b92d862416251757f63cf7bfe757a
MD5 2dd814b79ac3e8395afa7f4364bf9154
BLAKE2b-256 9aee9a6d2d8a73e5a376251f06b4b8dcab6fbe6be2930072af824161bfa89e0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a48651e7fadcedc78ef46f9425e5fd63e72092969dde7d8389d7074a09dc2035
MD5 57a509d8cde8cca806660f5eb850d055
BLAKE2b-256 d02a8f8603819dd4cde74350b2f64ccd8acebec3b6d8292ca86e5a2aee1ade7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ncarray-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c48cca1a3b8fa50890220e6fd8521212bb8fc11845b62fe504c27cea1202eb52
MD5 3f5b49b44d7dce0f4a67231d54a8c9e8
BLAKE2b-256 8b82ed5659bfe316d1662d673debce8de2556df4fdb96697cbce913112b01c4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0621fbb3c0d0c20fbeefd87f577f2e5b0e761647559497db4e2d21fc7cfaba88
MD5 971611db196cce5156a5f2c683e0b098
BLAKE2b-256 7f24bcad8c7d1eb49c91c96cd632e8248cdf9aac9cad7baed1f15713a2704dfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f51d4d5020cf39228ff43a7f8915230eb73fcf00575c70450b07136e0fac111b
MD5 e9fc9397739c40deda7b4eed581247d5
BLAKE2b-256 6e7add1a8dcc7c514a72dae7f68389e17ea57d32afc7b2cf6cf427636551f3a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c178d90ca56dfeebb15052ca445019cedaee45950531a7d5d0453053b39595c
MD5 c8d1fae63b25d2e4fcef9121eb51f15d
BLAKE2b-256 e2ab6ba76fa08cfd647f9d41890d4ffafd2756db4a750b43e014b0e02ab83f82

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ncarray-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 020735dc72ee734bb815474a3c8eadf64b33dc5c7c172007a342ae1837a985aa
MD5 d7d45838678e6b5a3c2947cfff47ef03
BLAKE2b-256 cb177492aae38a65a1af78ccc110628c2813a88324230546e0074c63654caccc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp39-cp39-win_amd64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dd8085cface3d5fb031b54d5b159d14cfd96135d47888c6c3d42c099bf1abc46
MD5 698aa3fbc3a167eeb75c94948b24c745
BLAKE2b-256 73b8e2f679608520e7735b42fd4f0c5bc4cc9ce978f0d9340d5ed9b0eb654a23

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7c3b97c671e76dae39df728d91c55b636d0c468417b4e9cceeb5de28fcd9464
MD5 a4cb7c8cce5d9ddbc2b3e86482aa4e6b
BLAKE2b-256 b8ddc70cf193e05925d75707f6363d6c10b51f11e92da61c1590ba3f2f72a2ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b353e50071c9a13f4d26cd78d95b51a3ba15d9990edfa4fa1e65902d8cd54033
MD5 3df6e7b163968c54abb2097dbacea3a3
BLAKE2b-256 34fdc44522b2d88e1d815e2cc0949e54f0110120f1da5e4c90c498e30bc6b744

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ncarray-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 54e2b5238d5cdc8e11d4bd0e5e5c576f57578385ced107789c4ac2c0eb05e2af
MD5 319bde6d0322e2569cfd19d8b5c4da0d
BLAKE2b-256 326fe5a7cc51df78af854383089a5e9392efe19bf5f961dbe596bfe5c39791d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp38-cp38-win_amd64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 92009da7d240852ece9b9fc17d07c27d6d52dbf2a1ca53c4573e98ce0e9a4cc4
MD5 9f28a2e50d0aac91fef610003b2c4e2c
BLAKE2b-256 fc6ae82e2468049e87a25ffa8cc5753d6dee5fcab73c7b57d8c85a01da4d696c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 21adfcaa66552cca7656db14c4f7454c36d14b194f4a2997daedccd0dc64480a
MD5 adcf33c47618edee1bd2a5c11ae04aad
BLAKE2b-256 84705c815da890e061084b3083e003308ee7684d9cdd5f37ad6d0a65b3fbc748

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on XFELPP/ncarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncarray-0.3.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e2bf414bbb857dfb052f267370b908ee3a3b8b3f681628410aaea7b12e10e6c
MD5 d70de6352fcd99c50ecd7ba6bbcc4b5c
BLAKE2b-256 1f10e52e44953456f65cc8f5deb2838349768c019a8875f15589ec97d5810046

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.3.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: release.yml on XFELPP/ncarray

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