NumPy compatible non-contiguous arrays.
Project description
ncarray
Status
This project should be considered to be in an early alpha stage. The project is still in the initial stages of development. Internals may change from release to release (which are coming rapidly). However, beginning from version 0.4.0, the library can be considered usable. Most operations are available for arrays (on both CPU and GPU, for supported platforms). A small set of common reduction routines (sum, max, etc.) are also provided. The high-level APIs and interfaces are likely to be fairly stable (with new releases bringing additional features only). Internal source code may change without notice from release to release though. The general organization of headers may change as well. (Some specific notes for C++ developers are below). If staying within Python (or limiting yourself to solely ncarrays.hh etc), you should be okay.
The library is still lacking documentation, and while the tests cover the basics, their coverage is rather sparse.
Installation
It is recommended to get built versions from PyPI. Builds are available for Mac, Linux and Windows. The CUDA compatibility is included in Linux and Windows builds.
> pip install ncarray
The necessary headers and shared libraries are also included in the wheels, if working in C++ or building new extensions. Two utility functions are provided at the top of the ncarray package to assist in locating the correct binaries and files:
import ncarray
# Headers:
path_to_headers: str = ncarray.get_include()
# Shared libs:
path_to_libs: str = ncarray.get_lib_dir()
The above can be incorporated into your build system as needed.
NOTE: In the C++ headers, many operator overloads have a corresponding named alternative. E.g. operator+() and add() both exist and have the same functionality. The distributed shared libraries do NOT have template specializations for the latter named variants. This helps keep the size of the files down (and helps reduce compile time a bit). The Python bindings only use the operator+ style calls. This is just to keep it in mind should you prefer using them - they will need to be compiled from scratch.
Building from source
You can also build directly from source in this repo. The build.sh script may or may not work on your platform (likely yes on Linux/Mac, likely no on Windows). The project uses meson, though, and building yourself is essentially:
> meson setup $MY_BUILD_DIR # --prefix=$MY_INSTALL_DIR #-Dbuildtype=debug # (or release etc).
> meson compile -C $MY_BUILD_DIR
> meson install -C $MY_BUILD_DIR
# For tests:
> meson test -C $MY_BUILD_DIR
You can also run pip install . directly - this will be very slow though. For wheel creation, the meson calls are done as above, and a final pip install is run at the end. See build.sh for the mechanism.
NOTE: When building GPU support, this can be extremely painful in Python bindings. The strategy adopted by the project is to instantiate specializations for all operations (see build_macro.hh). This creates two shared libraries, one for host arrays and one for device arrays. Afterwards, the Python extensions are built. nvcc seems to handle the templates within the project fairly well, but the combination with pybind11 (also a very template heavy project) leads to astronomical build times. If just building C++ libraries, including array_impl.hh and array_operations.hh should be fine, and no additional tricks should be needed.
Requirements
This should build with gcc 13+ and clang 15+. Meson 1.10.1 or greater is recommended, although earlier versions should work fine with the explicit exception of version 1.10.0.
GPU support is tested with CUDA 12.8 - the entire 12.x series will likely be work, and 13.x is likely okay as well.
Wheels from GitHub
The wheels and associated assets are also provided in the GitHub releases if not using pip.
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/23 (GPU/CPU) 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*orSODev*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 as nca # 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: nca.NCArrayRef = nca.NCArrayRef(subarray_list)
# Index it
first_two_ptrs: nca.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: nca.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: nca.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: nca.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 listed below.
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):
NCArrayViewNCArrayRefNCArray(Owner type)SOArrayViewSOArrayRefSOArray(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 (or a build option will be provided to allow extending the limit).
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 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.
Should I use NCArray... or SOArray... ?
The answer to this question boils down to the use-case. If you only require a single "pointer axis", for example because you have a collection of otherwise contigiuous array-like objects, then the NCArray... style arrays are preferrable. In general, in this scenario your first axis will then be the "pointer axis". Using the NC-style arrays means you can perform operations like iterating over the first axis of the array where each step returns the contiguous sub-array. If, on the other hand, you require multiple "pointer axes", then the decision is already taken for you - you must use SOArray... style arrays.
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. - There are a number of indexing strategies in C++, whereas these styles and overloads do not exist in Python (only
__getitem__, i.e.arr[...]is used). - In Python, 0-D (i.e. scalar) arrays are cast to the corresponding scalar. This is not done automatically in C++.
- In C++, in addition to the operator overloads (like
operator+), there are named functions if you find them easier (e.g.NCArrayView::add(other)). For keeping binary sizes down, though, these are NOT pre-instantiated and compiled into the shared libs.
For C++ Developers
Headers
The main array specializations are exposed through ncarrays.hh, soarrays.hh (and ncdevarrays.cuh and sodevarrays.cuh for CUDA-supported platforms). These are paired with corresponding .cc (.cu) files to provide shared libraries for linking (this is a (very) template heavy library - compilation times can be long). If including only these headers, the library should be safe for usage across releases. The internal headers described below may be reorganized at any moment through the period of releases outlined in the timeline below (after which, some stability can be expected).
Architecture
The principle components of the library are defined in:
layout.hh: Describes memory layout of arraysstorage.hh: Describes the storage policies of arrays (view-like, or owner, e.g.)dtype.hh: Contains the the type system for the libraryarray_impl.hhandarray_operations.hhcontain theArrayImplspecification and the definitions of its operations. These two headers comprise the core of the library. If including them directly, they must be included together and in that order!array_traits.hhcontain concepts for array operations. These also contain operator traits for all the supported datatypes (e.g. to provide greater/less than functionality forcomplexnumbers and so on).device/...andhost/...contain GPU/CPU specific implementations of the operations for arrays.engines.hhwrap the specific implementations together for easier dispatch.
NOTE: If also building Python extensions (and, specifically, if using pybind11), see the note above under the installation section. You may want to use build_macro.hh as a guide for instantiating your template specializations in the Python module, otherwise build times will become untenable. For pure C++ projects this should not be an issue (including array_impl.hh and array_operations.hh should lead to builds of a couple minutes - even for device code compiled with nvcc).
Usage
The following snippets highlight the basic functionality and semantics of using ncarray in C++.
// All headers are included in appropriate namespaces (as used in the libraries source)
#include "ncarray/ncarrays.hh" // You can get everything at the high-level with just this
//#include "ncarray/soarrays.hh" // If you need suboffset support
#ifdef _WIN32
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#else
#include <sys/types.h>
#endif
#include <cstdint>
#include <vector>
// Make some dummy non-contiguous data
std::vector<std::int32_t> data(10, 42);
std::vector<ssize_t> shape { 2, 5 };
std::vector<ssize_t> strides { 5 * sizeof(std::int32_t), sizeof(std::int32_t) };
std::vector<void*> ptrs { data.data() };
// Create a view from this data
std::vector<ssize_t> offsets(10);
ncarray::DType dtype = ncarray::DType::int32;
// You can get the dtype from traits too:
// ncarray::dtype_traits<std::int32_t>::value;
auto view = ncarray::NCArrayView(ptrs.data(),
shape.data(),
strides.data(),
offsets.data(),
dtype,
/*pointer_axis=*/0,
/*read_only=*/false);
// NOTE: You can make a reference type, but this is generally not needed in C++ (only Python)
// ncarray::NCArrayRef ref(ptrs, shape, strides, ncarray::DType::int32, 0, false);
// NOTE: You can also use SOArrayView if needed. This implements PEP3118 compliant
// suboffsets. It is more flexible (arbitrary number of pointer axes, while above is limited to 1).
// However, it may be more difficult to reason about. That said, the library deals
// with the complexities for you (after proper creation, that is).
// Get general information about your array
view.ndim(); // 2
view.shape(); // ssize_t* with 2 items. (2, 5)
view.size(); // 10
view.itemsize(); // 4 (bytes)
view.nbytes(); // 40 (size() * itemsize())
// Indexing comes in three variaties - some suggested typedefs shown as well
// 1. Most generic for slicing (This is C++23, and thus host only -- see below for GPU equivalent)
using sl = ncarray::Slice;
auto subview = view[sl(0,1),sl(2,4)]; // New shape = (1, 2)
// 2. Index to an element, with reference semantics
std::int32_t& item13 = view(1,3);
// NOTE: If you need the type, using auto here won't work (auto& item = view(...))
// The above does NOT type check. If you need type checking use:
// auto& proxy = view(1,3); proxy.get<T>();
// Proxy references are assignable
view(1, 2) = 12;
// Can also hold on to the proxy if desired:
// item12 = view(1,2); item12 = 12;
// 3. You can use linearized indexing to a reference as well
ssize_t idx = 2; // IMPORTANT: *Must* be ssize_t
std::int32_t& item02 = view[idx];
// We can also create owner type arrays.
std::vector<ssize_t> shape { 4, 4, 4 };
ncarray::NCArray arr1(shape, ncarray::DType::float32);
ncarray::NCArray arr2(shape, ncarray::DType::float32);
// Can fill rapidly with a value
arr1.fill(2.0f);
arr2.fill(4.0f);
// Can broadcast one array type into another
// arr1.assign(arr2); // Will cast as needed.
// NOTE: Operations below all assume same shape currently.
// Binary operations
auto sum_owner = arr1 + arr2; // These return *owner* type arrays
// Inplace operations
arr1 += arr2;
// Broadcast with a scalar
arr2 += 4.2f;
// Comparison operations
auto res_eq = (arr1 == arr2) // All false here. Has shape of inputs
// Also available: >, <, >=, <=, &&, !, ||
// For logical operators, inplace variants are only available for boolean arrays.
// Reductions to scalar
auto arr_sum = arr1.sum(); // or .max(), .min()
// The above is a variant. You must use: std::get<float>(a_sum) (or other ops in <variant>)
GPU Considerations
All operations defined above are available on GPU as well. The array types are simply prefixed with a Dev instead. E.g.:
NCArray <-> NCDevArray
NCArrayView <-> NCDevArrayView
... and so on ...
Important: You must ensure that your build system uses nvcc to compile the operations with device arrays. They will compile fine as standard C++, but will have odd behaviours and will not consistently execute operations on GPU. You will likely also encounter runtime exceptions (along the lines of: Fatal: tried to compile CUDA kernel as C++).
As described above, array views can be passed into kernels, and used anywhere in device code. It is worth reiterating that owners (NCDevArray and SODevArray) are constructible ONLY on the host. This is due to complexities with dynamic allocations in device code, the small size of the heap and so on. Any owner is trivially convertible to a view, however (using all common constructors). There is also a helper function to make intent clear:
auto ncarr = NCDevArray(...);
my_kernel<<<blocks, TPB>>>(ncarr.view());
Some language/syntax features available on the host are not available on GPU. This is because the host-side code takes advantage of C++23 features, whereas only up to C++20 is available for CUDA code. The main limitation is the fancy indexing with variadic operator[]. As an alternative, a slightly more verbose, but very specific, mechanism is available:
ncarray::NCDevArray dev_arr(...)
using Idx = ncarray::IndexItem;
using sl = ncarray::Slice;
Idx region[] = {
Idx(sl(1, 3)),
Idx(sl(1, 3))
};
auto view = dev_arr.view_from_indices(region, /*num_indices=*/2);
In the future, an overload for operator() may be provided to support slices. The main reason it does not currently exist is the distinction between operator() and operator[]. The former provides access to individual elements by reference, the latter is intended for construction of views (sub-views).
Roadmap
The current plan for releases, in order is:
v0.4.0- Arithmetic, logical, and comparison operations (i.e. in place operations/=e.g., and>,<&&and so on).
- This release includes additional improvements in CUDA support including generalized atomics to support these operations.
v0.5.0- Additional reduction operations (e.g. standard deviationstd), and shape/axis-aware implementations (e.g.ncarr.sum(axis=0). Other operations include reduction by key.v0.6.0- Boolean indexing and conditional selection with something like awherefunction.
- Additional indexing improvements are planned for this stage as well. Multi-dimensional sliced assignments for instance. Broadcasting support, etc.
v0.7.0- CuPy integrationv0.8.0-DLPackintegration
The above road-map is subject to change. Throughout the process, test coverage and documentation will be improved. Upon initial implementation of the above feature sets, focus will be switched to stabilizing the library.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ncarray-0.4.0.tar.gz.
File metadata
- Download URL: ncarray-0.4.0.tar.gz
- Upload date:
- Size: 89.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
918a5563274ba6c538c2c239143395e7c4cf1f64d3e8cef1e4c95ecc2e006a27
|
|
| MD5 |
d15bb3a0b422096195b571171f4a340f
|
|
| BLAKE2b-256 |
62e57819c95b76a60ca42d911aac71830e95e3b30ac3f666991dcd3eed7c6a88
|
Provenance
The following attestation bundles were made for ncarray-0.4.0.tar.gz:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0.tar.gz -
Subject digest:
918a5563274ba6c538c2c239143395e7c4cf1f64d3e8cef1e4c95ecc2e006a27 - Sigstore transparency entry: 1245325209
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
144bdeb82f9476cbf719db0afec4c18e3b253da64b1aa8dad3a3d73046dd45ed
|
|
| MD5 |
14faf2753a0aed89e315961aa58db33c
|
|
| BLAKE2b-256 |
cd0733855153b8220adcda592d34dcf30e1fe0e51fc773322edabd9456778be9
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp313-cp313-win_amd64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp313-cp313-win_amd64.whl -
Subject digest:
144bdeb82f9476cbf719db0afec4c18e3b253da64b1aa8dad3a3d73046dd45ed - Sigstore transparency entry: 1245325944
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82d536cc13219d54feb90c16fe14f810b280ff27cbf0c45cf70b948091b62501
|
|
| MD5 |
e247d096cd298f8c5c96a876208ed468
|
|
| BLAKE2b-256 |
9a78c94b756659add4efb9ba35e1028641e490b75479c2ca26f39d88b3b81918
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl -
Subject digest:
82d536cc13219d54feb90c16fe14f810b280ff27cbf0c45cf70b948091b62501 - Sigstore transparency entry: 1245325738
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd64268e0d928ca4c8bb7e77ebd3de935668b5d3b16ae1a1f155729a58ca3281
|
|
| MD5 |
35334a4c75bb4898b9dfacffc97bac87
|
|
| BLAKE2b-256 |
db238c4308b9b9e77cf1fb2bf2d85d2f1ec075516a4484046ddab1834c505418
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
bd64268e0d928ca4c8bb7e77ebd3de935668b5d3b16ae1a1f155729a58ca3281 - Sigstore transparency entry: 1245325602
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1bd0330ddf327b827916e3409b04728714d778f3e5fbd0c0912b3f3a3799aea
|
|
| MD5 |
770150fdfaa8c4d61ccd54d4cd3ce8ee
|
|
| BLAKE2b-256 |
7cd121664a0d1b56a56c50d16e3d4f89fda1dd8d4dd11c473ed584b3835dc025
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
b1bd0330ddf327b827916e3409b04728714d778f3e5fbd0c0912b3f3a3799aea - Sigstore transparency entry: 1245325465
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35114b485527eda41c8b2c08273e22e60bfdec6a112c00edfa3513ec26be82b9
|
|
| MD5 |
97dfd45722f53327f82bbedae9f62683
|
|
| BLAKE2b-256 |
0bf7da8e84c3e8c7fec89c0b25e612328319c3c00ed5e875df62264ce4ff23e2
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp312-cp312-win_amd64.whl -
Subject digest:
35114b485527eda41c8b2c08273e22e60bfdec6a112c00edfa3513ec26be82b9 - Sigstore transparency entry: 1245325978
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7da3ad1e01a605f970946a7a71db925ad52ab8b96898355d6f63fd5ef8eee42a
|
|
| MD5 |
c6f774ca5a4d2a3d5bf4bb7d44f2098e
|
|
| BLAKE2b-256 |
b5d5f409dc883459c806361e17d739c2a8845605061c2f19191dc259b7ba91fe
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
7da3ad1e01a605f970946a7a71db925ad52ab8b96898355d6f63fd5ef8eee42a - Sigstore transparency entry: 1245325761
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4737a47fd499359512e2b115d1a91c39e57dd5f4d10895f6ee4dc844a693196
|
|
| MD5 |
64bf29b297465d9b144a8f4aabfcee6c
|
|
| BLAKE2b-256 |
3b9cd1f981703aa3e7d6cc3897fe099cb69f50447bf601526c07fa36dbf1c913
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c4737a47fd499359512e2b115d1a91c39e57dd5f4d10895f6ee4dc844a693196 - Sigstore transparency entry: 1245325427
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2abf03f8a6c773331686c8ba817f2d7e525d056d64221c4a7a363e8053eadb13
|
|
| MD5 |
ba268cfcdd5b61cfda78de2cc78ada97
|
|
| BLAKE2b-256 |
6696c5d52874db5624b4de7ff4356e74d850966b978a8320b9728a39dc0a5fd2
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
2abf03f8a6c773331686c8ba817f2d7e525d056d64221c4a7a363e8053eadb13 - Sigstore transparency entry: 1245325501
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
565d9c7a9a0dcbaddbfd8a05d0d071af899a9147df3f18cffda157d7e2beff75
|
|
| MD5 |
5be4ba99d2e43e67c7256b8a53ed789c
|
|
| BLAKE2b-256 |
ad8fbfeba65ce9c0daea6219a9334782807582defcd7d0909ffeb5f9e8a0a6c5
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp311-cp311-win_amd64.whl -
Subject digest:
565d9c7a9a0dcbaddbfd8a05d0d071af899a9147df3f18cffda157d7e2beff75 - Sigstore transparency entry: 1245325909
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54a0a78fd5e24ee26a9d6ade09f51d5c4fb551639ff372b739481f808844c74f
|
|
| MD5 |
e1c26870ef1dcae81994183613744bd8
|
|
| BLAKE2b-256 |
6170df7ee30d644dc29a732a85e35027857a494606cd7f3a914f396e59cd66b2
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl -
Subject digest:
54a0a78fd5e24ee26a9d6ade09f51d5c4fb551639ff372b739481f808844c74f - Sigstore transparency entry: 1245325309
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93916977f1f848c2f0ee64fd184787a85fffcc5412ca17172ce3ab3b4f50bbfa
|
|
| MD5 |
3aae948f42c3c837af9ffb3ef9508264
|
|
| BLAKE2b-256 |
fad5284884f0db46b25647eeb52cfaebd920a94a6dd36d0a4b7569db2b535855
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
93916977f1f848c2f0ee64fd184787a85fffcc5412ca17172ce3ab3b4f50bbfa - Sigstore transparency entry: 1245325694
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
569add847483699aded0f1267f52e02bdd337536275a9b6e6fa86b8c6f2ebdca
|
|
| MD5 |
b5bca6523652d0747fc4976d35d054e2
|
|
| BLAKE2b-256 |
2a42a0ac2c9d040599b94afffbf47364d916cf2ad33614be8a769cce5ed948b8
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
569add847483699aded0f1267f52e02bdd337536275a9b6e6fa86b8c6f2ebdca - Sigstore transparency entry: 1245326049
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d10c41962357a1d02903d33996c40ca7c1b55d190ecf0427ecc3c76c2986a9c0
|
|
| MD5 |
5469015f98edd0609d5e4a0120693935
|
|
| BLAKE2b-256 |
ed4c8cae8c2a3a1ac4d57abb304fa7e3f3ee6a8fa8cc1398f2d4b4117fcd22d3
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp310-cp310-win_amd64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp310-cp310-win_amd64.whl -
Subject digest:
d10c41962357a1d02903d33996c40ca7c1b55d190ecf0427ecc3c76c2986a9c0 - Sigstore transparency entry: 1245325798
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6da8cc0d100390865f85b964dcbea1e8f658d3335b45edaec1bb112d7d8cee19
|
|
| MD5 |
8205edf750791bc4cb7751c4e8725c12
|
|
| BLAKE2b-256 |
9ce2eb56b13dd14a69ab74aee59f4695c63df5724b08da19507cc02b868d9abe
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl -
Subject digest:
6da8cc0d100390865f85b964dcbea1e8f658d3335b45edaec1bb112d7d8cee19 - Sigstore transparency entry: 1245326022
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e29d4ac90710398deabe25a00b8bd45a875900b481ec30e1a8fb77c1adaf36d
|
|
| MD5 |
eb78df3106dc8d340d863e2b7662e551
|
|
| BLAKE2b-256 |
b1192c7b10cc1d1cd99604f07536f96ae24470a424dfc629a3dd49ea6b4e86e6
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
5e29d4ac90710398deabe25a00b8bd45a875900b481ec30e1a8fb77c1adaf36d - Sigstore transparency entry: 1245325829
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be45fffa67abf1fe1a03ac334a9d223d5c1ee1366c27eb7ef44cf03192da3b01
|
|
| MD5 |
f3d76bf1556b16aaf445a8750b9f920c
|
|
| BLAKE2b-256 |
0e2897bd84273ac5d046c8fb84427b697733b9411efed6bf0170a7aa5757f063
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
be45fffa67abf1fe1a03ac334a9d223d5c1ee1366c27eb7ef44cf03192da3b01 - Sigstore transparency entry: 1245325392
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04729319edd23e7661a02b687817ec4d799e3252a95193c8e79eeb4c18ac4a66
|
|
| MD5 |
896d0573fbc90a7f2eeb43d959c26a17
|
|
| BLAKE2b-256 |
a6a8ed39a538d92e5b2a29a3f954e9f3a10a3a3a369846ee6131aa9f7a394739
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp39-cp39-win_amd64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp39-cp39-win_amd64.whl -
Subject digest:
04729319edd23e7661a02b687817ec4d799e3252a95193c8e79eeb4c18ac4a66 - Sigstore transparency entry: 1245325871
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c990c3fd2d4f4042b9b75c47bcb49f43b6a966fe5cf1b572943073ada18f149b
|
|
| MD5 |
03fd7c19bcef5e9e4d2e68ee7da09110
|
|
| BLAKE2b-256 |
0dee14eb8842784331e0b76229dd892486a91ea544170252778635d88d65d94a
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp39-cp39-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp39-cp39-musllinux_1_2_x86_64.whl -
Subject digest:
c990c3fd2d4f4042b9b75c47bcb49f43b6a966fe5cf1b572943073ada18f149b - Sigstore transparency entry: 1245325567
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
970710cb202164ecffe1566069c2fb3bf03aaa3c660e8f61b9731bc8be8e7740
|
|
| MD5 |
4484007d9a9ee8f0208adc399c8ab8e7
|
|
| BLAKE2b-256 |
8d13e2c834c6a53519dc58ada3715f61063d4231f51ebdade3ed58319289aba3
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
970710cb202164ecffe1566069c2fb3bf03aaa3c660e8f61b9731bc8be8e7740 - Sigstore transparency entry: 1245325535
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67be4d0d73f5d99b62986db7a7fd35512c900fa2d70a7b0f42a815e7d4a7dca0
|
|
| MD5 |
ca1ded9b4be0366ea09da670df20c0f6
|
|
| BLAKE2b-256 |
1f7f1dc77cd6c4ad825245e4dbb599b507f292b5caff78e85736617eb5a7918d
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
67be4d0d73f5d99b62986db7a7fd35512c900fa2d70a7b0f42a815e7d4a7dca0 - Sigstore transparency entry: 1245325252
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c45064bd8aac5e7d5ab5e51aaf8b6f4a7686fc74752b97ef3574f8e440d2e630
|
|
| MD5 |
afc0c98889035b3c6b49c3c06e70c3ff
|
|
| BLAKE2b-256 |
02b896c48b2323451aebe9f99806eadbd30e6b31d478fefa4b771f934d2ace12
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp38-cp38-win_amd64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp38-cp38-win_amd64.whl -
Subject digest:
c45064bd8aac5e7d5ab5e51aaf8b6f4a7686fc74752b97ef3574f8e440d2e630 - Sigstore transparency entry: 1245325282
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp38-cp38-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97eeacb498f39937e51985437420279394526186d1f8595cf2f5279b13873ec5
|
|
| MD5 |
016cd5adff8ef2d9bfb82cb713e9dfc2
|
|
| BLAKE2b-256 |
48ca709ef96c8ddf5c07ee143848989d61ad6fe9941f4e2a6dc5df79a6526a26
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp38-cp38-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp38-cp38-musllinux_1_2_x86_64.whl -
Subject digest:
97eeacb498f39937e51985437420279394526186d1f8595cf2f5279b13873ec5 - Sigstore transparency entry: 1245325360
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd308f60443324dc48e3a2ef983c91d1ee7d2b55a761d1d6888d85dc09712f6f
|
|
| MD5 |
166c40a2c24a8fc0be5b004607425011
|
|
| BLAKE2b-256 |
467717d768cf581821191c0e4e5599ec188af5a276c81a864885b5d2f7eab469
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
bd308f60443324dc48e3a2ef983c91d1ee7d2b55a761d1d6888d85dc09712f6f - Sigstore transparency entry: 1245325670
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncarray-0.4.0-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: ncarray-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
431f92577b5fac4fe2efe6d8aec148c60c6571792e9798eab70f5b14bd2ad658
|
|
| MD5 |
f815b713520d46b6528c49ccd33a23e2
|
|
| BLAKE2b-256 |
47d996008e624ae430ac0c62ef538424c5b174ec9a622efe850a0fc28b3889ac
|
Provenance
The following attestation bundles were made for ncarray-0.4.0-cp38-cp38-macosx_11_0_arm64.whl:
Publisher:
release.yml on XFELPP/ncarray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncarray-0.4.0-cp38-cp38-macosx_11_0_arm64.whl -
Subject digest:
431f92577b5fac4fe2efe6d8aec148c60c6571792e9798eab70f5b14bd2ad658 - Sigstore transparency entry: 1245325633
- Sigstore integration time:
-
Permalink:
XFELPP/ncarray@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/XFELPP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@33fbdce61e08eb6b7923b14202eb371b5d87f509 -
Trigger Event:
push
-
Statement type: