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.2.0.tar.gz (49.1 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.2.0-cp313-cp313-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows x86-64

ncarray-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ncarray-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

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

ncarray-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ncarray-0.2.0-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

ncarray-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ncarray-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

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

ncarray-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ncarray-0.2.0-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

ncarray-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ncarray-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

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

ncarray-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ncarray-0.2.0-cp310-cp310-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10Windows x86-64

ncarray-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ncarray-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

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

ncarray-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ncarray-0.2.0-cp39-cp39-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.9Windows x86-64

ncarray-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ncarray-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

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

ncarray-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ncarray-0.2.0-cp38-cp38-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.8Windows x86-64

ncarray-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

ncarray-0.2.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

ncarray-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for ncarray-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2cf28ca0e7b20bda8d415262b9e1d18257ca650a533273263f8f7817da6e0de9
MD5 4c57ef4f45233e62a0ebb1d531ac86af
BLAKE2b-256 07e4c0b1d68eb0f662b0b3dbb40e3cfe343a75d3c84b7150a7e4e2a83d7f88bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.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.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 13fda2c5c9452247d3a22b005a44e1cb7bf2b72f00e62b18dfe26f4e77ef4c43
MD5 f177b928a693230a59df9f1427ab11b0
BLAKE2b-256 fe2cf15dfcaae99104e90b60fd77c00927ae1368050b69ac89a78c5c0ec7b7e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2cd8528a2da50d9d6d09a6b7df514d6d63dcf9565fd71b96cd1995cd91738007
MD5 8707aedc64af4e24a6f27727e2fb0c79
BLAKE2b-256 89eaf8f2eeae63228333273bf2159e45ff302d17395d8fe0d082b606be140b4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da69bac851e774e20489a8ea2c445bea29acd75564c254ed04daaa3ac4954574
MD5 cb6a6bc26193aa02dcc3aff35790f812
BLAKE2b-256 888c0753b27fe9549b651c79711da8ba4383799a28670e68fb8f41cd4578b96f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dff4627eafb317bd5a83e843983aace9c6f738348328bcfa7a59b3ee7a3bed3
MD5 caccf4ab64c23ec32accc21f2989b377
BLAKE2b-256 ba407e0a78e456d8b9cb913664b55c6518da21839e4c102274cc26eaad4ab0c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.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.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ac870ee6672650233b5484f0ae9c4cb6251da40dc93517656db882a118fbed73
MD5 e8fc56bb372628017477db3660ba4629
BLAKE2b-256 afdccaa1b11b8ad7718a80977e3adfac1aff115f2a76dec53486017c381a935d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 078a86824bbb4c429233ba461523e2fe50804a67a8bbc8a633e57325eaf31722
MD5 abf81ff6d96cef21813d30ef3706ea8b
BLAKE2b-256 aa565c49ba28a63fc00e1bf0ba6810ffc0dc1c7928336d0f3805877b23156318

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0198def576f2a052486b96e1114d1ee651dc6ec5412d1445470ed8ae878482c7
MD5 7ed393e6d9041346df808997a6942312
BLAKE2b-256 306dfdf49dd645ab27cc3fc08c8663b2b06a6d8cdd87bf8f4ebfd3829a812f19

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e79db51939bda4cbac00e98874e377054d360d952df0ede200bb772447fcd77
MD5 f68cdc3a225f816237f79327570814b1
BLAKE2b-256 34add8f150ccdb71eeb6ec617bc13d4accaa06d30404e02e568e8e731ace5f14

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.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.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 caf63cde432b43dd5fd17f77a96dd5bf0cc17ff135363fbf1b170be54f6eec3d
MD5 6615714bf46ef919763cb154248e5628
BLAKE2b-256 dde290dfa174a1f56427c4412482ade1290757cd2f98173c9afa03eab4571339

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 679ea72890f849ada7ab95381b15ccd2be148d33d5b0ca6b17a5dd3494a96f54
MD5 fef01e6d4946925f5743e58d211bc076
BLAKE2b-256 1921807a0ff5a738a7b40ab9e5de15d5a51194b5fe916de185f76f18aa28470a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94a794200c966f953b8cc918642ec0bb8a2afefa634db4a3baf7b6784e508f81
MD5 6d27598f867858583dbc4e091eccde29
BLAKE2b-256 81c2269590a0ed0625cbf3f80871bcd2500444b457c4e11fee1da10640bf62e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac47ea76b67257f3755bb7baa3a8968ba44697ea3b4a260322bcd05d1c48267c
MD5 f351dbb24df6e0f3a7ee0215d43346c7
BLAKE2b-256 c2eea45e5bcf00f6c289f69a2d14558f759c1f5a8a795feb294a826a16a4ba7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.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.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a11ac9493d6581b0c012478481e772384b75ae3885336f5e592cae58c2516399
MD5 3aca6120ce0ac273d50763ab1ae94fee
BLAKE2b-256 7f5fee7a8ed4f017d655e4d98c6d09638101036e64ac65ec0c87262483b8cbbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f605d9b73906735542c26f4a86789bf73e24d69d6f1606d37c81407450d0ca9d
MD5 340a8fbb4583f0e2ded174f1915a3171
BLAKE2b-256 2a36e5c5a7770fb333c67344cec3517ca531eba65bf8f863978424dd14a2501e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e14c2cef8a9e2a5c1a846406502c498582839434417d90624e9601b896b83e5
MD5 ee502e9364754560bd1123d8bf3dae64
BLAKE2b-256 8915bcd945538783ddbc38c31574bd542b651250b493b7a25af0fd579b072e1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fcff111bef7c93f8eeb1bf686a502116dd9cfc8226f95a21588598f1b2eca1e
MD5 81766836c1c355c80b37c6f1585cdeef
BLAKE2b-256 df9402eaee2910711350747fff662503357d90baaee3b62595ff5b17694c8386

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.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.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0456496e86affd5caa71ed2966cf16dabce609afb79dd1c600c8924025140517
MD5 fce76399fee4eb1179ca3af8d06585a8
BLAKE2b-256 9ecf34dfa3fef589243c8be23f5daa460af9912c4ab232c680de3ee324eea323

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fa4e7ee4aa8ed4c0d077e1102d4bf1a753daf3fe420dc433c9fbfd794dcf43c5
MD5 a681e42c0b4bf2d8ff423ae98d99d0b5
BLAKE2b-256 f20e55164ef3dd0ced6d79b3df4c960439088b4b64e55cca1797e24333461375

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52f32a7e7ca9a170f9fc9fb090d24941812e23aa4dfee1c795663c4557905a2b
MD5 bc60d1237c15f5edacfab796f9a7d3c2
BLAKE2b-256 882edaaabaec777dabc52d3065b7b0630ac68bde4ea66d0f035e3d1775b52188

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70b981f8b5d318a1093a219413727d31c4c8d9cfcf3c664502a6b02c559e8c89
MD5 91fb04bbf7de278ed69fabed1d8975ef
BLAKE2b-256 d4a6e34201940e80e0e10c65903da33b4fda72d96b9c18cc0bde97485cf1181b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ncarray-0.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.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.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ff1dd399f9ce71246aed0ceb0f7de4680dac2f451e8a14c67cf8ebbc4337a9a7
MD5 a77fbf242bf8e2798a33c794eed5151c
BLAKE2b-256 3ff0e68da0994f299e5bea0cb1940d87bfec7ff02b415ffb4d9c7b8333467da2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 81128aa4a96892b32f9364c6277e00bdeacbccdea9e801501a61ebd0167feb7e
MD5 7608be8049ce74940ddb44e658a99288
BLAKE2b-256 841287e9be0280f375629a093b6d66553885cf786a6caf9ad205b8e42dee608f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 00239afc1cae86ed9a84aa19bdb83fc0b608969eddd52593fb4e681834b623dd
MD5 8d6bc1904dd9f744a968424b988ab267
BLAKE2b-256 7db9227adc21c6d84b0ac3219cd14a7579f7a8136c6ab4382985277fbb561340

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncarray-0.2.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.2.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncarray-0.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efc349800ea659821ec04b5b3594e2d4ff9dd54ad56512dd94166edeeec1c9bd
MD5 7535738922a47b0bea9d8f1c8e6ba0e4
BLAKE2b-256 c61e58902ccf6a91c9f854e629142e196dc597801bc3ff7352e0e33fa2fb9529

See more details on using hashes here.

Provenance

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