Skip to main content

Efficient parallelizable algorithms for multidimensional arrays to speed up your data pipelines

Project description

codecov pypi License PyPI - Downloads

Imops

Efficient parallelizable algorithms for multidimensional arrays to speed up your data pipelines.

Install

pip install imops  # default install with Cython backend
pip install imops[numba]  # additionally install Numba backend

How fast is it?

Time comparisons (ms) for Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz using 8 threads. All inputs are C-contiguous NumPy arrays. For morphology functions bool dtype is used and float64 for all others.

function / backend Scipy() Cython(fast=False) Cython(fast=True) Numba()
zoom(..., order=0) 2072 1114 867 3590
zoom(..., order=1) 6527 596 575 3757
interp1d 780 149 146 420
radon 59711 5982 4837 -
inverse_radon 52928 8254 6535 -
binary_dilation 2207 310 298 -
binary_erosion 2296 326 304 -
binary_closing 4158 544 469 -
binary_opening 4410 567 522 -
center_of_mass 2237 64 64 -

We use airspeed velocity to benchmark our code. For detailed results visit benchmark page.

Features

Fast Radon transform

from imops import radon, inverse_radon

Fast 0/1-order zoom

from imops import zoom, zoom_to_shape

# fast zoom with optional fallback to scipy's implementation
y = zoom(x, 2, axis=[0, 1])
# a handy function to zoom the array to a given shape 
# without the need to compute the scale factor
z = zoom_to_shape(x, (4, 120, 67))

Works faster only for ndim<=4, dtype=float32 or float64 (and bool-int16-32-64-uint8-16-32 if order == 0), output=None, order=0 or 1, mode='constant', grid_mode=False

Fast 1d linear interpolation

from imops import interp1d  # same as `scipy.interpolate.interp1d`

Works faster only for ndim<=3, dtype=float32 or float64, order=1

Fast 2d linear interpolation

