Skip to main content

Rust-backed acceleration for Python array.array

Project description

arrayops

Rust-backed acceleration for Python's array.array type

PyPI Python 3.8+ Rust License: MIT Documentation Code Coverage

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 with pip 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


For detailed documentation, examples, and API reference, visit arrayops.readthedocs.io

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

arrayops-0.4.0.tar.gz (115.4 kB view details)

Uploaded Source

Built Distributions

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

arrayops-0.4.0-cp314-cp314-win_arm64.whl (234.9 kB view details)

Uploaded CPython 3.14Windows ARM64

arrayops-0.4.0-cp314-cp314-win_amd64.whl (264.8 kB view details)

Uploaded CPython 3.14Windows x86-64

arrayops-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl (328.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl (301.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp314-cp314-macosx_11_0_arm64.whl (291.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

arrayops-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl (315.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

arrayops-0.4.0-cp313-cp313-win_arm64.whl (234.9 kB view details)

Uploaded CPython 3.13Windows ARM64

arrayops-0.4.0-cp313-cp313-win_amd64.whl (264.8 kB view details)

Uploaded CPython 3.13Windows x86-64

arrayops-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl (328.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl (301.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (291.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arrayops-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl (315.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

arrayops-0.4.0-cp312-cp312-win_arm64.whl (225.5 kB view details)

Uploaded CPython 3.12Windows ARM64

arrayops-0.4.0-cp312-cp312-win_amd64.whl (254.8 kB view details)

Uploaded CPython 3.12Windows x86-64

arrayops-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (330.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl (303.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (293.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arrayops-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl (318.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

arrayops-0.4.0-cp311-cp311-win_arm64.whl (232.9 kB view details)

Uploaded CPython 3.11Windows ARM64

arrayops-0.4.0-cp311-cp311-win_amd64.whl (263.7 kB view details)

Uploaded CPython 3.11Windows x86-64

arrayops-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (328.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl (302.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (292.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arrayops-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl (316.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

arrayops-0.4.0-cp310-cp310-win_amd64.whl (263.7 kB view details)

Uploaded CPython 3.10Windows x86-64

arrayops-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl (328.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl (302.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (292.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

arrayops-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl (315.9 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

arrayops-0.4.0-cp39-cp39-win_amd64.whl (264.0 kB view details)

Uploaded CPython 3.9Windows x86-64

arrayops-0.4.0-cp39-cp39-manylinux_2_28_x86_64.whl (328.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp39-cp39-manylinux_2_28_aarch64.whl (302.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp39-cp39-macosx_11_0_arm64.whl (292.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

arrayops-0.4.0-cp39-cp39-macosx_10_12_x86_64.whl (316.1 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

arrayops-0.4.0-cp38-cp38-win_amd64.whl (264.1 kB view details)

Uploaded CPython 3.8Windows x86-64

arrayops-0.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (329.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

arrayops-0.4.0-cp38-cp38-manylinux_2_28_aarch64.whl (302.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

arrayops-0.4.0-cp38-cp38-macosx_11_0_arm64.whl (292.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

arrayops-0.4.0-cp38-cp38-macosx_10_12_x86_64.whl (316.0 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

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

Hashes for arrayops-0.4.0.tar.gz
Algorithm Hash digest
SHA256 df6f807281c0f04ec918a08dc5c639f896760bd2cb4181a4bee2779c013543b2
MD5 3c040c317a3b5ce24b8cd0494fa19fb0
BLAKE2b-256 e4cb3764fc501c0ba10937b6a4f6e94e35034198d5ecfd489d8e75839270e959

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 405c6c2130220f0f23f92de9f3ef9379bd10e88b6750196a8a4f87b6ebb23458
MD5 78c05b5392672954fb2cdbd2057cf901
BLAKE2b-256 1681fa6175cd3ed46c6b5d0afe6102957b1278524ff743056be24aa80515f03f

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ff5e9584ee767836cb9debf55d0fc76e23c20325a6983c1d687bba5b8b6ed4c1
MD5 f814b4163b4e404d405db956752ea1cc
BLAKE2b-256 032e089607225888c06e9971164c9a6aa4e494978a2dda5794fdfded90dc9599

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c8dfe0b992707cfe07c04f9ba3e47ac706017d8dc9404d58c60de872799f4a1
MD5 9d69b3b57260ab655111b6fdfc70bb29
BLAKE2b-256 fa563943426d2cd5bb87e1b970cad64c02a8a097e28b0d1f500f320a0807b8eb

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5f5628ff19a5a91bc586a131a2ed7f3812fe591307dc852f8da4a4ab390d6120
MD5 f6b3202611e409a048a9fd2eb2e69117
BLAKE2b-256 08d5ee5f9e03a4fb9eb6c82a2e8a82452f0bdd940405dbd4263ec45ee5033564

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d31caf0230348eb22788630fac68131bb5a3d9825eb0a16f1067402fa478f523
MD5 24b30d2647aa507a5beee8a834d9b0b0
BLAKE2b-256 c2d4d0fd9b324a128794c8c385e750a324d1652af6104be9a041caf3490f07cc

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 731ff535751184150da97afb988be5c74d3aead5b738433b2b6c67fd5a2c16f2
MD5 02ea08f1f135873c3c188a2e0f43173f
BLAKE2b-256 f1aac3ba8e289122d506e60e67ee7987865897b8cf5f48bfa14775a947069214

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 307cc224227eaba7f62db914638822388f19cc331f87765af9a10dd60e902d22
MD5 d76e9e5ab91390d0cf180a1a129ce1e4
BLAKE2b-256 0114b6e3e72d690b048ecaba5417aa62ba36708ee34a851f8f9109a99a3d0ee4

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 64b498b0bcbd0ec6864b500f41d5a09470b168177e5c83515613c76dbed4cf7a
MD5 cede971f987663793b3402405756fca6
BLAKE2b-256 78712788442b62565c70f86afe0b5bf0a7c0d73841391dd97c4a63e9ee75bd9d

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9dc809652fd140c6c51ab402b2e0337695356eb441a3adb50a129aa18ef786d6
MD5 c420a5be5a5c66f7d2cc17e3898e972e
BLAKE2b-256 a92b2ee32437793185419079ddaaec3528deaaa79bc773cee5471af525ca6284

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a2b4c3a4ec399a35a6836c85e2e0ad2a39294e6cd8d30d515374f51f5686ee8
MD5 6b6d692d2b1aab543665996ff76aa159
BLAKE2b-256 1e540cbc54c21b682a4fd9131fc1cd3f61d06bcb35d1543cb1d81509b82866fc

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfa044e39875503dee9f814d5cb77bc96bf2448a78534b7d42a10cbe85847775
MD5 7ba4b82457f9253c8f4ead169ab9a1ab
BLAKE2b-256 b0e96ad23a70c0afac6bdae84fa928f5b53415da1de2b2e94dacf00c3ce7537c

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dbbcf28ea8621b89c863f85286a80324473e0df3b82b41bcb0e8f9b740d6204c
MD5 ed164de3f74c97650627d173df38acf6
BLAKE2b-256 7e675402dda2769af7316eeeffca6d2ed0a31c9e4237a13fa391cc1ee7613272

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 ea8a0723d432ea4e074e696fb6c73d3202434632ffbe1739e3f3fbf9791c0c62
MD5 edca59eee8937017433dd38fbb451a95
BLAKE2b-256 f9f0782086ef3d66db2047d02724354e244827ae72c86a7c021b4b5e8df884d8

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 406bb943c2b45d64769d5b399c3f1613122e9de9e63eb09afa433bddcad733bf
MD5 83f81e22bf61674b49437bacb22fea1b
BLAKE2b-256 7fc644f061698577f6ed208c794f6114836c3abd09d6b9a8df638c9291bde759

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d27a630f69c4cf6c11587a3607cae7f64c3ded28836df5fa18dabc50a8e2fb5b
MD5 dc289ab08204d4218bed0bd037f58c09
BLAKE2b-256 9c750256632694bdca918c72acf65ec409de3ce1e679c68ac93dfdad1dace0e1

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 85b2c5d5c6a4c74fa290345b6951f74b609b6feb0ce16de89dcaa8a9c193a2ca
MD5 6bf66570ab995558aa6422599ab0c8d6
BLAKE2b-256 b816634da7cd2b771baf9f71836c7fe08b30966fb302e9c33f7bcf6b13ed4e6a

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c107e19a62f1fbbc828f8da7d2ef76396456aefd9016aafc4bd4b75c3d82980
MD5 1ee06f50b60791fffcee8ed64a660cf9
BLAKE2b-256 00e4877b4fa45ccbdd826dcbb3849724873276d7285c70074d92a586940169ee

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7a5d36bd68a82d71dc1c480b70040100e80bc7049334389e4366ecd2d3316ccd
MD5 ac1f3773b4c5cd5bb50d2e860fc9e236
BLAKE2b-256 6c7f4e76a29d110b667eac057c022708193e88cff46dafa0456029fc5b292183

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 85830018e539890c100dea1a84c022c37cd20dab734f4e10a03983a1552f152c
MD5 386a7f8f352c9d93b27c1587e27c531c
BLAKE2b-256 a5ccc34b75428ad0cd4bb4e84e9228845e87d0f7ce2ac58472e63da9dd89cd78

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9230ac510e8a490a1874bd88701f716b8308fcdf659da68cb657ae831733e9d9
MD5 5d288a96d00468d7da012a7930c74432
BLAKE2b-256 117ca5859c7accba21f37d23034aba666be836f180a957d5764d99191b7561d8

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a524adbdceb695a6da696fd18d8a23741ef709ddcf41c1330d8584c9b0a1465
MD5 44cdfbe9b2fb0a906f1c43f52d6feaa9
BLAKE2b-256 ba31c392ad3d3266f575058192600f41ba70290ccb87835b537568d61cacc0b5

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5c864971726053142022dd76b4c17ce912fa64383da3eb07c2dc429420797914
MD5 e449fe0affbd80fb1dea61fea29ff1ab
BLAKE2b-256 9b7c5916e4919bb0a343f68a8a67b6c9fa3a43513c45729128b88c0edff0a86b

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e8403d168af0429734488b6f8971dd4e9d5bbc44420efd80f4a35802be544bf
MD5 0d240c1c03be46702e4de61187d46d81
BLAKE2b-256 4b7a9dc296b39afe887592f9fc5dbed88a905bfc745ad818339a92dfaea03148

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5b6c34fbc6ec4b73fc3a0e334d414aaf2c94450f979efb2237598fc7adb53a72
MD5 3136165410768edf2b029de81fd4de24
BLAKE2b-256 7d10d6becf661193bc38855b6182e6b1033f87a61ff2b67ebdbdca27c539a85d

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 03040018e2e030d207c701744d45c52052edff09031fa8d0e83de6526da7c74d
MD5 24f5319ad19463c314d0abf56ed6938d
BLAKE2b-256 7e5e18fef6c12aa8aa90d4d27dc3a3fd3f68f5fbbbb613ef186f88f7c242b9e5

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ada71137121885869f6c8f5e0dfecc32119bcdf939b86c8cb9ea7cfad20d71b
MD5 8b002dfde27e01780d918e950d70e1f3
BLAKE2b-256 ad111ad34f3acec98266c0d3dcb5e7c3aa0b5d1e7cda8a0ee9fcd5bbd29e7e2a

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f9f78ff05d35d0b7be4ac89b2fb84c2d8590ae0ff76666a368ddc362b9b968e0
MD5 c0eca280f499dbd1eb69e5ebc74e128d
BLAKE2b-256 76ce15af1d4a7aac0d90b57a81407ff4a621a99c1ac96b319f3be10caa47e199

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3dcfc14b0dd9033e10a53a74289a2e7ac8ee02a9784ea93d4e7edde051ea7e5
MD5 2fa6f472a30e07262a162bb2bc1cf8d7
BLAKE2b-256 0297f534f68659d81c3a8c2991304e65d44e8c6c88a1b3ebecc68bc6eaa857d0

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7bcf7eecc9aaed07c79db3d83d102572d2a9cfc986112e8d1031354c73c0c849
MD5 858e512fa26035f75b23fa7b50a484a5
BLAKE2b-256 5d321f4bd87c99c815f0c49c1e9ee078f395c51a7e466c32108268ebaabc0417

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7f129c6f191de75282a283d49d255b9188819467188f2b60b86a66ef3f52efc4
MD5 124cfb83f0e63bb60b3933c016dd1833
BLAKE2b-256 5e0a5cdd37b84b1192168aa241aec9975751a78f71d2058e8125e0667ef328d1

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a34b0d7d19130d2adbc4024e297992b0aa575105e25439cfcdb727d119af89b
MD5 c9c66ed007a7e555610a953e431ceebd
BLAKE2b-256 d7c047ffddbe06d402094e54c5b4a752d0c0bc2524220f5f7e6bf46d78c52b8d

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 534773beaa2e515a45bc6e5808fd33a8bee7f8677894a4d8df01c30ffee9621d
MD5 5188c3b011a4e9fd8ee0a8245b9d605c
BLAKE2b-256 2b1f8934e2c5b6ae695da12856830b10fe9fa5758e22e2e046e79396c927eec4

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 72dade97a695b5cadfd72b3ec8821b120915bc973395aecb021efc74d16daab6
MD5 6154f32f2816f799a4491d4722ea44e7
BLAKE2b-256 57541249341912063b59d5b541ae8222c5d7791beef7ecb002eb77b902de2942

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bb3d303a89792fc8bb51e49f8a8b4b37e1fb9aac6c4913f6b7d78cea6ad7bbf3
MD5 ac77ab02c669fc5195865f0ff4f3b66d
BLAKE2b-256 a9aa86f02c0ddd460395125015a01741775b2c5febb098e8f7708bdeb68d23e4

See more details on using hashes here.

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

Hashes for arrayops-0.4.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b718c814920abba6238630b67b83c6b653ca98631d4b70f4c0afd1ab2ca0562a
MD5 e8178d9568d143275ccc110b9dcd20b6
BLAKE2b-256 22e8149c75960b48b210e52590fa4c223fd482d811d64709e7468219c57cbe92

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c1e89e508163b463cf1e950aa52958d07c5d6a2a1548db5c20417a76b6ea51a
MD5 2564a30c22dc499a603c8e5ffbe7796d
BLAKE2b-256 2c31769da32ee016c7661760a06c2315a0d474fea2c849912f822df9cc1cdfc6

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4cf8a5990fd6a3087a4aea8f601fd4e2f57b427069d6a9026b2c00797b6b37f
MD5 7761a1b342fa865c3ccc827bb5b8cc8e
BLAKE2b-256 3b784610bdbcaa5b6d9ca9353fea35f7ffeb2298935417e82106e9d0153ed84c

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5dceb12a0e264dd65545490cae6677f8bc9752ee6e02df9f4026ab9e1fe59654
MD5 58270fc753020b87524443b55e7911a5
BLAKE2b-256 1ba30f55768565d776540a3417105c04c041a17851044cc2d20ab82bfaea0914

See more details on using hashes here.

File details

Details for the file arrayops-0.4.0-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arrayops-0.4.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dbcf6ff7b4ba2f19d8545d6cb26eca182561e0485f5155a46316212790298670
MD5 cce6729c4f122ac289a983e9009f5a16
BLAKE2b-256 7b72fa1192a981b7cc502726babcaec1b79ff29d24c52ada88734bdcf8d4ce48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page