Skip to main content

lightarray

PyPI

A small-array library for Python with the NumPy interface. Arrays of up to a few thousand elements run faster than NumPy because the per-operation overhead smaller. Everything lightarray does not implement itself is delegated to NumPy.

import lightarray as np  # instead of: import numpy as np

t = np.linspace(0.0, 3.0, 601)
omega = 2 * np.pi
p = np.sin(omega * t / 2) ** 2  # runs in Rust
print(p.mean(), p.argmax(), p.std())  # native reductions
print(np.polyfit(t, p, 3))  # NumPy, transparently
  • Same names as NumPy. lightarray exposes every public name of the numpy module and lightarray.ndarray every method and property of numpy.ndarray. Names without a native implementation call NumPy on a zero-copy view and return lightarray arrays for float64, int64 and bool results.
  • NumPy interop both ways. The buffer protocol, __array__, __array_ufunc__, __array_function__ and DLPack are implemented, so matplotlib, SciPy and NumPy itself accept lightarray arrays, and NumPy functions called on them hand back lightarray arrays.
  • Mutable, like NumPy. x[2, 3] = 2, x[:, 0] = row, x[mask] = 0, x += 1 and in-place methods such as x.sort() all work; np.asarray(x) is a writable zero-copy view.
  • Rust core, PyO3 bindings. Contiguous float64, int64 and bool buffers with inline shape and strides; the binding overhead was measured against a hand-written C extension (benchmarks/carray_reference) before choosing Rust.

Using it in place of NumPy

Change the import and nothing else:

import lightarray as np  # was: import numpy as np

Downstream libraries keep their own numpy import; they receive lightarray arrays through the buffer protocol and hand back NumPy arrays, which lightarray accepts everywhere. examples/lmfit_model_fit.py is lmfit's "Fitting with Model" documentation example with only the import changed: the model evaluation, noise and residuals run in lightarray and lmfit/SciPy perform the optimisation. tests/test_lmfit.py checks that it reaches the same optimum as with NumPy.

To see how much of a script runs natively, read lightarray._fallback.calls before and after: it counts the operations delegated to NumPy.

Taking over NumPy inside a library

A library such as lmfit keeps its own import numpy as np; its functions look that name up at call time. lightarray.patch_module(lmfit) rebinds the NumPy references in a loaded package (the np alias, ufuncs, names from from numpy import ..., submodules) to lightarray, so the library's own array work runs on lightarray without editing it. Classes such as np.ndarray used in isinstance checks stay NumPy, and compiled code receives lightarray arrays through the buffer protocol.

import lmfit
import lightarray as np

np.set_patched(lmfit, True)  # on; False restores NumPy; is_patched() queries
with np.patched(lmfit):  # on for a block
    result = model.fit(y, x=x, amp=5, cen=5, wid=1)
LIGHTARRAY_PATCH=lmfit,scipy:numpy python my_script.py   # no code change at all

For packages whose compiled kernels require real NumPy arrays (SciPy) use conversions="numpy" (the :numpy suffix above): conversion functions stay NumPy's and every other function runs on lightarray only when it receives a lightarray argument. With both lmfit and SciPy patched, lmfit's documentation examples reach the same optimum as with NumPy and the per-evaluation path delegates nothing (examples/lmfit_internals.py, tests/test_lmfit.py, tests/test_scipy_dropin.py).

Speed

Total time per operation in nanoseconds, best of 7 runs, benchmarked against NumPy 2.5.3 on Python 3.14.2.

Operation lightarray NumPy
a + b 80 345
a * 2.0 80 533
np.sin(a) 103 378
a.sum() 65 499
a.std() 66 6529
np.sum(a) 62 1550
a > 0.5 90 535
a[a > 0.5] 206 844
(a > 0.2) & (a < 0.8) 251 1427
np.where(a > 0.5, a, 0.0) 275 1411
i * 2 99 629
a[idx] 116 144
m[1] 74 78
m[:, 1] 195 86
np.array(values) 136 476
np.arange(10) 113 401
np.zeros(10) 114 176
a[3] = 2.0 40 39
a += 1.0 26 495

a and b are float64 arrays of 10 elements, m is a 10 x 10 float64 array, i is np.arange(10), idx an int64 array of 3 indices and values a list of 10 floats (python benchmarks/readme_table.py regenerates the table). Reductions return NumPy's scalar types (np.float64, np.int64), built through NumPy's C API in about 25 ns. Creating a strided view (m[:, 1]) is the one operation slower than NumPy: it allocates the contiguous cache the kernels work on. Above roughly 10000 elements the two libraries converge; lightarray is not a large-array library.

