Rust-backed acceleration for Python array.array
Project description
arrayops
Fast, lightweight numeric operations for Python's array.array, numpy.ndarray (1D), and memoryview objects. Built with Rust and PyO3 for zero-copy, memory-safe performance.
โจ Features
- โก High Performance: 10-100x faster than pure Python loops using Rust-accelerated operations
- ๐ Memory Safe: Zero-copy buffer access with Rust's safety guarantees
- ๐ฆ Lightweight: No dependencies beyond Rust standard library (optional: parallel execution via
rayon) - ๐ Compatible: Works directly with Python's
array.array,numpy.ndarray(1D),memoryview, and Apache Arrow buffers - no new types - โ Fully Tested: 100% code coverage (Python and Rust)
- ๐ฏ Type Safe: Full mypy type checking support
๐ Quick Start
Installation
# Install maturin if not already installed
pip install maturin
# Install in development mode
maturin develop
# Or install from source
pip install -e .
# With optional features (recommended for large arrays)
maturin develop --features parallel
Basic Usage
import array
import arrayops as ao
# Create an array
data = array.array('i', [1, 2, 3, 4, 5])
# Fast operations
total = ao.sum(data) # 15
ao.scale(data, 2.0) # In-place: [2, 4, 6, 8, 10]
doubled = ao.map(data, lambda x: x * 2) # New array: [4, 8, 12, 16, 20]
evens = ao.filter(data, lambda x: x % 2 == 0) # [4, 8, 12, 16, 20]
product = ao.reduce(data, lambda acc, x: acc * x, initial=1) # 3840
# Statistical operations
avg = ao.mean(data) # 3.0
min_val = ao.min(data) # 1
max_val = ao.max(data) # 5
std_dev = ao.std(data) # 1.41...
median_val = ao.median(data) # 3
# Element-wise operations
arr2 = array.array('i', [10, 20, 30, 40, 50])
summed = ao.add(data, arr2) # [11, 22, 33, 44, 55]
product = ao.multiply(data, arr2) # [10, 40, 90, 160, 250]
ao.clip(data, 2.0, 4.0) # In-place: [2, 2, 3, 4, 4]
ao.normalize(data) # In-place: [0.0, 0.25, 0.5, 0.75, 1.0]
# Array manipulation
ao.reverse(data) # In-place: [5, 4, 3, 2, 1]
ao.sort(data) # In-place: [1, 2, 3, 4, 5]
unique_vals = ao.unique(data) # [1, 2, 3, 4, 5]
# Zero-copy slicing
sliced = ao.slice(data, 1, 4) # Returns memoryview: [2, 3, 4]
# Lazy evaluation (chain operations without intermediate allocations)
lazy = ao.lazy_array(data)
result = lazy.map(lambda x: x * 2).filter(lambda x: x > 5).collect()
# Efficiently chains map and filter, executes only when collect() is called
๐ For complete documentation, examples, and API reference, see arrayops.readthedocs.io
๐ Supported Types
arrayops supports all numeric array.array typecodes, numpy.ndarray (1D, contiguous), Python memoryview objects, and Apache Arrow buffers/arrays:
| Type | Code | Description |
|---|---|---|
| Signed integers | b, h, i, l |
int8, int16, int32, int64 |
| Unsigned integers | B, H, I, L |
uint8, uint16, uint32, uint64 |
| Floats | f, d |
float32, float64 |
๐ Documentation
Complete documentation is available at arrayops.readthedocs.io:
- Getting Started - Installation and basic usage
- API Reference - Complete function documentation
- Examples - Practical usage patterns and cookbook
- Performance Guide - Benchmark results and optimization tips
- Troubleshooting - Common issues and solutions
โก Performance
arrayops provides significant speedups over pure Python operations:
| Operation | Python | arrayops | Speedup |
|---|---|---|---|
| Sum (1M ints) | ~50ms | ~0.5ms | 100x |
| Scale (1M ints) | ~80ms | ~1.5ms | 50x |
| Map (1M ints) | ~100ms | ~5ms | 20x |
| Filter (1M ints) | ~120ms | ~8ms | 15x |
| Reduce (1M ints) | ~150ms | ~6ms | 25x |
| Memory overhead | N/A | Zero-copy | โ |
See the Performance Guide for detailed benchmarks and optimization tips.
Performance Features
arrayops supports optional performance optimizations via feature flags:
Parallel Execution (--features parallel)
For large arrays, parallel execution can provide significant speedups on multi-core systems:
- Enabled operations:
sum,scale - Threshold: Arrays larger than 10,000 elements (sum) or 5,000 elements (scale) automatically use parallel processing
- Installation:
maturin develop --features parallel - Performance: 2-4x additional speedup on multi-core systems
SIMD Optimizations (--features simd)
SIMD (Single Instruction, Multiple Data) optimizations are in development:
- Status: Infrastructure in place, full implementation pending std::simd API stabilization
- Expected performance: 2-4x additional speedup on supported CPUs
- Target operations:
sum,scale(primary), element-wise operations - Installation:
maturin develop --features simd
๐ Comparison
| Feature | array.array |
arrayops |
NumPy |
|---|---|---|---|
| Memory efficient | โ | โ | โ |
| Fast operations | โ | โ | โ |
| Multi-dimensional | โ | โ | โ |
| Zero dependencies | โ | โ (NumPy optional) | โ |
| C-compatible | โ | โ | โ |
| Type safety | โ | โ | โ ๏ธ |
| NumPy interop | โ | โ (1D only) | โ |
| Memoryview support | โ | โ | โ |
| Arrow interop | โ | โ | โ |
| Zero-copy slicing | โ | โ | โ ๏ธ |
| Lazy evaluation | โ | โ | โ |
| Use case | Binary I/O | Scripting/ETL | Scientific computing |
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Python Layer โ
โ array.array โ arrayops โ _arrayops โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Buffer Protocol
โ (Zero-copy)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Rust Layer (PyO3) โ
โ Typed operations โ
โ SIMD / Parallel optimizations โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐งช Testing
# Run all tests
pytest tests/ -v
# With coverage
pytest tests/ --cov=arrayops --cov-report=html
# Type checking
mypy arrayops tests
Coverage: 100% Python code coverage
๐ง Development
Prerequisites
- Python 3.8+
- Rust 1.75+ (for SIMD features)
maturin(install withpip install maturin)
Building
# Development build
maturin develop
# Release build
maturin build --release
# With features
maturin develop --features parallel,simd
Contributing
See the Contributing Guide for details on:
- Development workflow
- Code style guidelines
- Testing requirements
- Pull request process
๐ Error Handling
arrayops provides clear error messages:
import arrayops as ao
# Wrong type
ao.sum([1, 2, 3]) # TypeError: Expected array.array, numpy.ndarray, or memoryview
# Unsupported typecode
arr = array.array('c', b'abc')
ao.sum(arr) # TypeError: Unsupported typecode: 'c'
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
- Built with PyO3 for Python-Rust interop
- Built with maturin for packaging
- Inspired by the need for fast, lightweight array operations for Python's built-in array type
๐ Support
- Documentation: arrayops.readthedocs.io
- Issues: Report bugs or request features on GitHub
- Questions: Open a discussion on GitHub
For detailed documentation, examples, and API reference, visit arrayops.readthedocs.io
Project details
Release history Release notifications | RSS feed
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 arrayops-0.4.0.tar.gz.
File metadata
- Download URL: arrayops-0.4.0.tar.gz
- Upload date:
- Size: 115.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df6f807281c0f04ec918a08dc5c639f896760bd2cb4181a4bee2779c013543b2
|
|
| MD5 |
3c040c317a3b5ce24b8cd0494fa19fb0
|
|
| BLAKE2b-256 |
e4cb3764fc501c0ba10937b6a4f6e94e35034198d5ecfd489d8e75839270e959
|
File details
Details for the file arrayops-0.4.0-cp314-cp314-win_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp314-cp314-win_arm64.whl
- Upload date:
- Size: 234.9 kB
- Tags: CPython 3.14, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
405c6c2130220f0f23f92de9f3ef9379bd10e88b6750196a8a4f87b6ebb23458
|
|
| MD5 |
78c05b5392672954fb2cdbd2057cf901
|
|
| BLAKE2b-256 |
1681fa6175cd3ed46c6b5d0afe6102957b1278524ff743056be24aa80515f03f
|
File details
Details for the file arrayops-0.4.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 264.8 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff5e9584ee767836cb9debf55d0fc76e23c20325a6983c1d687bba5b8b6ed4c1
|
|
| MD5 |
f814b4163b4e404d405db956752ea1cc
|
|
| BLAKE2b-256 |
032e089607225888c06e9971164c9a6aa4e494978a2dda5794fdfded90dc9599
|
File details
Details for the file arrayops-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 328.7 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c8dfe0b992707cfe07c04f9ba3e47ac706017d8dc9404d58c60de872799f4a1
|
|
| MD5 |
9d69b3b57260ab655111b6fdfc70bb29
|
|
| BLAKE2b-256 |
fa563943426d2cd5bb87e1b970cad64c02a8a097e28b0d1f500f320a0807b8eb
|
File details
Details for the file arrayops-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 301.4 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f5628ff19a5a91bc586a131a2ed7f3812fe591307dc852f8da4a4ab390d6120
|
|
| MD5 |
f6b3202611e409a048a9fd2eb2e69117
|
|
| BLAKE2b-256 |
08d5ee5f9e03a4fb9eb6c82a2e8a82452f0bdd940405dbd4263ec45ee5033564
|
File details
Details for the file arrayops-0.4.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 291.8 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d31caf0230348eb22788630fac68131bb5a3d9825eb0a16f1067402fa478f523
|
|
| MD5 |
24b30d2647aa507a5beee8a834d9b0b0
|
|
| BLAKE2b-256 |
c2d4d0fd9b324a128794c8c385e750a324d1652af6104be9a041caf3490f07cc
|
File details
Details for the file arrayops-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl
- Upload date:
- Size: 315.6 kB
- Tags: CPython 3.14, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
731ff535751184150da97afb988be5c74d3aead5b738433b2b6c67fd5a2c16f2
|
|
| MD5 |
02ea08f1f135873c3c188a2e0f43173f
|
|
| BLAKE2b-256 |
f1aac3ba8e289122d506e60e67ee7987865897b8cf5f48bfa14775a947069214
|
File details
Details for the file arrayops-0.4.0-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 234.9 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
307cc224227eaba7f62db914638822388f19cc331f87765af9a10dd60e902d22
|
|
| MD5 |
d76e9e5ab91390d0cf180a1a129ce1e4
|
|
| BLAKE2b-256 |
0114b6e3e72d690b048ecaba5417aa62ba36708ee34a851f8f9109a99a3d0ee4
|
File details
Details for the file arrayops-0.4.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 264.8 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64b498b0bcbd0ec6864b500f41d5a09470b168177e5c83515613c76dbed4cf7a
|
|
| MD5 |
cede971f987663793b3402405756fca6
|
|
| BLAKE2b-256 |
78712788442b62565c70f86afe0b5bf0a7c0d73841391dd97c4a63e9ee75bd9d
|
File details
Details for the file arrayops-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 328.7 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dc809652fd140c6c51ab402b2e0337695356eb441a3adb50a129aa18ef786d6
|
|
| MD5 |
c420a5be5a5c66f7d2cc17e3898e972e
|
|
| BLAKE2b-256 |
a92b2ee32437793185419079ddaaec3528deaaa79bc773cee5471af525ca6284
|
File details
Details for the file arrayops-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 301.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a2b4c3a4ec399a35a6836c85e2e0ad2a39294e6cd8d30d515374f51f5686ee8
|
|
| MD5 |
6b6d692d2b1aab543665996ff76aa159
|
|
| BLAKE2b-256 |
1e540cbc54c21b682a4fd9131fc1cd3f61d06bcb35d1543cb1d81509b82866fc
|
File details
Details for the file arrayops-0.4.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 291.8 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfa044e39875503dee9f814d5cb77bc96bf2448a78534b7d42a10cbe85847775
|
|
| MD5 |
7ba4b82457f9253c8f4ead169ab9a1ab
|
|
| BLAKE2b-256 |
b0e96ad23a70c0afac6bdae84fa928f5b53415da1de2b2e94dacf00c3ce7537c
|
File details
Details for the file arrayops-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 315.6 kB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbbcf28ea8621b89c863f85286a80324473e0df3b82b41bcb0e8f9b740d6204c
|
|
| MD5 |
ed164de3f74c97650627d173df38acf6
|
|
| BLAKE2b-256 |
7e675402dda2769af7316eeeffca6d2ed0a31c9e4237a13fa391cc1ee7613272
|
File details
Details for the file arrayops-0.4.0-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 225.5 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea8a0723d432ea4e074e696fb6c73d3202434632ffbe1739e3f3fbf9791c0c62
|
|
| MD5 |
edca59eee8937017433dd38fbb451a95
|
|
| BLAKE2b-256 |
f9f0782086ef3d66db2047d02724354e244827ae72c86a7c021b4b5e8df884d8
|
File details
Details for the file arrayops-0.4.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 254.8 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
406bb943c2b45d64769d5b399c3f1613122e9de9e63eb09afa433bddcad733bf
|
|
| MD5 |
83f81e22bf61674b49437bacb22fea1b
|
|
| BLAKE2b-256 |
7fc644f061698577f6ed208c794f6114836c3abd09d6b9a8df638c9291bde759
|
File details
Details for the file arrayops-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 330.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d27a630f69c4cf6c11587a3607cae7f64c3ded28836df5fa18dabc50a8e2fb5b
|
|
| MD5 |
dc289ab08204d4218bed0bd037f58c09
|
|
| BLAKE2b-256 |
9c750256632694bdca918c72acf65ec409de3ce1e679c68ac93dfdad1dace0e1
|
File details
Details for the file arrayops-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 303.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b2c5d5c6a4c74fa290345b6951f74b609b6feb0ce16de89dcaa8a9c193a2ca
|
|
| MD5 |
6bf66570ab995558aa6422599ab0c8d6
|
|
| BLAKE2b-256 |
b816634da7cd2b771baf9f71836c7fe08b30966fb302e9c33f7bcf6b13ed4e6a
|
File details
Details for the file arrayops-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 293.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c107e19a62f1fbbc828f8da7d2ef76396456aefd9016aafc4bd4b75c3d82980
|
|
| MD5 |
1ee06f50b60791fffcee8ed64a660cf9
|
|
| BLAKE2b-256 |
00e4877b4fa45ccbdd826dcbb3849724873276d7285c70074d92a586940169ee
|
File details
Details for the file arrayops-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 318.1 kB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a5d36bd68a82d71dc1c480b70040100e80bc7049334389e4366ecd2d3316ccd
|
|
| MD5 |
ac1f3773b4c5cd5bb50d2e860fc9e236
|
|
| BLAKE2b-256 |
6c7f4e76a29d110b667eac057c022708193e88cff46dafa0456029fc5b292183
|
File details
Details for the file arrayops-0.4.0-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 232.9 kB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85830018e539890c100dea1a84c022c37cd20dab734f4e10a03983a1552f152c
|
|
| MD5 |
386a7f8f352c9d93b27c1587e27c531c
|
|
| BLAKE2b-256 |
a5ccc34b75428ad0cd4bb4e84e9228845e87d0f7ce2ac58472e63da9dd89cd78
|
File details
Details for the file arrayops-0.4.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 263.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9230ac510e8a490a1874bd88701f716b8308fcdf659da68cb657ae831733e9d9
|
|
| MD5 |
5d288a96d00468d7da012a7930c74432
|
|
| BLAKE2b-256 |
117ca5859c7accba21f37d23034aba666be836f180a957d5764d99191b7561d8
|
File details
Details for the file arrayops-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 328.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a524adbdceb695a6da696fd18d8a23741ef709ddcf41c1330d8584c9b0a1465
|
|
| MD5 |
44cdfbe9b2fb0a906f1c43f52d6feaa9
|
|
| BLAKE2b-256 |
ba31c392ad3d3266f575058192600f41ba70290ccb87835b537568d61cacc0b5
|
File details
Details for the file arrayops-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 302.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c864971726053142022dd76b4c17ce912fa64383da3eb07c2dc429420797914
|
|
| MD5 |
e449fe0affbd80fb1dea61fea29ff1ab
|
|
| BLAKE2b-256 |
9b7c5916e4919bb0a343f68a8a67b6c9fa3a43513c45729128b88c0edff0a86b
|
File details
Details for the file arrayops-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 292.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e8403d168af0429734488b6f8971dd4e9d5bbc44420efd80f4a35802be544bf
|
|
| MD5 |
0d240c1c03be46702e4de61187d46d81
|
|
| BLAKE2b-256 |
4b7a9dc296b39afe887592f9fc5dbed88a905bfc745ad818339a92dfaea03148
|
File details
Details for the file arrayops-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 316.1 kB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b6c34fbc6ec4b73fc3a0e334d414aaf2c94450f979efb2237598fc7adb53a72
|
|
| MD5 |
3136165410768edf2b029de81fd4de24
|
|
| BLAKE2b-256 |
7d10d6becf661193bc38855b6182e6b1033f87a61ff2b67ebdbdca27c539a85d
|
File details
Details for the file arrayops-0.4.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 263.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03040018e2e030d207c701744d45c52052edff09031fa8d0e83de6526da7c74d
|
|
| MD5 |
24f5319ad19463c314d0abf56ed6938d
|
|
| BLAKE2b-256 |
7e5e18fef6c12aa8aa90d4d27dc3a3fd3f68f5fbbbb613ef186f88f7c242b9e5
|
File details
Details for the file arrayops-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 328.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ada71137121885869f6c8f5e0dfecc32119bcdf939b86c8cb9ea7cfad20d71b
|
|
| MD5 |
8b002dfde27e01780d918e950d70e1f3
|
|
| BLAKE2b-256 |
ad111ad34f3acec98266c0d3dcb5e7c3aa0b5d1e7cda8a0ee9fcd5bbd29e7e2a
|
File details
Details for the file arrayops-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 302.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9f78ff05d35d0b7be4ac89b2fb84c2d8590ae0ff76666a368ddc362b9b968e0
|
|
| MD5 |
c0eca280f499dbd1eb69e5ebc74e128d
|
|
| BLAKE2b-256 |
76ce15af1d4a7aac0d90b57a81407ff4a621a99c1ac96b319f3be10caa47e199
|
File details
Details for the file arrayops-0.4.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 292.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3dcfc14b0dd9033e10a53a74289a2e7ac8ee02a9784ea93d4e7edde051ea7e5
|
|
| MD5 |
2fa6f472a30e07262a162bb2bc1cf8d7
|
|
| BLAKE2b-256 |
0297f534f68659d81c3a8c2991304e65d44e8c6c88a1b3ebecc68bc6eaa857d0
|
File details
Details for the file arrayops-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl
- Upload date:
- Size: 315.9 kB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bcf7eecc9aaed07c79db3d83d102572d2a9cfc986112e8d1031354c73c0c849
|
|
| MD5 |
858e512fa26035f75b23fa7b50a484a5
|
|
| BLAKE2b-256 |
5d321f4bd87c99c815f0c49c1e9ee078f395c51a7e466c32108268ebaabc0417
|
File details
Details for the file arrayops-0.4.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 264.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f129c6f191de75282a283d49d255b9188819467188f2b60b86a66ef3f52efc4
|
|
| MD5 |
124cfb83f0e63bb60b3933c016dd1833
|
|
| BLAKE2b-256 |
5e0a5cdd37b84b1192168aa241aec9975751a78f71d2058e8125e0667ef328d1
|
File details
Details for the file arrayops-0.4.0-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 328.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a34b0d7d19130d2adbc4024e297992b0aa575105e25439cfcdb727d119af89b
|
|
| MD5 |
c9c66ed007a7e555610a953e431ceebd
|
|
| BLAKE2b-256 |
d7c047ffddbe06d402094e54c5b4a752d0c0bc2524220f5f7e6bf46d78c52b8d
|
File details
Details for the file arrayops-0.4.0-cp39-cp39-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp39-cp39-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 302.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
534773beaa2e515a45bc6e5808fd33a8bee7f8677894a4d8df01c30ffee9621d
|
|
| MD5 |
5188c3b011a4e9fd8ee0a8245b9d605c
|
|
| BLAKE2b-256 |
2b1f8934e2c5b6ae695da12856830b10fe9fa5758e22e2e046e79396c927eec4
|
File details
Details for the file arrayops-0.4.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 292.5 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72dade97a695b5cadfd72b3ec8821b120915bc973395aecb021efc74d16daab6
|
|
| MD5 |
6154f32f2816f799a4491d4722ea44e7
|
|
| BLAKE2b-256 |
57541249341912063b59d5b541ae8222c5d7791beef7ecb002eb77b902de2942
|
File details
Details for the file arrayops-0.4.0-cp39-cp39-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp39-cp39-macosx_10_12_x86_64.whl
- Upload date:
- Size: 316.1 kB
- Tags: CPython 3.9, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb3d303a89792fc8bb51e49f8a8b4b37e1fb9aac6c4913f6b7d78cea6ad7bbf3
|
|
| MD5 |
ac77ab02c669fc5195865f0ff4f3b66d
|
|
| BLAKE2b-256 |
a9aa86f02c0ddd460395125015a01741775b2c5febb098e8f7708bdeb68d23e4
|
File details
Details for the file arrayops-0.4.0-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 264.1 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b718c814920abba6238630b67b83c6b653ca98631d4b70f4c0afd1ab2ca0562a
|
|
| MD5 |
e8178d9568d143275ccc110b9dcd20b6
|
|
| BLAKE2b-256 |
22e8149c75960b48b210e52590fa4c223fd482d811d64709e7468219c57cbe92
|
File details
Details for the file arrayops-0.4.0-cp38-cp38-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp38-cp38-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.8, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c1e89e508163b463cf1e950aa52958d07c5d6a2a1548db5c20417a76b6ea51a
|
|
| MD5 |
2564a30c22dc499a603c8e5ffbe7796d
|
|
| BLAKE2b-256 |
2c31769da32ee016c7661760a06c2315a0d474fea2c849912f822df9cc1cdfc6
|
File details
Details for the file arrayops-0.4.0-cp38-cp38-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp38-cp38-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 302.3 kB
- Tags: CPython 3.8, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4cf8a5990fd6a3087a4aea8f601fd4e2f57b427069d6a9026b2c00797b6b37f
|
|
| MD5 |
7761a1b342fa865c3ccc827bb5b8cc8e
|
|
| BLAKE2b-256 |
3b784610bdbcaa5b6d9ca9353fea35f7ffeb2298935417e82106e9d0153ed84c
|
File details
Details for the file arrayops-0.4.0-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 292.6 kB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dceb12a0e264dd65545490cae6677f8bc9752ee6e02df9f4026ab9e1fe59654
|
|
| MD5 |
58270fc753020b87524443b55e7911a5
|
|
| BLAKE2b-256 |
1ba30f55768565d776540a3417105c04c041a17851044cc2d20ab82bfaea0914
|
File details
Details for the file arrayops-0.4.0-cp38-cp38-macosx_10_12_x86_64.whl.
File metadata
- Download URL: arrayops-0.4.0-cp38-cp38-macosx_10_12_x86_64.whl
- Upload date:
- Size: 316.0 kB
- Tags: CPython 3.8, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbcf6ff7b4ba2f19d8545d6cb26eca182561e0485f5155a46316212790298670
|
|
| MD5 |
cce6729c4f122ac289a983e9009f5a16
|
|
| BLAKE2b-256 |
7b72fa1192a981b7cc502726babcaec1b79ff29d24c52ada88734bdcf8d4ce48
|