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 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.5.tar.gz (58.0 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

imops-0.8.5-cp311-cp311-musllinux_1_1_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

imops-0.8.5-cp311-cp311-musllinux_1_1_i686.whl (11.7 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

imops-0.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

imops-0.8.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (11.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

imops-0.8.5-cp311-cp311-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

imops-0.8.5-cp310-cp310-musllinux_1_1_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

imops-0.8.5-cp310-cp310-musllinux_1_1_i686.whl (11.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

imops-0.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

imops-0.8.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (10.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

imops-0.8.5-cp310-cp310-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

imops-0.8.5-cp39-cp39-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

imops-0.8.5-cp39-cp39-win32.whl (2.9 MB view details)

Uploaded CPython 3.9 Windows x86

imops-0.8.5-cp39-cp39-musllinux_1_1_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

imops-0.8.5-cp39-cp39-musllinux_1_1_i686.whl (11.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

imops-0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

imops-0.8.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (10.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

imops-0.8.5-cp39-cp39-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

imops-0.8.5-cp38-cp38-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

imops-0.8.5-cp38-cp38-win32.whl (2.9 MB view details)

Uploaded CPython 3.8 Windows x86

imops-0.8.5-cp38-cp38-musllinux_1_1_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

imops-0.8.5-cp38-cp38-musllinux_1_1_i686.whl (11.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

imops-0.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

imops-0.8.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (11.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

imops-0.8.5-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.5-cp37-cp37m-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

imops-0.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl (11.4 MB view details)

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

imops-0.8.5-cp37-cp37m-musllinux_1_1_i686.whl (10.9 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

imops-0.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view details)

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

imops-0.8.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (10.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

imops-0.8.5-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.5-cp36-cp36m-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.6m Windows x86-64

imops-0.8.5-cp36-cp36m-win32.whl (1.1 MB view details)

Uploaded CPython 3.6m Windows x86

imops-0.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl (9.5 MB view details)

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

imops-0.8.5-cp36-cp36m-musllinux_1_1_i686.whl (9.1 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

imops-0.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.8 MB view details)

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

imops-0.8.5-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (8.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

imops-0.8.5-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.5.tar.gz.

File metadata

  • Download URL: imops-0.8.5.tar.gz
  • Upload date:
  • Size: 58.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5.tar.gz
Algorithm Hash digest
SHA256 953ca6fff66087752adf055d12f4f58d5d44bd182013cecb032d501520274245
MD5 4925f1bad9235f8fb4b41df08571002b
BLAKE2b-256 d770969dcb9136be84abe7ed307ba84cbb04fabc046415621fb97f824002c3b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-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/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 11ea61cbb308c1658d4faaf6216c82b4b74b22504d20fd102ac3c4c225ed0e33
MD5 785ab8f2205c1cbc885efe1551682a44
BLAKE2b-256 9c60e0b2204d286cd693767a894ddb108c78c80ecb52f75a4a59476bf4775292

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imops-0.8.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ff717cafa01ad19fcf30827b4b8fcce78a9cca7898ba509709e401a5cabb79a2
MD5 3b4e96fdede1265231762a3b5ddcfbc1
BLAKE2b-256 26747d98a2b05355c310ad1199da61aa5bc630232ac7e49cfe8be82d2acfd49c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ab459dd57880959e428b6009f4800588dae6cc3a61098dc47100304bff02d7b7
MD5 10a353eeda8241affd7177be75135b43
BLAKE2b-256 5f96505689560d0fcfa663b1510d0944bbc04ba70d5be5cd167312a812400268

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 021365aef7ed97ba012cb9c142e48907ca7a044e606315b94412a893fbebd256
MD5 de74cce3e094b54b223ae293060f3205
BLAKE2b-256 c1551b0783fa7f3cd2841f3fc6108a51bcb4cd9c5e7a61741e121c831c246ea6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 799708d2b08c0374749895aeb9b6df835756402082c004683206e921801b79f2
MD5 31e5f0a14759f45da58872628ff744a6
BLAKE2b-256 478a60a8ce685c6a73ca6058da4527bb4c2cc1d0128a0087a2b153f00dd87af6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0ddcaff2102993d234a8b89935f47695928ed3a0e08a908356919c2497169f6f
MD5 85b51f9c193ef3d657e6f98c788c7326
BLAKE2b-256 ac97667df9f98043c5dac0518260d0b91a5c2cf67d7e4fcd7b03ef0e97966fc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 41573cf048c3aa3f21081af485297fd8f2412c57e41feaa0038d59ec769ce82a
MD5 7ee8616323ecd1f2cea827cc008114cb
BLAKE2b-256 4f8cbe44c9d672bc57726f4ca99656d75bb3e19b0d50138f1c92e157bf887622

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-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/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e06f2f79d0d34f48f851272237c62628ce8f46d4ab8a51deb6b7606a571560eb
MD5 5c7bc02b6d7d09e6ad6c902e3dc07bc6
BLAKE2b-256 002b7de70f7b98930721aabc1293a9dec346605051d658cbac0aa1869c2bf8ef

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imops-0.8.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 60681db46fe34d3b6327433be64eae7e8882dc053a3812711ddad9e75cab2704
MD5 1d6e9671f75dac3bfa50d5e8b21eb402
BLAKE2b-256 c50f41f420ff1e8346276dc8fdefce5c21c015c935fc392c801988936a797d44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 054b8acfd32760b80abd3d8b418ec0910391ba45bfef61784950b20be1beae54
MD5 bedec89697f174aad340a36b7342f354
BLAKE2b-256 722f628b12bb4886ce88fb43b5be77403ebb633d99eeb567de2c366b6fb4328e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 94db641d846b9a70dce4331b3c90e4d809df1c2766956a75c3fdc3e977aa1229
MD5 659a21e281ea75b9c40406addb86a83b
BLAKE2b-256 138bed2d4c133ffa835fb46546e8b4cca6965ada6bdc77319337a46719da3c28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 228f7d96b956dc7a4b6436e0abfe29087d065e54f1ef7578a91fe862f2e70b54
MD5 443f34a74f846621d5a23b79af6f333c
BLAKE2b-256 f9a6ade999a3d63441c58223f91c20ec16b3d0b4fadf93830a2842f8e456231d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e00027417115ef2afdda20d037f7b4b0fcfeb99462c90aa51434c4865526e271
MD5 0ed00c4be835fed30d140db7aad451d7
BLAKE2b-256 b37a8598d7870fe24a196f2fac25a1b2fbc79f121bf21645f96816b3c24b2d7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 855641beb438986553ba4596c486b76f39a2a4122f8e5b14e4db5a7aa647ea55
MD5 4176b782e3142670bf323fb07651a8a9
BLAKE2b-256 4e438b94c6ee0b5673db0029b2dc15229bb635fcf698d5a8f413c33707fb058e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 465679d23e4483291bd92db18227b75631e511bc8c860ebe18ed5f989dbd2206
MD5 e5a30561e0cddd4e2f031198208f0543
BLAKE2b-256 61897270d8db9e9e4e626d5df2b959a4b304cb9db7d76630588fbd15ddcfd384

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 e4a85d757d59a9ab34c1091778cae893f94ce4cac26d2489e7d1896bf60cf2a4
MD5 1e60943da5948ee3109693cf3a702898
BLAKE2b-256 b06a38bb697e28719d95da9f3663abc2c6f2af3c09532f5ef5a69d5ce12e94ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 60450c657881a56f7dceddf396efb009d21aeb48aa6e6cab88598b0ffd2af4e5
MD5 12d94bbae9163ca86f275b6132a03f6b
BLAKE2b-256 5a10326756c1d251c6d399ab1d22a7e528ef218b8e9ef1885d825811cc592ae0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 97adb172a3436937fe3eb76636ab13e600cab668cbf9df0de10d12006a2bef0a
MD5 dae3645f64506f61532dfa6a2f6206c1
BLAKE2b-256 dc3719ddce5fa0c11faf28ccc0be52e99611d95642bec111283e1b293de47868

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0633a669bd2e943f6bc6253764bff87b78be75df456fcdd23ed74ecbc2904f5e
MD5 2e36d4cc120c8d1266721679dead1188
BLAKE2b-256 26ed9600d8cdd3e92379ac4e2eb2dc5c581ae3c77feb4788e3aef7cbde8fe13e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 14ddda31daf77fc0820be225473428f5fbbdf73ce79fc49c36770f1ec324c6ab
MD5 ef7c99a7d01ad416df1c8e611600e23c
BLAKE2b-256 9a991f6749ee8de1d25823aa12d067dddb158b281844b125500ada628a8e3300

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5a62d6ec147f63c90cb8a3d18141c82ef50578103be5a894da500211ceefbe3e
MD5 36ab8d0b87acd2c3d5a7bfc9920f48d2
BLAKE2b-256 412f99af98e0b2e273d1f767fa6c3ed055986072b04cde3f55001053d1aa0019

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fd66ed4f2cdc8b765c58a09110a4b42f31cfcdb46cb6d9af9232ce663dcc9d35
MD5 ebf34303420783d46564751813844d47
BLAKE2b-256 cc86621afa7adec7e99311226417532ceed3de2f3bcb5413c4f9d81c5d39ec9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 216ff039965462f0676775eee519c2f8b4baa73fa288eb6ad146901670f69bde
MD5 3ec0ca7c55c79123fd24bdad90014041
BLAKE2b-256 4f669271313d2db352fb6101d9f8c346203c5fe012a7c5636bf20755de19772a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b5eb0feaeae26207e07fcb72d3d6d60fc1906f6d3279a2d0d28ccf2101c0348f
MD5 ded93d039e8d9db2c47c9ae3dd3d0de5
BLAKE2b-256 8e58997f405983711dc5244c4a7958d1f6674fad19a4c9a6f98e1c4896bf36f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 03d2f6820c9915aa47a443223d3f4fbf04cbfa4e08de7b371996a407753399d4
MD5 cc8f7d050d472c8107c5d3dce56fd391
BLAKE2b-256 13ae44cc68a7c9bd51ab3f16befd9c2e5732b229fb4ccd46df2eba7005beabe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fff8b453c56332a084a6a30c3c33dc0136eb98993739d39c528dfc61b6286d1
MD5 27297fbfa9349d95f793f8e90b2ed8ba
BLAKE2b-256 a976403e39a083fcc1214fc0a829bceb3a87e17bd6232a4487e595d027a43039

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c407e968abbbd2957bce13d1439f5a5c29dfa5b80999fd135b61e50d65861bc0
MD5 aa65839b255f404e6b7cab9c506f7731
BLAKE2b-256 ee6a5ba32a543413fe683c7ed4fa7539c1fa72b270b7ffa783045a4c949401c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cc8ab44cfbd96e8c5c2c2461a2189055b246d2db436a5fbba95a0dc817cead92
MD5 3d50b2fbeab2b94fe656773e4c4077e5
BLAKE2b-256 abe782bda3fd19b3cef574f934d709d2eff4908dd833c416aebfd1e17136525c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-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/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 67741e149ae76da4198fcd3b01417afe74172885695c88a3a4b4c2b94fd1abe2
MD5 6528709984fc48fcc6f28c20d2610e85
BLAKE2b-256 f26c89eb3bdbd0ac9d700ca3340b6edf1cc7c5463fb243c0b14beb84ab693523

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imops-0.8.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 6c9ebf67bacf038757485853671dd7d0827025eaecd50f73fc95aa6eb6f10ffd
MD5 fa9fddddb238b2bd45aac33ec46c2a4f
BLAKE2b-256 51a244357afe00a9cd5eb707b68cfb7ddafe5ae55b69cea5117aa899962a0baa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2b1824c005d11f95e246e366c11f656c9771c6fc252f0bba93f7babad8265886
MD5 fc5619232eaf012ed1411f9852833f5b
BLAKE2b-256 6e1af980e22d7f84567c0bd6c6a840f101199ba65819a9f08e7cfddda09680e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 38e5c0344db694f3ec43d10251ca16bad228f361623b2f17c01bc906515ea0c8
MD5 9527e37561a32eb24582718130f3138a
BLAKE2b-256 8b2264a29bd226fa314142f7d2583525a1014fc24d58e1cea88207053c2f0c50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62caaa717da23d5e63c30e71ff481e3d0d8e6e0ab38b0701a855406f96546be0
MD5 b8de20234176bc24d516c4268ebbb411
BLAKE2b-256 24cd7fc18e79cf2d144c9f85e58e9ea6b3592f39eac55458cb303ce38d96b190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1a29f3a9b32db74ca001875d6eb9c6cb496d0375d2c7fb0a1181f13962820c3e
MD5 bd4cb2e490db964cfefa326c7f0c5ac5
BLAKE2b-256 a4bf97e1ccf271e83b0c2751c4fffbc93b41b0472b68474860985589292a5ca5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fb17e7cc71c24462e9a184826e638bdd9a01d729d539d425d9dfcd2d5d3fc95a
MD5 602f47ae1293bde6c03eef889624e8b9
BLAKE2b-256 a840eff309a77d692d3cf8538fbc474e2c38ddbc135de12b81beeda0215ebcf1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-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/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 85947fb407073c27506edb2cb384de411cfda8b8505c5f52c21229a858d653d4
MD5 b6c8eecfed7b5cee6ca13a8eec66977f
BLAKE2b-256 0effec387825a5af4b7cd74d7e652da2973ab3ee38d523e82449e53fcff4051a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for imops-0.8.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 9e482ea4ee35ce52ac505fc22b45482466a3e26bf01a6b5f30b6e6d322e794e8
MD5 dbc66221b07dd9e18d86ed867c296f10
BLAKE2b-256 0d7117150cdccfd5ed4b4c8e334eb69fdba486dcc4125e2cbaa5327acb19b8a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5da9a7eefcde8a3c3dcd7b270386757abca85c24ca86e6f48713df16cd65453a
MD5 1083015e6c4adc1e68428d5b68b832e4
BLAKE2b-256 dfe2723225745fbc172dd9bfbee1be8eecabc2a0bdf73ac0573a926996351372

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 01e532cfd1fbb3e9edc6bafa37498eca9c82722c0489768c4b170d1ac4e57627
MD5 f8d88bdaa66b3b30b8e1e2a2a0fe2c23
BLAKE2b-256 d1a9083ce4d5d933c4a9687cbd1a5ce9d1fa998ec897fe3b4b00b9353af0741f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b89538ec60c8f100a2bba63b0d5d6e70c31f1a482c9802525afe83b8e4bbc4e
MD5 6188f659725ef56d2ff0277b8587421d
BLAKE2b-256 4b36d511bb9ddaca7e99ea83a9c72f6f064609d4c1b47f287f851bd29d4d1ca2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5935aeb7bd4b2432fccf8578d3e35b1f1f5bc47f4394387f84b687f9f5b381fe
MD5 3da4486cfcb36e6623b27e86c6eb6a53
BLAKE2b-256 d28b7c7d2985be28e1ae656d3330b3e715e9465abfbc05e32cbdf298226c994e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 26cefcbe6f3e06f760665997152399ab9b7ba3510a457f4c7314bcc2f762e0ab
MD5 b262e68ac754da8a8194a995724b8205
BLAKE2b-256 1b96d28cd1cc7c82540675d6387a4b3e8b0561786574ac84b9a399a08245cba3

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