import numpy as np
from imops.interp2d import Linear2DInterpolator
n, m = 1024, 2
points = np.random.randint(low=0, high=1024, size=(n, m))
points = np.unique(points, axis=0)
x_points = points[: n // 2]
values = np.random.uniform(low=0.0, high=1.0, size=(len(x_points),))
interp_points = points[n // 2:]
num_threads = -1 # will be equal to num of CPU cores
# You can optionally pass your own triangulation as an np.array of shape [num_triangles, 3], element at (i, j) position is an index of a point from x_points
interpolator = Linear2DInterpolator(x_points, values, num_threads=num_threads, triangles=None)
# Also you can pass values to __call__ and rewrite the ones that were passed to __init__
interp_values = interpolator(interp_points, values + 1.0, fill_value=0.0)

Fast binary morphology

from imops import binary_dilation, binary_erosion, binary_opening, binary_closing

These functions mimic scikit-image counterparts

Padding

from imops import pad, pad_to_shape

y = pad(x, 10, axis=[0, 1])
# `ratio` controls how much padding is applied to left side:
# 0 - pad from right
# 1 - pad from left
# 0.5 - distribute the padding equally
z = pad_to_shape(x, (4, 120, 67), ratio=0.25)

Cropping

from imops import crop_to_shape

# `ratio` controls the position of the crop
# 0 - crop from right
# 1 - crop from left
# 0.5 - crop from the middle
z = crop_to_shape(x, (4, 120, 67), ratio=0.25)

Labeling

from imops import label

# same as `skimage.measure.label`
labeled, num_components = label(x, background=1, return_num=True)

Backends

For all heavy image routines except label you can specify which backend to use. Backend can be specified by a string or by an instance of Backend class. The latter allows you to customize some backend options:

from imops import Cython, Numba, Scipy, zoom

y = zoom(x, 2, backend='Cython')
y = zoom(x, 2, backend=Cython(fast=False))  # same as previous
y = zoom(x, 2, backend=Cython(fast=True))  # -ffast-math compiled cython backend
y = zoom(x, 2, backend=Scipy())  # use scipy original implementation
y = zoom(x, 2, backend='Numba')
y = zoom(x, 2, backend=Numba(parallel=True, nogil=True, cache=True))  # same as previous

Also backend can be specified globally or locally:

from imops import imops_backend, set_backend, zoom

set_backend('Numba')  # sets Numba as default backend
with imops_backend('Cython'):  # sets Cython backend via context manager
    zoom(x, 2)

Note that for Numba backend setting num_threads argument has no effect for now and you should use NUMBA_NUM_THREADS environment variable. Available backends:

function / backend Scipy Cython Numba
zoom
interp1d
radon
inverse_radon
binary_dilation
binary_erosion
binary_closing
binary_opening
center_of_mass

Acknowledgements

Some parts of our code for radon/inverse radon transform as well as the code for linear interpolation are inspired by the implementations from scikit-image and scipy. Also we used fastremap and cc3d out of the box.

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

imops-0.8.7.tar.gz (69.4 kB view details)

Uploaded Source

Built Distributions

imops-0.8.7-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

imops-0.8.7-cp312-cp312-win32.whl (2.9 MB view details)

Uploaded CPython 3.12 Windows x86

imops-0.8.7-cp312-cp312-musllinux_1_1_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

imops-0.8.7-cp312-cp312-musllinux_1_1_i686.whl (11.6 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

imops-0.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (11.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

imops-0.8.7-cp312-cp312-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

imops-0.8.7-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

imops-0.8.7-cp311-cp311-win32.whl (2.9 MB view details)

Uploaded CPython 3.11 Windows x86

imops-0.8.7-cp311-cp311-musllinux_1_1_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

imops-0.8.7-cp311-cp311-musllinux_1_1_i686.whl (12.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

imops-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (11.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

imops-0.8.7-cp311-cp311-macosx_10_9_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

imops-0.8.7-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

imops-0.8.7-cp310-cp310-win32.whl (2.9 MB view details)

Uploaded CPython 3.10 Windows x86

imops-0.8.7-cp310-cp310-musllinux_1_1_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

imops-0.8.7-cp310-cp310-musllinux_1_1_i686.whl (11.7 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

imops-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (11.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

imops-0.8.7-cp310-cp310-macosx_10_9_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

imops-0.8.7-cp39-cp39-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

imops-0.8.7-cp39-cp39-win32.whl (3.0 MB view details)

Uploaded CPython 3.9 Windows x86

imops-0.8.7-cp39-cp39-musllinux_1_1_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

imops-0.8.7-cp39-cp39-musllinux_1_1_i686.whl (11.6 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

imops-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (11.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

imops-0.8.7-cp39-cp39-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

imops-0.8.7-cp38-cp38-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

imops-0.8.7-cp38-cp38-win32.whl (3.0 MB view details)

Uploaded CPython 3.8 Windows x86

imops-0.8.7-cp38-cp38-musllinux_1_1_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

imops-0.8.7-cp38-cp38-musllinux_1_1_i686.whl (12.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

imops-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (11.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

imops-0.8.7-cp38-cp38-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

imops-0.8.7-cp37-cp37m-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

imops-0.8.7-cp37-cp37m-win32.whl (2.9 MB view details)

Uploaded CPython 3.7m Windows x86

imops-0.8.7-cp37-cp37m-musllinux_1_1_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

imops-0.8.7-cp37-cp37m-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

imops-0.8.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (10.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

imops-0.8.7-cp37-cp37m-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

imops-0.8.7-cp36-cp36m-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.6m Windows x86-64

imops-0.8.7-cp36-cp36m-win32.whl (1.2 MB view details)

Uploaded CPython 3.6m Windows x86

imops-0.8.7-cp36-cp36m-musllinux_1_1_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

imops-0.8.7-cp36-cp36m-musllinux_1_1_i686.whl (9.3 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

imops-0.8.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

imops-0.8.7-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (8.6 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

imops-0.8.7-cp36-cp36m-macosx_10_9_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file imops-0.8.7.tar.gz.

File metadata

  • Download URL: imops-0.8.7.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7.tar.gz
Algorithm Hash digest
SHA256 474334fdeacdeaffb9dd3195b3d1f89e3fa25318692f9e48737d4fa2a346d4ec
MD5 bd4b0e93311589ba4856a64a614ff650
BLAKE2b-256 5b5bfd3da175f6aed4015868cba51cd9d94d807b5ab165ce2708e5e845aa24b1

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2ccc3b4e64caa71dd45068d8b6e748fc9ca26363845e264bedd2fd4204ebe303
MD5 506327f4004ea5187c52c408c42de043
BLAKE2b-256 b14e75f41052dea90efda3d3528eaec9a9e84c8063c0c057291490a169ad3bab

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp312-cp312-win32.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 a4618d23e021ebe45969b1ec45144103ed9773cd54894cf32589bcc1330b6578
MD5 0bcd6ca95088ed7a27b6c654f1335500
BLAKE2b-256 3491f0185a8e57ece1079ce0f34f25e2ff6632c2297f2765d704ce7ea9f03515

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5b306c07b7b8658bbd04c250ee9abb3d7cd2d4158b7d5f65043a9708358014d9
MD5 61580f22c5358bb600deec6b7fbf531b
BLAKE2b-256 a0f141cc6aa4f214654ad11dd3b0549d1670afe94e3bd91c0a354a7bbfd3d57d

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ee0bed7cbb36f2b735ca05154f962fd47f47f4ee868ef762ec7212ffcbd279ba
MD5 f418dc2f38e9bb8f49f4df67b31cba14
BLAKE2b-256 a1060bee998bdd0037fc79b677ea5eeeece64289fe6a7fcdf1c429f0f2bf7de6

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8edd59663893dd4c6ac3000bff07084594c3b6f28a2509499efc6458eab5763a
MD5 88a64d9fc2cf88855eeac1629f2d5616
BLAKE2b-256 ecbaf1174a14e94799cb27e6f87a96022a593e41b6ade87a933a402463c96473

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8c4d45270cd6e6b29739a7b5d7d603ebd872ed64155dd60e2cd4a9712674eeb7
MD5 8d4cf0e7ec964801f9ada306e801e3ce
BLAKE2b-256 7108cc7c74f66abcc2f8f36771e848cfe950d0853f27a1fc3ca650ce0af09e0f

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a08a2f005227f264e6b88e631b278cdbda344b93d3981330e363e54ae078775
MD5 5c4caecaa7651f6502a1230c760089b0
BLAKE2b-256 7269196b418b2d50e13b639c22addb23616383610dd2f83a256062ce85594f70

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3dedf3dd51e434fb8a4db7f2cbbd1483b2f15e18b7605b44f5d9cc1d6519dfa7
MD5 dfdf35c848e492c200603265eccdc214
BLAKE2b-256 515a3f3f86a23d26d54bad7fc44b0737b12090b569f0d1c69f93984c7b849087

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp311-cp311-win32.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a88890fd7b623e6cf6b4f81f4e28f40bfcff3515103af9720ed2709971ff9518
MD5 da4ae7e25224bab1ad237b363fb0fcee
BLAKE2b-256 51271ebffd7a55bc9b726b9bd919377050c6960c651426a62b1e5da45945a652

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b4f88c5208beec64587dd06e259ed9a55e1d53fc8b9e1b33d85d14bb69cb1aad
MD5 c624b3c77f8f71af81306902e4b5b0b0
BLAKE2b-256 9bae8fcf6eedeee2a5fc9dc66b3970d2124f1d7fe5b3e68b7ce1adb11b1a1d31

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8d405077b46f5fc97a24d334bcc092d0d2dd31aaed51f1beff3058e3e80d5b7e
MD5 57385ad7f01b21d828f6974287119c16
BLAKE2b-256 7195c690684481334f39a70d15c5ce410db6a241854801040d783d722b572445

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cf59517e031072d6a5b3a5bcb46ea49055611a113d5478c93d52b8e9a31ee38
MD5 63dc41c4cb864bf080546acfca86b31c
BLAKE2b-256 f2be565cbee55440b28e67d12e4400fa3236870b432bb060f4fc358099e26543

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 78831ce4a30d3b54acd26fe123011db4767902a517f0a6c51ff059d1b5cb671c
MD5 890fce1d438437bb76f8846563f56b47
BLAKE2b-256 e974d48e4afaf2df408b334e061f4bf4e9fc52891242c3238e6b07b47952a949

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51e687e7ef2f472e2ecb22991739d0e91b3a78a4049f332ff111aa7ce72633ba
MD5 0d962418c0f6e23a1f50c5a04ddb4f08
BLAKE2b-256 b0030c2004014f77ad6f3571b2d246510d60720d4b3cfa2b8481be45d95aaee4

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b462e990964fd5359f6550fc9ef15aa69d9800833191bbb2fcb0d46064b91b9b
MD5 973fdf40c50ec59d2b4f56aa668f4327
BLAKE2b-256 da1599055dbb61dfc9398a6afe5ca7bae078e6c5830bbddb5394ad61405d6fec

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp310-cp310-win32.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 7f8d4d18d4326c1df0b6b6bdb1f949b1225330fc37bec35427e192dda25dcf93
MD5 e3b8f5ae2c17c8a7a343ddfbe3a61e8a
BLAKE2b-256 ac02bb9f357670d6175b457be9e1f1c5c1878a43afb3ffbbc7fdec0b6572332d

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c578659ae284fff758ea7e1d88b768b37f120f3253b6feb682ac4a69341b0f33
MD5 7d411b6f7a0bbe9b6a21022ac0271718
BLAKE2b-256 7f50ae63b9fee636e96364a3b7beafd586a4e37e705c7ca8378e304d96bfdb1e

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4f74b4c4cc8eb50425ff0761336220c549e5ee91b1fdd34024a3b6f86f258bb2
MD5 0d60a9b2f5d61d4f1039bce564972921
BLAKE2b-256 bc6fe78f6ca75067d7a57a74f7be1918f9d4badf2abbff63d6f5b81097fbc1da

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2bceba00ae5906061b6df4af6b510c85963ac0299afd4cc252931108f8ea51f
MD5 87575240d632a154aa98948d36e45971
BLAKE2b-256 a4b22bf88a7695150e58d2e8808985b792d2941660cb6499572f2b3582dfa56a

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 97e6d7e71a8bc51770868d4903737b91d277d30ab4c29b6b3e729b0e5e3dbaf0
MD5 d3e98638846bf8a23facefa8e3c8c069
BLAKE2b-256 80ac8ce1af391d45d0b898058e34aea280e9065a5d9b47a17c1717f723f3178d

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e487debe7ee2c567d027bd4da124076fa960f441f48a3c0b3edb5f764413148a
MD5 9bff4e959b913dfe01bd2af6c29d2624
BLAKE2b-256 3801f6a2a9d6020d20430148638fc658285eb193493a1a38c286e5cbe50bc92b

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9e7b26b655f0bfc3404dd370d6a842db6b4c7d1b0c3265125346d3707bb5c740
MD5 1bffb1826ea7e7a8dae34a46c6ed2cf1
BLAKE2b-256 5a31e21c6329f9923ff05e14c00bd4a0cc50ce96579b983591132cf730282de9

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 d641ad05c94389a4c39bf7aa0822acd4b0697f1ebdd1d6107369897051609a0a
MD5 57e4d34825f0741b35602c344554651a
BLAKE2b-256 4c31ca26f22fa769b7148205b5f2c74bfc2f43d93c1b748829e7a00b9ee60e99

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3ce676eda6d56ee6217284cea0a43648bbe3c8c68acd7b7870e1822df4ea2bc5
MD5 e1d9c5ed38a7ad97497182088b38bb5a
BLAKE2b-256 63c7bd301591600061c33f3ba41cd8aedf0748295d4eab3a26095aa753424fd0

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b9233fef3814786a6eb0e091b988b28a6bbaaedd9e1f38a4b5ff3edef20df3c9
MD5 b3255e4c541f9e316b8361a9a019c4dc
BLAKE2b-256 305b8da9f08a077977e37c699803084271b19407dbfaad4dfef43428a7746ddd

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99abc9ae9eb9422371c1856d743b5f4327eff79a043d4b5d4447dfb9462836e6
MD5 cff7f50773d7c55e1d726981a75d7436
BLAKE2b-256 afe8cb78abbffb06f9861c812209644d2748a70617a0ccc3bf6ad259659a3c69

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9f991e379ce8a8bf1d0471000b475a5c3b7a1de512aac698d269b9b3d2e62489
MD5 7d8f7d326b50a7817370b402b806f254
BLAKE2b-256 06dad7070ba00d64e2ffe548b000ac20c08c690c4a11043069ad0d46785d56d7

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b8fd303de019cd5d8a3cbc458e3b870ee2a2eea3349ae8bdc78691096fb6b291
MD5 93c68dbe3a4af4475ae82e1567298573
BLAKE2b-256 c46bd592085e634a9ebcd4c45c45b61217cd5696bc6d5dd136609ffd666703bc

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 889890fed74f3688ca8f12ce67236d64936c58ab88b2d0a09672d32614004869
MD5 957b7bf7ca0001b9ed08d9485e4dac96
BLAKE2b-256 d2319bc2e8a8f62c9d38c357562ee1d58a532ec936e56d0b2b16b79a52f1cb86

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp38-cp38-win32.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f835667845e895c2ae7ca76de752a7336992381b934b8a5012c5bda59f716b2d
MD5 b73d083a1de927f9d9ec87ea23707488
BLAKE2b-256 b46c4044fd8bad8b23d258a7e7a54780378a3116d40c23f3af4a963ba1c0980c

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 74ee406845df422b528e932487a11c5eea8745051850f925d4cae578248c1d10
MD5 69fd1ed266ef4f3c8515c72934dfaa84
BLAKE2b-256 ca1e2bae9c7fcaf8f454b365c4aebddaa6c27607a17a514005496258a929814a

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0e03201bc45ae1820403050e80620047856f051873d4b4afe5c735cb88487be7
MD5 a76a7278385fbec55fe405ef33460217
BLAKE2b-256 f1ad6f50e5a113f1b8a6068fe28c3ded273279a60b6f18e40a2d2b3ea350613e

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b56c01a704de560d579d6455a76b1dd063f6ef8cad639c95a6243207431fa941
MD5 0cf13681565495d8f7fe8d07aaa71103
BLAKE2b-256 43bd85bbbe41f1be5788f407220d3d7237a6f1d2f63078309116f6f0f9eeea9f

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b3e326c02479fd906514ce48cc9bdef9237fcbcd9fd8131c3100eec76d8e39bb
MD5 712b5853ab52e9c1cc7dc14bffe3c5e1
BLAKE2b-256 43e677ebcb2cdcc0abe23087e7a0938bea5c70faefe0b56980fd2e05e23fd3ed

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5e76c5f9e370d582d991e6e46953899d3255743f46c523f7be4bf20e2918f6cc
MD5 d1098209cdc65b131568626c7c47931a
BLAKE2b-256 f029495131c707b50d1a9713b318becbb0e7dbb9b7cb0460d0452908319ebdf6

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 43949a66f399333fa7d64f9826434fb0a8e237dd5ec3cf27866159d11c35cc3e
MD5 6e8cf7e03bf9c4b9a6836d374fb2394c
BLAKE2b-256 574ba145da34b0ba4122083b794abd536323b5b274184d64a40974e32933c179

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 58afc40017903b2599add079a2fade4ea0987e6c4526f2f83240be204960bd12
MD5 57e4bd20ad07452174f4e80bab15ea39
BLAKE2b-256 881219554b23470739dc672587ef6e7b5c898bd5c760eb72485ca9ede02543bd

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f5c9bb47a6171ba50b94a289864f5033161a07fa452329c55f86f5b0e37ac411
MD5 95df48eb6faefa92261fd9d22c67f427
BLAKE2b-256 578462f25bdf3954258908e641465620a5dc0f0422488d5439c68c1457e14c36

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0a0ccf528ee09869771c226e49efee38529f7823d851e2e8c103913451ae8cc8
MD5 82af320ce3c0bfbbca4e6f025d94d3d5
BLAKE2b-256 1671e576f64a4aa4fddc3e78a41ffd6cccc84eb01ea037c18cdf953d10577642

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f81262d866186753b8575424d67e3bf59e4ab3b9be3a584bf98ceba41102d87f
MD5 e9ff3812341b8cb1c12e8399f113c045
BLAKE2b-256 bbaed93325d3ffd1964ab88b7e36e0ea902b2f6edd7c66dc2369a842d01d9976

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 38c0a62d579e59a222b1c3e74d67627085b8c81775853dab88a1a9b166a96ed9
MD5 51bdec5ee72c98fcb31773b78898d23e
BLAKE2b-256 dbcd80be8e2369d5130a7a863612a5abf6cfff6ce6b1568fc4f5fbbe913e31a0

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9c5271475962f54e4bed744935323ee7d1e539d67aeff128ef8f819904a17b3b
MD5 ff11b1a2777747552d81fa14c4d8c823
BLAKE2b-256 3370dbb190ba33a8958d9fe3be0cdd0226c5540ff29a9316c0b1a6643e67e793

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: imops-0.8.7-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 7f48a79381962edfd96e5825b9a5a43e0820ab27dab1ad6df0008b0958ade652
MD5 0975b882c5654c07be3ba1126e0db87e
BLAKE2b-256 87339d7c93c5944aa440d63bc91395fdf8339a5cde9498238401d720d1a050d2

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-win32.whl.

File metadata

  • Download URL: imops-0.8.7-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.7-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 d6fd3f00c33a1495541f10aa38727b6ca949cbc9909618fee33fab6517cf93f0
MD5 1ed308a871ca9aa5a92102fd5efe4ace
BLAKE2b-256 2766fb65fdac9dd8287c99687957fc2452ad6c8d18f7736ad410bdad019b1d36

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3019670528b9c27bdc59e58f858fc6e4844e65e470845cf71a05566bbc848d8e
MD5 31ea35137147d2da051fcb0d1aabb472
BLAKE2b-256 2b5a81f6d4d9f22eca0d6817baeffddcf22eb6f7ba76742f8e6692d30d7152de

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ab73b188f3b4fa349a807d25711067b0ced454a1b7cbcf63780be002813f8cbd
MD5 cfda1e6d1eccb8e4758393f1c76c05ba
BLAKE2b-256 6135551b9c4356fd8efea33dc56175ec709ca306e57c271cb86563ef34216dc0

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d572cd47634d00aeae6371304e3c50450d738f2f4428239a0a5e9d6c91f0f6b
MD5 86f6da34f2f0fd34698aea456ed72762
BLAKE2b-256 74f2048e4a1f90012d1150f98f620e047c4e46397834234f8873995f9e7e6631

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9450de2a1e0bb6529a5a54d254310c455837fa82b8e370767e19e6ebd17765f9
MD5 7dd610b1dad44ea60d443a734b9433b7
BLAKE2b-256 2dd8bb6c3128d70f6a0445c72c4174fb75ad1c687f1aeda3675497aabc2e4b1f

See more details on using hashes here.

File details

Details for the file imops-0.8.7-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imops-0.8.7-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d26c0b6734c2414428e9a5c25619ea63f27b83785e83857495b37dc6388db1e2
MD5 13fe733d5f7bb0c9ec746a2f74992308
BLAKE2b-256 95786dfd76e4f913878d9e892c7b4f0d85bac7ad00f7f91ad52fcf4a13a33231

See more details on using hashes here.

Supported by

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