Status

Version 0.3.1. float64, int64 and bool arrays are native, with NumPy's dtype inference (np.array([1, 2]) is int64, comparisons give bool arrays, int and float mix to float64); every other dtype and the long tail of NumPy functions go through NumPy at NumPy speed plus about 1 µs and come back as NumPy arrays.

isinstance(a, numpy.ndarray) is True for a lightarray array, so library code that checks for arrays (SciPy's root finders, OApackage's converters) takes its array branch. The real type is still lightarray.ndarray: type(a) is numpy.ndarray is False, and compiled code that demands an actual NumPy array (Cython's typed arguments) converts through the buffer protocol or rejects it. The reverse does not hold in a script that does import lightarray as np: a NumPy array that lightarray hands back for a dtype it does not hold is not an instance of np.ndarray there.

Indexing with integers and slices, reshape, ravel and .T return views that share memory with the array, as in NumPy (row = a[0]; row[:] = 0 and a[:, 1] *= 2 change a). The kernels work on contiguous buffers: a contiguous selection is a window into the base's buffer at no extra cost, while a strided one (a[:, 0], a[::2], the transpose of a matrix) is gathered from the base when it is used, which is cheap for small arrays and one extra pass over the data for large ones. Views that NumPy returns for delegated operations (swapaxes, split, a[..., 1]) stay views as well.

Where NumPy and the Array API disagree, lightarray follows NumPy. Against the official Array API test suite it passes 1346 of 1374 tests; 27 of the 28 failures are tests NumPy lists as expected failures of its own (tools/ci/array-api-xfails.txt): finfo returning NumPy scalars, complex expm1 at infinities (numpy#21746) and floor_divide of infinities, where NumPy follows Python. The last one is indexing a NumPy array with an empty lightarray bool mask, which NumPy casts to an integer index. lightarray does add the Array API keywords NumPy lacks (sort(descending=), fft.fftfreq(dtype=)), since they change nothing NumPy does.

Development

python -m venv .venv && source .venv/bin/activate
pip install maturin "numpy>=2.3" pytest matplotlib lmfit
maturin develop --release
pytest                          # parity tests against NumPy
cargo test --release --lib      # kernel tests
benchmarks/carray_reference/build.sh && python benchmarks/bench_overhead.py
python benchmarks/gate.py       # coarse performance gate with absolute limits (CI)
python benchmarks/perf_check.py --save   # record this machine's timings of 70 key operations ...
python benchmarks/perf_check.py          # ... and fail when a later build is slower (1% overall, 6% per operation)
python examples/lmfit_model_fit.py   # lmfit example running on lightarray
python examples/lmfit_internals.py   # lmfit's own internals rebound to lightarray

Tested with the test suites of lmfit (650 of 650 with lmfit's internals on lightarray), OApackage (115 of 115, including its SWIG-wrapped C++ entry points) and parts of SciPy's and NumPy's.

New features must not cost the hot paths anything: run perf_check.py --save before starting on a change and perf_check.py after rebuilding. It measures in several fresh processes pinned to one core and compares with the saved baseline, so it notices a few nanoseconds where gate.py only catches gross regressions.

Requires Python 3.13+, NumPy 2.3+, and a stable Rust toolchain.

Release files for lightarray 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lightarray 0.3.1
File Size Uploaded
lightarray-0.3.1.tar.gz 115.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for lightarray 0.3.1
File
lightarray-0.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
lightarray-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
lightarray-0.3.1-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
lightarray-0.3.1-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
lightarray-0.3.1-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
lightarray-0.3.1-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
lightarray-0.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
lightarray-0.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
lightarray-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
lightarray-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
lightarray-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
lightarray-0.3.1-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
lightarray-0.3.1-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
lightarray-0.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details

Total release size: 7.5 MB

Release files / lightarray-0.3.1.tar.gz

Download URL lightarray-0.3.1.tar.gz
Size 115.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b67eb13a35a3a599155aaf548ba5ca43d7ce9b7f31a8c94ece2f605f46f4eb76
BLAKE2b-256 checksum
How to use checksums
0fad2bcfc35ab7a6302fc1808e7442262932f6360aabd2495ecd604c8c3db49f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-win_amd64.whl

Download URL lightarray-0.3.1-cp314-cp314-win_amd64.whl
Size 446.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1af31c85e915d9d0fcfdd14bbcd8d994219f7d52b79d8f53ead1a557d1c501fd
BLAKE2b-256 checksum
How to use checksums
cd1cbde18f97107fc5fdb459641612adbeb98ba9b8dfa6ca954acddcd4618616
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL lightarray-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 617.9 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
20dacac1573ad91a1842186e0f62669559eb37c6bc4c9b41d5dcd859e920d497
BLAKE2b-256 checksum
How to use checksums
05b617967cade48e84b4457faed42903b4c880931e1cb453344fe573b986f89b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL lightarray-0.3.1-cp314-cp314-musllinux_1_2_aarch64.whl
Size 571.6 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2d79a2d7801c64e34a3bd217800a059d22b35264e81cde95f38431813ab54e6e
BLAKE2b-256 checksum
How to use checksums
2ad82672581b65be5bd08e04ec0fba41b3cb603d41c011fb3977091a9fafd04e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL lightarray-0.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
Size 537.2 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8799ecb3a88b7c0aa4d6234bf5f2f907ba221b537244fb9cda254511226ab147
BLAKE2b-256 checksum
How to use checksums
9d4df759ffb368d6c1a49e8d90f054a6b3999bc87359a300b591f734268c99ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL lightarray-0.3.1-cp314-cp314-manylinux_2_28_aarch64.whl
Size 508.3 kB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6e6e0b9af0841bcb90e84ddf650dfe27c98ef62366e5cfccc664b6726571900f
BLAKE2b-256 checksum
How to use checksums
37c193a5662c74e5b8c5569d1de9c580074139ed8a22147b4154ba78004ab6f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-macosx_11_0_x86_64.whl

Download URL lightarray-0.3.1-cp314-cp314-macosx_11_0_x86_64.whl
Size 522.1 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
61c8e52b7bae9bcfc9252d1ecf29a30d9811791dd739a382e2bfc2e6ac7395aa
BLAKE2b-256 checksum
How to use checksums
dc8f69507f67529d1123336bc0a487bc6404692a82e477091230acb4377acb52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL lightarray-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 481.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
392d5a487602d7dd4dd1702527804e0662d893dc82594f1981a3f54ba65c5388
BLAKE2b-256 checksum
How to use checksums
f0d11b9e4426a6f703c1da8f96ef03f923bbf7a94d2822f5aa5f6b402ee83ae3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-win_amd64.whl

Download URL lightarray-0.3.1-cp313-cp313-win_amd64.whl
Size 445.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
89bf0f3a6a31860a142127dd43998536c4c0f09dce5fae0824ce39467ab08a2d
BLAKE2b-256 checksum
How to use checksums
287ccb99e49f6f8e87c95eb6ce8335413d726b64d5774592cf33a1228d17b9c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL lightarray-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 618.1 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f2cd590f92e385c9a32461526a0646f454df5a7cef8e2ec85d40aecafaeb510f
BLAKE2b-256 checksum
How to use checksums
acefa99ce2ea97b6e4ca35a7583ca119f4c5c2416b4b80a73334f040dfa49a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL lightarray-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 571.8 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
f3cdd26f1301545ff8a134d7a1437f02f6955b6726b0e602c2ead1eb62644b22
BLAKE2b-256 checksum
How to use checksums
95f1cfabf4209ac68b2a2cfa08a2047094591d6efa340664aa45668e47e38db9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL lightarray-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 537.3 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1652298fe7779dcd6796a84bbbee3b4e6b335aa99608216d7d0c11aa70e8064b
BLAKE2b-256 checksum
How to use checksums
533f6071e4a111429ed1bfba875523e975bf4e1eb259fe3d2aafc1ca1a2bd862
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL lightarray-0.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
Size 508.6 kB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3ec5ac5bec01ca3225088b02ab5ea97dee03a256adab4f861d89eed2931a651c
BLAKE2b-256 checksum
How to use checksums
14eaa81309b998ca513e6445cffb9e1903e56ecba9ea63686a97f73514363364
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-macosx_11_0_x86_64.whl

Download URL lightarray-0.3.1-cp313-cp313-macosx_11_0_x86_64.whl
Size 521.7 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
cffdef35569e79d7858e513ac85f439e6c39c2a65041186e52b696e54ffebf7d
BLAKE2b-256 checksum
How to use checksums
5e422980a7dc4419b2e1995fa0614e225f2d163a053a0cb6eb84a8c105cfc82a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / lightarray-0.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL lightarray-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 482.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6a9f0b9a9013e63eafb1dc02dbd038a86ae7c747f9d199b203387f2882eacc68
BLAKE2b-256 checksum
How to use checksums
1f12133b2c0d8efefd1467cd17a6d30030b645aa1345bc75f841b7a06aa6c47d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

15 release files

0.2.0

36 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page