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
  • ๐Ÿ›ก๏ธ Security Focused: Comprehensive input validation, security testing, and dependency scanning
  • ๐Ÿ“ฆ 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'

๐Ÿ”’ Security

arrayops takes security seriously. For security-related issues:

  • Report vulnerabilities: See SECURITY.md for responsible disclosure
  • Security documentation: See Security Documentation for security guarantees and best practices
  • Security updates: Keep arrayops and dependencies up to date

๐Ÿ“„ 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-1.0.0.tar.gz (162.3 kB view details)

Uploaded Source

Built Distributions

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

arrayops-1.0.0-cp314-cp314-win_arm64.whl (236.2 kB view details)

Uploaded CPython 3.14Windows ARM64

arrayops-1.0.0-cp314-cp314-win_amd64.whl (274.3 kB view details)

Uploaded CPython 3.14Windows x86-64

arrayops-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp314-cp314-manylinux_2_28_aarch64.whl (312.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (307.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

arrayops-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl (336.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

arrayops-1.0.0-cp313-cp313-win_arm64.whl (236.4 kB view details)

Uploaded CPython 3.13Windows ARM64

arrayops-1.0.0-cp313-cp313-win_amd64.whl (274.5 kB view details)

Uploaded CPython 3.13Windows x86-64

arrayops-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl (348.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp313-cp313-manylinux_2_28_aarch64.whl (312.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (307.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arrayops-1.0.0-cp313-cp313-macosx_10_12_x86_64.whl (336.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

arrayops-1.0.0-cp312-cp312-win_arm64.whl (240.1 kB view details)

Uploaded CPython 3.12Windows ARM64

arrayops-1.0.0-cp312-cp312-win_amd64.whl (270.3 kB view details)

Uploaded CPython 3.12Windows x86-64

arrayops-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl (346.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp312-cp312-manylinux_2_28_aarch64.whl (317.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (312.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arrayops-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl (341.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

arrayops-1.0.0-cp311-cp311-win_arm64.whl (241.9 kB view details)

Uploaded CPython 3.11Windows ARM64

arrayops-1.0.0-cp311-cp311-win_amd64.whl (269.5 kB view details)

Uploaded CPython 3.11Windows x86-64

arrayops-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (347.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp311-cp311-manylinux_2_28_aarch64.whl (318.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (313.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arrayops-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl (339.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

arrayops-1.0.0-cp310-cp310-win_amd64.whl (269.7 kB view details)

Uploaded CPython 3.10Windows x86-64

arrayops-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (348.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp310-cp310-manylinux_2_28_aarch64.whl (319.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (313.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

arrayops-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl (339.7 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

arrayops-1.0.0-cp39-cp39-win_amd64.whl (271.0 kB view details)

Uploaded CPython 3.9Windows x86-64

arrayops-1.0.0-cp39-cp39-manylinux_2_28_x86_64.whl (349.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp39-cp39-manylinux_2_28_aarch64.whl (320.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp39-cp39-macosx_11_0_arm64.whl (315.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

arrayops-1.0.0-cp39-cp39-macosx_10_12_x86_64.whl (341.9 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

arrayops-1.0.0-cp38-cp38-win_amd64.whl (273.4 kB view details)

Uploaded CPython 3.8Windows x86-64

arrayops-1.0.0-cp38-cp38-manylinux_2_28_x86_64.whl (351.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

arrayops-1.0.0-cp38-cp38-manylinux_2_28_aarch64.whl (321.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

arrayops-1.0.0-cp38-cp38-macosx_11_0_arm64.whl (315.8 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

arrayops-1.0.0-cp38-cp38-macosx_10_12_x86_64.whl (342.3 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file arrayops-1.0.0.tar.gz.

File metadata

  • Download URL: arrayops-1.0.0.tar.gz
  • Upload date:
  • Size: 162.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for arrayops-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e22029eebd4db224d3260970bd739674be272b002214cca4d0f2ca1f12e44d9f
MD5 32576033728d891caed4360f7ee7596d
BLAKE2b-256 5f48b888d317496bb203a20f3fa92f95a06fd1045e60a2265cc2a5214805eb37

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 236.2 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-1.0.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 0109dfc80ce3fa55946bfc61e20881901a9f43d4b99272dfd768328e623872e2
MD5 1a5988f171cfc67ffb0b0e6f6506d375
BLAKE2b-256 91deb1e9ea0e942cfd07829850f8067b628a2870fc640d71d6973d9dd2d041b7

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 274.3 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-1.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d0983414b41c3431981dbc6d73ba4cb246d9c420ed267908eb93e843baed7dd4
MD5 6966b0e5093c6dcc07483d9af662b52e
BLAKE2b-256 bf595f33107cf72efd4a6051a6e3bf8bfc434e7bac3789564de03949ab5ae69f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa4e2d95b4ff8b549756d6d9f5311456e1a9558150283ef9206c54be8ba7d468
MD5 16db618b14694a78bff823750482a8c8
BLAKE2b-256 94a0f2c126f497204bdfcb18c82fa9ee48ff44f8eda1c3aacaa8c7b006de3c86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2dde968ec877fc2ba9a93db514fcfb92371f96008c00a14ec9670ae00bbfd8ed
MD5 e370f0532dadbf8372639b227dcb3407
BLAKE2b-256 47d63375aaa735e34a3b65be109661ea0a513d9a52115497f94d533a7c8d98d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd10d22735619e6c626fb8c150ceb358d28fff3ea6118cc3e293ee322e128029
MD5 3a5bea2fef76e7303948fb2f0863b337
BLAKE2b-256 4fc5448bcacce76732b7d65828971f11f7117977d79c4e6395d9784ae72e304a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d0d2e740f717f1f34e3ac0eabbeb2d1ff48881f2aba885b7b942d1d4f16768f
MD5 64bbfc144ce9740424d70a4b15d3a084
BLAKE2b-256 d8bab68cf46d34971afc2920eff5d6d9fd1e1b9ae058c26b524331361be367cb

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 236.4 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-1.0.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 6712c5c576ba6ebd379c881367360e3b0c1df02066f053c013aacf12bea33fd1
MD5 75877f3632fc5408f4403be5630faedd
BLAKE2b-256 498a6a19c710d6ef6e8800a717ac796938b47c9c1bb103a04085320864d3a780

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 274.5 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-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 86dba3195ab1de58edb1df84d9326ae9add70f0a87298529a82d8edc8549893d
MD5 dd896206e625c56ce6180e45561497d1
BLAKE2b-256 bc4bbb755f1e8dc1e52057e6c253f46fed1a1d6e9513e3cc1601049190b6c9cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 854606c59fe24375b88359503b77c3ff6185097a15728047a87b9f594863aa32
MD5 6b8dfe3883a13b6f36230bf6e0fb9320
BLAKE2b-256 a9fe5e190c90490786eb97aab9b28fb76b5053afedaf5ddbd8a4927680d602ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c2737221e93a36e124bc4dc3baf6ae5527748ab78f9b3b0a4b2dd177a1966ec0
MD5 dfafd22cfa8135b65376bb79c1d26243
BLAKE2b-256 1dfc1917de860f7bc52ae3f67a08904f0c7dad719f2bfce11c5c538b412cf8be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 676fd5ef855d2cd632e6c9516bef559289e19a8bc6ccb30f30d272fd3da26d8f
MD5 74d800c1ead2e2885a2b5eeaf66e0e21
BLAKE2b-256 dd965f3b0110bd25c68eeafe9ef4b3a810c3f95e785fc1b9f88759c481cd5822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a67c64a77cf298a182974206f5c52fd606b41d8b2971146dcabfb701e96dc9b5
MD5 6da61597513eac95bb94bb8f9f274d9a
BLAKE2b-256 66ddf752aad289091f9a9d41e784026c95d6b2df224a76d707e73ad805658287

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 240.1 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-1.0.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 123608983b1095018f9f3bec6c12196771fd864dfe237d0802585505e4bc994e
MD5 6bf9e1b331e444c719336ba344c356b5
BLAKE2b-256 8b50f70159e2b9b627759004fb8a0d7bab4b197f25abd5bea8ef542d85ee0d3b

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 270.3 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-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c33916a96c90f3688f00515e64e2027de18b22add93f8e4690add2799ed68977
MD5 cca989c987b6a30958be94683879c926
BLAKE2b-256 2930490420b9afd71ee090250699fbb11910011f2d6496ae4a9cce87fdaa0e79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecc0001fc9072308b77630e4f32b98ed08812bca82438831972e44805cd3efcb
MD5 bb41b85d170b2b8b9c15854e1cdca26c
BLAKE2b-256 6caf73d728d30624bdda15c8de83ce50f7e202d9da9a5be282d8dc835af39b7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9aa8ec287fdb69b76ceea912fa9d7c642385c2f5150da1085a5356bbce24888b
MD5 4e9d452f3a0274ca6af557519d039fbc
BLAKE2b-256 cbc97e53192222ab5bb9ef533707c843e35735a6bdfdc14087f7d21c5a470d31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03f25714f9b0e868d98c8061a507b81ac8e8effa29ddbeaa85a08b978c650ca4
MD5 c067559c7fb2f173477092b3e3f72782
BLAKE2b-256 acdbf6f51fc06eb7098ba0f00ccda046b9ff1d90b5dff98dc155c266473f373e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c855f4689554d33774045c2800b9bdf3e0f903b56cd54fed84fff9225d9197cd
MD5 51e0b9ce0912555a36c24b9bfdc3079e
BLAKE2b-256 6331849355ab5f85f796ad27267d72217ba7fb46992af88062e9d4e91abea839

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 241.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-1.0.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 1152867b782e58caf34e4d8e283549671feb75a578fced24d08f5a61f2860ca0
MD5 ce78a41659182adcbaed081f8695ab04
BLAKE2b-256 f66caed986817517da3fa759f12644ea022daca51e2d28b4e1e16faaa24ec2f8

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 269.5 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-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c275c0aae7bada359adba270dcea256af79a4b7148b8b51c39fcaf961293dc85
MD5 8f20bd2080d8dd5f8f1de9e121703d2c
BLAKE2b-256 08769ed7fefb35ee48ba9ec930a3a68d32c29a4d8e386ee6879dfe8d3154fde1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a8efebdf911449cebd869892f77111622fb4b4499eff808730d60b2c210e9dd
MD5 1e642d064be505ec8e6aa59e8288faf8
BLAKE2b-256 6c65f2504524da41eb12eda48c5d2dd681280e0964bfd6a357b4380cdbd2605f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de2372ae173ec7aa8a3d969f0cfa07d433dad477f61c0d4aa8ecc0c38ba6aed4
MD5 f474d784e749fb17017f3bed86270e42
BLAKE2b-256 94ef67b9020a21001a66fd2cb806c5b09138802d636f7e849700308569b01518

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2046f77f2533eac000c1654ec4c37bfc22713bba44d100a2c4a14eec4c87a115
MD5 b52aff0cec8d30e25d7586ae45ef719e
BLAKE2b-256 abd190dc71102c4030ea0349859b8778cb6e4b1566e77515700a0395a2bdf8b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0577d2f22b51d2922a720ef2793b46441b264f346849485e1407dc631c8d9aa5
MD5 af12b18a09f8a586dfc87e4178161d82
BLAKE2b-256 c1ff8f25cca9e7dfc5160e2a904222c00b381a9d051621ff4ceae5d1c4cd18b8

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 269.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-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c39dd0501debc366eda85476537350868fc023d7977a3c5d2c8078faea6b3709
MD5 a68543e6e2a08a0ffa002e2c8f33a7d8
BLAKE2b-256 251c08894dfc54bea62511c89d76a704258383e8be94a743c426b236d71fe4c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 256b7d41744fede9220bc4780e1fa51ede5ada43c4263a8bf686366134d19d8e
MD5 014bd177ba5b4c144ca454b75c80d2ee
BLAKE2b-256 c22ffa2e78247e3ab4f89277a332580365ee8b1b692072e9a65b6bff0897832b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 30e5052ed0ae0ab4c7782087e6c1494e6aeeb2caafe31999cd5e3ca38a827d35
MD5 4cef267aedb3a47348569fa57ce318b7
BLAKE2b-256 dee56daa54abf27867b835232b5ec9440b00581914dfbabc2d142d112e25fcea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5a42116a63d062b5efa515204099886bbbdde9555fa77ee4f3408e4e988e077
MD5 07c41af853323185f8bd5292bd953ff9
BLAKE2b-256 c66dd4d1b1234d229bc2c47de74b8cdcb7dc3a9fd33c98be8d4876ec45e23d41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 57e3174683437b533c28362e84aca5e1fc20a021f53813b54aafc92fae53eed9
MD5 333add183a77811641e819a039c486e7
BLAKE2b-256 8b0ebb6c578c55a0c7f684b07dcec58e3c4f084c89801680a8ba8c1bc6a49852

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 271.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-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bbee49253751ab1ebb22563bb87956aaf51ee9309885b76d2cbfdf9c1627f408
MD5 bd8959e3374b98cbb448b630c4f58d14
BLAKE2b-256 317ab26be0e706da07d074bd5c1b0ee0a284c4076084724e0673c6d2e1186a59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52389f28a534874f1372a873a9c8b20919bb5da74b149144e1b25bd066c41f2c
MD5 1c1e87f601664a9d1b19054bc0a667e0
BLAKE2b-256 6ca608213260b1839db7ac554ba1acaaba748220927e6f931f80c358ca5efd61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 160c286bccbf39f33a13cbc6e37031e607ea1990a834edb0cd8b9e213d7d1db0
MD5 34666f4c18f0b6750b6678a609409b8b
BLAKE2b-256 1ba3397a78c04b812c57cef6996f7afbe7774b0a5b7a0c8e6fea478dcdf600dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b71b791425463267ed10d33c138f90181b5ec758c97d6ef67627f3340fadd2a
MD5 7cb2c5d4e9022b512fbdfa5240e80bdf
BLAKE2b-256 7e6189e311a5aa403662ce81f2fd60f12fe30afbbde33559dcd4fa89cf1a8b3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 822c7a7ff3ed47d2746b042d20f7dc3cf746a3d0a8d0e383d874717795117e00
MD5 bf971e96eab68e433cce4852dd48a5d9
BLAKE2b-256 6cb76372b8f6c7427a842d065a704a5c869be1936a0bbd370095df48cf00a9d6

See more details on using hashes here.

File details

Details for the file arrayops-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: arrayops-1.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 273.4 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-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2775a41f0b6640e14f7e69000bf97e4e44684dd76cc30f6dc7786ea723b836da
MD5 df4d858d5890380c4a8b7c6d6157a0ec
BLAKE2b-256 5929131140fe1c8fa8bd8e164075566cacb6b1130ebd0e225cb5847182cd98c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 80439fe085d7c520dce3fef5f1705fcee24420a5243e4af460a8c718a65b9bff
MD5 4a0cee008b8a8ec7cdab952a2b72e466
BLAKE2b-256 3f4c386344e3574db5beb9b96ab95702855a902086bc23391a70cc3a936108c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 58332af0a04d72b71861c3002075f2818018790fa70fd952261986e287975adb
MD5 c36cf080ae13130efec4e66d8cd32cf7
BLAKE2b-256 3ff2bf71280c7cc9a7fc2f6ccfbeb0f8a7529e8d993506af117999f1bdad9d92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53fa48f75aab51282275f8b1095c04ffd8edd0e140c6d074efc5bcfe4f3c6228
MD5 bc4240e78069221c784f06e3fb83f133
BLAKE2b-256 9d5ee51a6c4f2fe44cf5badae2a65db645879acb76b18903cd6136d00bd8c9f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arrayops-1.0.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 097e28a313081109b299056e0cecf518131361cbea317e047dd5d5a0079b214e
MD5 f0a6feb02dd6d98575ae8b9750b44ab1
BLAKE2b-256 32316ec0962bd44d299f6e5381cade17b0a370028e1449a57ae8816152f75163

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