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, edt 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.8.tar.gz (71.1 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 Windows x86

imops-0.8.8-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.8-cp312-cp312-musllinux_1_1_i686.whl (11.6 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

imops-0.8.8-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.8-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.8-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.8-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

imops-0.8.8-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.8-cp311-cp311-musllinux_1_1_i686.whl (12.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

imops-0.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

imops-0.8.8-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.8-cp310-cp310-musllinux_1_1_i686.whl (11.6 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

imops-0.8.8-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.8-cp39-cp39-musllinux_1_1_i686.whl (11.6 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

imops-0.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

imops-0.8.8-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.8-cp38-cp38-musllinux_1_1_i686.whl (12.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

imops-0.8.8-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.8-cp37-cp37m-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

imops-0.8.8-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.8-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.8-cp37-cp37m-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for imops-0.8.8.tar.gz
Algorithm Hash digest
SHA256 0995b3d136996baae550471f2e26d5d00c24d18add18ae12318d263452b8b285
MD5 934d5a09ac0c01efee760f5c87db0045
BLAKE2b-256 5f8d13482d9a468d4d82520f7e716cacb8a27ed935035ad7c130959bda1c2f18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dfd560fc3411e40f016da89fbcad71abe79f7b7b1e4e14e1ab628fb9076310cb
MD5 c511cb20ea76e19fcad29b58b583d81f
BLAKE2b-256 bb182fed1ec81736df58dcfec857ddfb3640009acc0a7f955f2af0150675bcbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d3480f8333e5035cc92589bece40396c14c543c247d25e5bc130aabd9fd318bd
MD5 adf733c2d23df9eeccd5421c17bb3a00
BLAKE2b-256 c57c8629676c32036dbc9f96a69237df104bb38fed3356275431ed555db01e6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 897f84fc182ef85bf0b3f11c8993eeecc119a0d24c93007c75c93f3c4dca5d82
MD5 c2d9e69c3d775db9d2a2f0811ecac769
BLAKE2b-256 35526297e3d9bee4fb993d73e0fc86edccd3955c4288e1e5a936a5b224512e5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3718c9f4dddfdfa7310e246bc6daae1889578fca4de669f5a06d8423d70ac6d1
MD5 3a6004505d4932af33f46758b7ecd008
BLAKE2b-256 11cc31fc9e9e287aab4b3a3b7a9e150c97d4343db39c271630389bd56fffc768

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c6dc3ce7a3eb41e2c8d4267572371ff928d8f7116b3d6860e56ec96378dae42
MD5 09fc8548701e9b5dca29017b43d4c184
BLAKE2b-256 6518ef6850b4fd44a9db69ab10a4bd976b491c749978a36e8fb2b2ae9cd22623

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ba0ada28198bd598b1602967159f7b84513c05f26d65741a5eb7b8b7adff8bd6
MD5 1e019087fbcf0b3aea093ed7ea473c40
BLAKE2b-256 155c3526bf196cc6c01f4744bd26d7c7e8462b444960efe751d345631a4a4b96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 21960355e0ff2a37e291e48d785499a183d42945fe925633f4c32a04ef800413
MD5 5be0b808b4cd842370c349b780b9ad27
BLAKE2b-256 9ad94c34b40b3222d9ee8d140152896e8da0ae2187a1f4d69e30d088bc30f3e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fd830abace4803153eb0f1533104693cda08f4cd5569fa5cca0397bb7009db8c
MD5 f54d29d0ac14639866f965ed1fcd10eb
BLAKE2b-256 4e325447257f5411d0ced50f16400ac38e0585b9a68acd57386dfa12f6a5bf31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 145cab96402f60650ed17df1a0a3a4d558d82f114580e40d1a7b8dc265f9b0a2
MD5 07f6bfd706f479a73ff91ead1d4ba0bf
BLAKE2b-256 7e2a72e580f6f76ba94999a45685ad505aba97fd618d9b9faf8a2bfea90c2a56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7f4685c1305dfaaf8fa76915fb911363baf8bc7716a863eb94ea320e337b1094
MD5 6951521deb7562eb1babe08161a224f0
BLAKE2b-256 fa5e6aad25c848e0d0deb58460d6f7f24337a3bf7fad7f43a60ce7c9ebe7751c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 97e284027d5d8a84b19288668828fce9182e425edc85842a347112b407b4ed87
MD5 10eefa63a41b54278388952c03a0d83b
BLAKE2b-256 249c29a1a63fc503c7b0bc376bc2c3ece041ccbf8dea6892a53a6dd19837d5e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 784ab4ca5c6e9a4b691dbe92c71219e8285dcecdb38e0adc59e99f8db62fd9bb
MD5 1e8e89bc5f12fc8891823c2624c5b411
BLAKE2b-256 8132ef28ea70f06d20d0e83c698be53a598df885afc047a901be7ea98bc25052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2fc57d211f031339a8f5ed40f0d50d4a14ffc3f953fdd04023b98d32895c5871
MD5 388d364cf6122316c18b9a5afbd00477
BLAKE2b-256 f8c4ad2287cafe129459628d4b003630ee89d7816f55ed4867be6cf7b9d90cd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1a5102f5ed9e17ed2496735c2561765957efa739e8615ce4bb55aabc5721263f
MD5 68ba39b78291fc8ab46ed9a0ec082a90
BLAKE2b-256 cf1fc1c87d8cd3d90bd55159369ab39381a9689edb7d229dbae29b1c05d55eb7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9b620ef7b008102e16d5eaea22dc728f1dcb3214fa4aab614578616dd93428b8
MD5 49906ca4faf1827006cf1c3a03304937
BLAKE2b-256 8b82f65acb8cc308f3d740bead5fe058a39d779744037df42dd37fcf3a8da2a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 6fb0356180b7d9c05d75f7603287f13c9c4a91ff802523c5955bf0378ce7c4eb
MD5 b10ce5c17487f6a3296e56d7580ae0d9
BLAKE2b-256 0f3c9846b8389f738a54e6c45bcb30ac9081e8ea7cc1496dc460445b61531d12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4e471fcaba2f630f8635a28c19aeab9c66e414294f6fcf9e9168bb2968f55954
MD5 261f46e912421c05a970557afb3133e1
BLAKE2b-256 19d8e7d41c550f08cf91599d748d9d244d50539f96477f499d3b1c4165ef7dfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 010c8a4fe97487bc220b28e41f954aefa1f51bc01831c5c86f6ca1614bf77c8b
MD5 f503beb9a85836fd1e95973598a7213d
BLAKE2b-256 a0986239d659ff9ba79943d402620c94cd4ab4ba6287bfdf90dbc0ce02a8440f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 548883b8e0ea38ec9858f1e4f6467605429eabff0a1a246113e9da9fab14007f
MD5 a5f8e213050951a67ac854f9e487076c
BLAKE2b-256 316b569b76d4b2a7f6626191a52a80285b21664b531b2946dba171946e0f95ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3da5c2d5ada4baebec1bacd6b0ce3494142c92d1f8ed5f4465f7557c2473cee0
MD5 38ec86e810fba069a5071865052dd231
BLAKE2b-256 8b54dfb571aba6e13c9abcd85a3dd4214b67a8b8634d94dee2fd785abe534993

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba7db1bd8f6e5ae810c096d2de5de70f41a52e8f71d9385b672070a57f0a01fa
MD5 ef5993f20e16cf254093de9cc7e3cae3
BLAKE2b-256 c73d27530330ec0c0dfbdbdb3183167fd2322b5dc054af250aede662d28a469e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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/5.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 94c6ffe01059f37f5661a83004be8be291174efcc20eed4b04c426cd7e0513f9
MD5 be00318518b18ce2f389c1c88cb7e41e
BLAKE2b-256 92373dc200c700a30ea3998f5fc145c33e97b030c57f3487051547a32f4b1234

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imops-0.8.8-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f53a767bdff28771e75c87bff474e2d4aec20138a4a1969679ec3837564e9084
MD5 6ba251927720994856660de629e1914c
BLAKE2b-256 cd91a55b54cad47e7aff7afcd39fd136ad0f0e921a5e08407cfaaeaf5627d157

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dab5b796e3d62c54e3a3014ca577a3c871d3decc5525cb16ff8a7d58bfb05d5d
MD5 3c3332c23531f743581e49b3c405c14d
BLAKE2b-256 9f0eb41e05e41fd01ef97e1979120632bcfa81c6af40bbd100754fa4b1dc90bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 be19477d49f0b1d53184b070cf997b3db300f57b35c52c50ad496bfcd61c230a
MD5 20f24aa8b81fe789f091d7bd80ceb2c9
BLAKE2b-256 930df8335b78527185141b8521668e649acf36908f49dedf8b24c83af6dbaaa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc1db073bd0add0417eb04b53bee71e0e5368f9c67a2148d498723979e16317e
MD5 d9f741001eb44a3a368cfb6ed4d92139
BLAKE2b-256 b688a93507ca95dff0a48a4897d2456fea8cb5d6b9f89b1cf9f97d0e9a945144

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7d51f22712ae0e8eb9e16ed03519a64a042f9fa088cbdf815e819e598730e12c
MD5 7761b03b054de406374de49dfcefcebf
BLAKE2b-256 991d31c7241bbceca4582997475961837baf3b810256d58b7e744e98c66884c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 de063fea24c84bd652eeeeff1fd91ff67e8f5136b316f40a1373ae3bf9406671
MD5 2b03f5768b42ff1a7a8aac7cc5e3ae78
BLAKE2b-256 47200d0c8c5d75607ec9aeff08bb3ab17238bc77cf19f8965bd58e6917401ed5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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/5.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a71af2c638983de4e708f18d4e2182ab16cfd2c3ddb98c0c495c05b05978798e
MD5 75e0dd6784802a41e2d9b465e66d7ef3
BLAKE2b-256 d159eac5cc6db621fea9997143b83dd931c6360fdd3209d830679af47f9c44a3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imops-0.8.8-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b619d9fa8eb46e6605ced4df665c4e5273de2ff4d8be4db23c8244135ea3fdbb
MD5 e14525febbb6ce0c4aa65916c7e41ea9
BLAKE2b-256 3f68f5618356aa57977d80f29983bd88d815f850938b1a836a814741add51cc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8e33c445d9d19c08720b087dac8e31046e93e945c28a5d53932d1206696d8ad4
MD5 b110055c07d6fb64b77637bea840b860
BLAKE2b-256 718112b329cc18d21c4efde54abed00b050f3f7b7b212462148a2d8582149cfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 018c6e28cda703bd08b773b32692965a0bf74d8938dc6f334e0531fedb330f0c
MD5 8964a8e2f77d014b48132f8daf5830e9
BLAKE2b-256 784ce0e50881be35b0b6dba4a31ea408f594d8968fe4b9a1c39731dd1688292e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63962000d6a983f6c924be21991fd57660cabb372d5572c2000e97c2d15ecb8a
MD5 b7f942802be258724c66bc92c7bf4046
BLAKE2b-256 319f537c3e890f9234d9fd51af1b125f5e8dd824d63182360bacbbbc18ac6120

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2e64dfa7fc0d35ae2f398a5dace8e9be452c4f18bc266a822e8ae983df9cc9f2
MD5 a37e7ae82803fd2599a1e2fbef923446
BLAKE2b-256 35b6eaa6f0680df9c440a873f0266b71b633c91d6b62f485535b69bf7b47db00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b295e1f7bd44cf21d549715ed2755f092d2f387185499c9deaff0cd9f311d156
MD5 cbb1b84eadd4b3e798e18a4943815982
BLAKE2b-256 73fb9755348150db0f940995bfb4b96e53387ec581b0d5d8aea218039ac2abf8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 cdfdce8596b87b097a2d17603193a04b5ae6f45d769765ad0ca007c1ffdb8f2e
MD5 a73c69af271f5736388f455d534c8e4c
BLAKE2b-256 2a36d316f24be4bd344f239cc12743a99b24e7ad64d8af7fa5541d3887022ba4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imops-0.8.8-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.1.0 CPython/3.9.19

File hashes

Hashes for imops-0.8.8-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d927a2266d66827d7f66643d7d85e5ec712bc77e4d778537fc31c920b4178670
MD5 67943fc03f6f4d5ae185c859949b704e
BLAKE2b-256 7d7b29cf7c1a76e97566678bc6a6f3340dfb7e4e9359033f81bbb0c97fed7587

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a1272615a22bb0741992590f4579110ac32f6dfc025d69a545dbb6c0bbe74e11
MD5 2f0ed01d77ad469680361360ea5549c9
BLAKE2b-256 ee2661dc786857f6a0b25f663704d04ae3c8633c93f56ca0a771d83fb0b87abe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 6e19bfd6f04a71af9bdc53800a2e64d0b68efee5bdf84887a32122ed9af63c21
MD5 c6c56a5698e062baf0ab81bc01c2414f
BLAKE2b-256 cfe7c39cc45cf21e577031f6267fc5a46f808ee372d9276228ab75b655cccfc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a5ed28665fc9425f7692814fe95f97ec65fb9f14858f9fdf801a4b69cc8144b
MD5 e25aa9406b15c211bc92fee4ba22cd64
BLAKE2b-256 9e529d14b307472e1fac094974b05e2bb4c57263dafa5d93bfd2970d98926c9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2f1f42255fde5faeddd9da8af7e1241c5a6cb0bd3e2d0f90565720f13ed4b503
MD5 aff7406dcc1c8774e2c33374db01d49f
BLAKE2b-256 f54b6b3ac26101463d6449b134c22544f7f47bb8723efe32dd344e0bf098aa63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imops-0.8.8-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f72394ba487982ec3d4b02ebb8974a06813ea7e6af4ba7ed4c5091f22f170c2d
MD5 6a5d9636ecf5077500f2fc3a2ef105bc
BLAKE2b-256 d3583a9852f4bfb7223621acff0d427f02f234ca4f9e088e446ae87b66dfda2b

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