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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

imops-0.8.6-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.6-cp311-cp311-musllinux_1_1_i686.whl (11.7 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

imops-0.8.6-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.6-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.6-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.6-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

imops-0.8.6-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.6-cp310-cp310-musllinux_1_1_i686.whl (11.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

imops-0.8.6-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.6-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.6-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.6-cp39-cp39-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

imops-0.8.6-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.6-cp39-cp39-musllinux_1_1_i686.whl (11.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

imops-0.8.6-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.6-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.6-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.6-cp38-cp38-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

imops-0.8.6-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.6-cp38-cp38-musllinux_1_1_i686.whl (11.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

imops-0.8.6-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.6-cp37-cp37m-musllinux_1_1_i686.whl (10.9 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

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

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m Windows x86

imops-0.8.6-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.6-cp36-cp36m-musllinux_1_1_i686.whl (9.1 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

imops-0.8.6-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.6-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.6-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.6.tar.gz.

File metadata

  • Download URL: imops-0.8.6.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.6.tar.gz
Algorithm Hash digest
SHA256 c0a147f80d827be643d44c135efcdf56bfb77e8bebdff0ec24f983e93370c1ef
MD5 27f26af65b953cf8f008e9481d583fed
BLAKE2b-256 e631679afc071b043538ddb8390fd095d9f795cde2177a4761ffd57eb35bb562

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cc500bbbe062f4f3c89213abadb8e75ddec845490b06ac9632b9c8b9ddc3371d
MD5 969edc896aea69c71ee3691956be2ce9
BLAKE2b-256 bf61573e8e1274556a819ed44d0cbf1c8e82b5a5ae8a66da417754cb4e05f0e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 1aea2b482eab401a3b010d2e3bee35e9eb72f76dd93e89498888ec923a53ede5
MD5 fca40e4d43ec802f398a224c4ad36405
BLAKE2b-256 b877542f1511560e1e83289cb8b5d2fb95531203c9011ab2603a0b5dd05cdb6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 76a74dc98e20eec7c32363883a482c3464af5d5b3cd44eb7e1d2bdd4e257f0eb
MD5 7439b0090b823705355cf7939768d582
BLAKE2b-256 4f6f3a9ff592b2508c291e5c08ec06a76a528f632e5e2c3028768407169a5146

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 610fad352bf5575daeac6b2d2cb6e73e98f2696afbdaf15790ff210ba843c27b
MD5 81ddb5b09188de163d0253d79cbb5e93
BLAKE2b-256 615c26688f143894cd20bb71456f786536270a792c37324cdc8cd22b3db75942

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09b4fa5471e906936a5398d7445025e31afef968835a1d0f6c44c046421de269
MD5 3a5bca62fa4bf40cfac843dcf894c36e
BLAKE2b-256 f97239c5509a4fec1c3a80db1e528c3b9c3008789cace312c1297d590e7ecc2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 454e0306e732fdbb9663bc81c074788aa55d11e83eea45300f22db0e122ccb13
MD5 596272a951795e439fee1aa31ed20e6c
BLAKE2b-256 2de1aff5d74ad2ef38c493ebe2dad71b2e5601a13358646d4cd6c431c0ba785c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4ddcf13fa8be7f15b5d1f5cf88056346907c00205213fc6755372a294bf12df1
MD5 9d14f0608b991d7ea33b064f80584322
BLAKE2b-256 5b7bd7dcbad0887fcd377c91c94dfd5fbac607243289fa7cf5f4bad50ffd6d30

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b17ca17671578a151ed9d663a1fee2a32d23ae1c5321fdbd5469e04aa9fbae62
MD5 9e50bb85355420f1daabea0aa3f0b484
BLAKE2b-256 88bfb59e35cc8ee9351d367913aa8913f5741f5aac16eb0ca163614a4b77be88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 37ea28e7d5ae7fcd2164f48b83e1f7635ddd76ae7389a94cfd6997045dda5488
MD5 f9a2442290fc18d2badedab3628da78f
BLAKE2b-256 9e238924dfc4ce1ed6a927b5d2eedc931bdeb32683af2c41564fc6ff049f66c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3b6aade38d203d71beca87fe256797207d6485dfeca578c04237791d226430e5
MD5 a06c99b929aa58f89e9defc30652ce1b
BLAKE2b-256 e916ef37425f69052de74c105cb2159eb4926542654d05d487298e9f2ce0e8f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8c417ca270ee66de0ded163a86df94aaba941f8f5676717d8320caf1275901f7
MD5 e3526415bd375c2a93b3cfae96c4f4eb
BLAKE2b-256 68ad4fed7c810ea51b7dceafee214b67b481a22cfebed6138459168467b86121

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1042091d3925de43d0e6e868692f4da05e3fabae300c6f2888b8da03458d7069
MD5 b29c8e359978f9ead0db92eac15eab07
BLAKE2b-256 f10eb5e2cf4adab3de379d08c3d44fd0dbf718d1b12ceffc4dfd1caabb5ce910

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 186aae3fca673c7d8b6ad845bf879c6716941982aec96f29960d5db142c051b7
MD5 b2203ca1dab443cedbfbe72be2634ef0
BLAKE2b-256 1809d56b65efcfbcfe68d5e121d79ccb4704ebb45d85cc0edc64b32bbd8b3838

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e1abc5392b7f240ab1d56ea833ccdba78fba7045c8f0d791c4dbab84293f9113
MD5 cb5368498238112b586faa639a8fe2a4
BLAKE2b-256 d2355a4a40fa5107473804a2f2586e2bede3e29d7630e8c2d0f9782061ee631e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 065f3b08209abbe82dd5caa12334f98fc14e9174773d9171cfac0c4fee88421e
MD5 48e3609e5b8a39ee1553b8b17d38d61a
BLAKE2b-256 52de08fd29b68917318f344e602a9a858ecd69c8a12edefcf8844919320b7c9b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 4c4db6cba61b25c79f13954ccd06112a08f6e692df91eab55d6c5184859babee
MD5 1e7c7658286f323acb673d37db6cf866
BLAKE2b-256 763290b256850127f02bc4e2992b9a01fcfb2d289e7218002b92bcaf812e9b87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0c931e73ea309a88e3b54784ef24ea64aa654b723356e1154e085e0167394c60
MD5 3db3036dfeb394b5866f5daf069eeec5
BLAKE2b-256 3314b38489fba2e9920c8f7a8498298f5062407c7157d6561b37159444621c78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7bfa28d5d82d5b2fca6e74baeb93765c837e19149539ee96a5bfece4a5de045d
MD5 2ffc8292c4c72afcbe095670502399fb
BLAKE2b-256 136e85c70548642c365e968b700c52b158c9de546a884fef17499389fb11f91e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2402f4d77df42e26c919d32d01c49c23a27cf7962da363aed3b0b3a5ceaeb6d2
MD5 eb3b1ce7faeec054264e3a83cc383ebf
BLAKE2b-256 e802f7f48d6a6cf861eaa903b8e4255db3f6f02db5d1fe7f7bc7055266d24301

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f9d2d3fea6acbf38d67c725a640b807260ae3c9e2a9e82c43a28c98b2f11d8de
MD5 103e8c3f148b085df6fd6b6eadcca51d
BLAKE2b-256 ef1a026435c6fe85608163e686951f5953568a4c709b545a3d5dfa28b7367580

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7dbf464aec4a16fdec17461d9e3d0c9991e4ca203f373733d584427fb3351755
MD5 fe7c51d4ab05710f4bcb33a11c21413b
BLAKE2b-256 17f1e5d99789e4323ad1ff4725e8f08abefa923133874dbd73db83286f321d3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 524d38fa60c70e1f3503b64cca1eeb5213454a24cde7e1cba6b1d89eded0f89e
MD5 a2b16f458862e60bc0c1137d92b347b3
BLAKE2b-256 be5872d8e443df5ca55a57fbf2985be8f99d73bf842b5cd25606bd98dc15f556

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 8e6ab95d9883bddc1c83e17ce4457d4cd724a20bbf70819b61d611d04b4f57a1
MD5 7f9cd7579a09d66c07100aada2cb24d3
BLAKE2b-256 1bf829e4653cc2ddfc72cf2a6e677d89cca40f4450ea69bc4dd8777bcc430f1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7c7f2a6c3f556e6dc6c1f2f085e544999ae229e3b4966090951f6ff28bf195ff
MD5 df93153d816c90c814f6d2c307cd65d2
BLAKE2b-256 7e4a67fb69efeee84cda82e265f783c723e714d3d3704220df02bce83f23d7c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7b0018f5988a304ce68edd00e2388536e0ec49545af47e54531d042d59cea66b
MD5 416968766b650210f64e43da8a7558a4
BLAKE2b-256 c056d678e600237694e64a7946a38497944ff82580dde11026292b719f430c71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e466edc81ddae079fab98de3a2a5dde60ea5f7236a3e3098077627d6a37dfdf
MD5 01c761e32330a467f3651e11a90d202a
BLAKE2b-256 8d5663adffb63a16469e68f7039cde1d8ae5df84ff6ceb111387926f155eb3dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6415c0f40f7281fc3ccd1fba3f57692fba59908f494510f1080699bf7c574dd4
MD5 7efe69b743bec656cf4aada5e763543c
BLAKE2b-256 7e6b27eb2dc89c007fa724fcacb342252e6ca545251ec52e841e31575db8332b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e0b0fe1a726ab2d8c79e448f821241f74c20e23bc4fa63dacabe5fbab2757638
MD5 c582ba4c829affaa9b960936601c24d5
BLAKE2b-256 376440c98b62da8492ff84489d61b95c0e45f6889ee17c13376561851dab5e18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 55f204476dcc5ddfb345ba6d9b9afc9f28eb4530d54e35b9b8f71cb1ca748995
MD5 38531c1bf68ba11ce277bdf0efc7a837
BLAKE2b-256 7fdb06d48f45e23a73de49d1214c199b59096661f101860d25af24ae0cad6a46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 cd7bd6175f490787d130dea6c06ab18f10ae91326f03f8d7890c13d4e2c23d15
MD5 2476b95169736e3109f0b0314eac7bbe
BLAKE2b-256 92a34c3d2d4e17b5bf86c69e7a0823dd92596f408cd28cc0cc7acfa722f7024c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 643365a84d7f165cdc2b4da0a79fde1c7aef1280a4e70434a8f969ec8e939fbd
MD5 8772ef9e2f6d4d2eb703fe0f4c121a88
BLAKE2b-256 f945bc09586b1c794d90b9d704f5890feeba712b94f8b67f47f0f72e9111e9d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f14e704ab4fc8078a5244265f0ca9abea994a36c10b682e807c926db224b2e69
MD5 d24ff8484da51d095048ed12e64ff8f7
BLAKE2b-256 e04c3f633681644b1e3cb110e854d6f2960056e6807b47634729e8cd48364085

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f08ddb28359d20a2dc6cf81f5abba718bd259b70f7d4ae0a7d687cfb06a45b7
MD5 f205374b49edc0aca07ecfbd41139868
BLAKE2b-256 761e1b2700cb4767b091da4624979f11d3dccc54b12f8ee8cbb0e192671e8218

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f5e6cc68dacface53380fc426313e357a422d1620e221627aaa03c1f823c2c32
MD5 b0ea88e5517d813eddede22f1926320c
BLAKE2b-256 2b7502399739d86921e2f411e437adc56327d4d697f6c69300da2aeb84b2d7e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6f6773a7dd364fd5f50778a573f14107bcf243286cb6aaa5e8bb5aeb4b9cfacf
MD5 10ca14177339adc97dfd97bbd564c1fc
BLAKE2b-256 cf0fc15a66d7f9c610efdf043196cb80a5813dc48357d23f44f34beb688bdebd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 eda6334e3defc888041e80fc14e8506a6e5cd1a491e77f91b35bf55aa11ae2a5
MD5 ba12c2305367e87d35151e48f9e0a46e
BLAKE2b-256 09bd00550ba873f7415a83c71eac548e53a71b2caccf1c69275f564e49906b56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.6-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.6-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 6af53eafda78288377e9903619f0551db4b6e8154f87d6a37995882b1c84ba1b
MD5 d4d54d27a74030a4db0d39a338a09980
BLAKE2b-256 ee898040c75a61480c8bf3b390abadbfd29b63b415c86cf42914335fd6e3a1df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 317ad4829a868406368f4a7a276b6ba0f38aeaffe61dc4fe08ba53470a207e58
MD5 2c2aa70f2118e401dedb2dfd723105a7
BLAKE2b-256 98f4c3db3c541a0db6178bf9a7932eea1d8e02d61806b6c85d8e50625037ce42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 96f5211e930deff4a93dfc366305df52c9e8337f5f92317271c2c8b13c9c4e5d
MD5 aad9e7cc96e744d6161ea35e44bc688f
BLAKE2b-256 7f08ef2aa3f976389cffcae65623a7e33efc025c116bef452dbd2eee5fddd4e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de957ad6e9844ae73dfed890010e25285986b817ffb398cd5c56819ee5e5ca1b
MD5 c126473b32a6f6f338df83d631c78f68
BLAKE2b-256 010939388535eee57cafb8c37900f66010a01cc862fa28cc09a99000c9de28e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 804e2b66ad95f2ff18caa4190a2511d8f077682b6359bebab20869230c36ca92
MD5 4380f84bd5bf22aa3bdb030784add3e2
BLAKE2b-256 1c8f0f58e7a3df1b881b9c66307970383f58a3200d7523c6b6776800560c0358

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.6-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04c7ef2acbdc12ee2dc0d877f9a42bc3712668031e7c5cb064af34b744e07c7d
MD5 122acb4a9f26dc80a04375b6787dd835
BLAKE2b-256 f0bf7d263f921f76e3a539ea39de322480c41e73533f7133211ac9ef27351898

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