Skip to main content

Remap, mask, renumber, and in-place transpose numpy arrays.

Project description

Build Status PyPI version

fastremap

Renumber and relabel Numpy arrays at C++ speed and physically convert rectangular Numpy arrays between C and Fortran order using an in-place transposition.

import fastremap

uniq, cts = fastremap.unique(labels, return_counts=True) # may be much faster than np.unique
labels, remapping = fastremap.renumber(labels, in_place=True) # relabel values from 1 and refit data type

labels = fastremap.refit(labels) # resize the data type of the array to fit extrema
labels = fastremap.refit(labels, value=-35) # resize the data type to fit the value provided

# remap all occurances of 1 -> 2
labels = fastremap.remap(labels, { 1: 2 }, preserve_missing_labels=True, in_place=True)

labels = fastremap.mask(labels, [1,5,13]) # set all occurances of 1,5,13 to 0
labels = fastremap.mask_except(labels, [1,5,13]) # set all labels except 1,5,13 to 0

mapping = fastremap.component_map([ 1, 2, 3, 4 ], [ 5, 5, 6, 7 ]) # { 1: 5, 2: 5, 3: 6, 4: 7 }
mapping = fastremap.inverse_component_map([ 1, 2, 1, 3 ], [ 4, 4, 5, 6 ]) # { 1: [ 4, 5 ], 2: [ 4 ], 3: [ 6 ] }

fastremap.transpose(labels) # physically transpose labels in-place
fastremap.ascontiguousarray(labels) # try to perform a physical in-place transposition to C order
fastremap.asfortranarray(labels) # try to perform a physical in-place transposition to F order

minval, maxval = fastremap.minmax(labels) # faster version of (np.min(labels), np.max(labels))

# computes number of matching adjacent pixel pairs in an image
num_pairs = fastremap.pixel_pairs(labels) 

All Available Functions

  • unique: Faster implementation of np.unique.
  • renumber: Relabel array from 1 to N which can often use smaller datatypes.
  • remap: Custom relabeling of values in an array from a dictionary.
  • refit: Resize the data type of an array to the smallest that can contain the most extreme values in it.
  • mask: Zero out labels in an array specified by a given list.
  • mask_except: Zero out all labels except those specified in a given list.
  • component_map: Extract an int-to-int dictionary mapping of labels from one image containing component labels to another parent labels.
  • inverse_component_map: Extract an int-to-list-of-ints dictionary mapping from an image containing groups of components to an image containing the components.
  • remap_from_array: Same as remap, but the map is an array where the key is the array index and the value is the value.
  • remap_from_array_kv: Same as remap, but the map consists of two equal sized arrays, the first containing keys, the second containing values.
  • asfortranarray: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, standard numpy otherwise.
  • ascontiguousarray: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, standard numpy algorithm otherwise.
  • minmax: Compute the min and max of an array in one pass.
  • pixel_pairs: Computes the number of adjacent matching memory locations in an image. A quick heuristic for understanding if the image statistics are roughly similar to a connectomics segmentation.

pip Installation

pip install fastremap

If not, a C++ compiler is required.

pip install numpy
pip install fastremap --no-binary :all:

Manual Installation

A C++ compiler is required.

sudo apt-get install g++ python3-dev 
mkvirtualenv -p python3 fastremap
pip install numpy

# Choose one:
python setup.py develop  
python setup.py install 

The Problem of Remapping

Python loops are slow, so Numpy is often used to perform remapping on large arrays (hundreds of megabytes or gigabytes). In order to efficiently remap an array in Numpy you need a key-value array where the index is the key and the value is the contents of that index.

import numpy as np 

original = np.array([ 1, 3, 5, 5, 10 ])
remap = np.array([ 0, -5, 0, 6, 0, 0, 2, 0, 0, 0, -100 ])
# Keys:            0   1  2  3  4  5  6  7  8  9    10

remapped = remap[ original ]
>>> [ -5, 6, 2, 2, -100 ]

If there are 32 or 64 bit labels in the array, this becomes impractical as the size of the array can grow larger than RAM. Therefore, it would be helpful to be able to perform this mapping using a C speed loop. Numba can be used for this in some circumstances. However, this library provides an alternative.

import numpy as np
import fastremap 

mappings = {
  1: 100,
  2: 200,
  -3: 7,
}

arr = np.array([5, 1, 2, -5, -3, 10, 6])
# Custom remapping of -3, 5, and 6 leaving the rest alone
arr = fastremap.remap(arr, mappings, preserve_missing_labels=True) 
# result: [ 5, 100, 200, -5, 7, 10, 6 ]

The Problem of Renumbering

Sometimes a 64-bit array contains values that could be represented by an 8-bit array. However, similarly to the remapping problem, Python loops can be too slow to do this. Numpy doesn't provide a convenient way to do it either. Therefore this library provides an alternative solution.

import fastremap
import numpy as np

arr = np.array([ 283732875, 439238823, 283732875, 182812404, 0 ], dtype=np.int64) 

arr, remapping = fastremap.renumber(arr, preserve_zero=True) # Returns uint8 array
>>> arr = [ 1, 2, 1, 3, 0 ]
>>> remapping = { 0: 0, 283732875: 1, 439238823: 2, 182812404: 3 }

arr, remapping = fastremap.renumber(arr, preserve_zero=False) # Returns uint8 array
>>> arr = [ 1, 2, 1, 3, 4 ]
>>> remapping = { 0: 4, 283732875: 1, 439238823: 2, 182812404: 3 }

arr, remapping = fastremap.renumber(arr, preserve_zero=False, in_place=True) # Mutate arr to use less memory
>>> arr = [ 1, 2, 1, 3, 4 ]
>>> remapping = { 0: 4, 283732875: 1, 439238823: 2, 182812404: 3 }

The Problem of In-Place Transposition

When transitioning between different media, e.g. CPU to GPU, CPU to Network, CPU to disk, it's often necessary to physically transpose multi-dimensional arrays to reformat as C or Fortran order. Tranposing matrices is also a common action in linear algebra, but often you can get away with just changing the strides.

An out-of-place transposition is easy to write, and often faster, but it will spike peak memory consumption. This library grants the user the option of performing an in-place transposition which trades CPU time for peak memory usage. In the special case of square or cubic arrays, the in-place transpisition is both lower memory and faster.

  • fastremap.asfortranarray: Same as np.asfortranarray but will perform the transposition in-place for 1, 2, 3, and 4D arrays. 2D and 3D square matrices are faster to process than with Numpy.
  • fastremap.ascontiguousarray: Same as np.ascontiguousarray but will perform the transposition in-place for 1, 2, 3, and 4D arrays. 2D and 3D square matrices are faster to process than with Numpy.
import fastremap
import numpy as np 

arr = np.ones((512,512,512), dtype=np.float32)
arr = fastremap.asfortranarray(x)

arr = np.ones((512,512,512), dtype=np.float32, order='F')
arr = fastremap.ascontiguousarray(x)

C++ Usage

The in-place matrix transposition is implemented in ipt.hpp. If you're working in C++, you can also use it directly like so:

#include "ipt.hpp"

int main() {

  int sx = 128;
  int sy = 124;
  int sz = 103;
  int sw = 3;

  auto* arr = ....;

  // All primitive number types supported
  // The array will be modified in place, 
  // so these functions are void type.
  ipt::ipt<int>(arr, sx, sy);            // 2D
  ipt::ipt<float>(arr, sx, sy, sz);      // 3D
  ipt::ipt<double>(arr, sx, sy, sz, sw); // 4D

  return 0;
}

--
Made with <3

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

fastremap-1.10.2.tar.gz (348.5 kB view details)

Uploaded Source

Built Distributions

fastremap-1.10.2-cp38-cp38-win_amd64.whl (461.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

fastremap-1.10.2-cp38-cp38-win32.whl (329.9 kB view details)

Uploaded CPython 3.8 Windows x86

fastremap-1.10.2-cp38-cp38-manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8

fastremap-1.10.2-cp38-cp38-macosx_10_9_x86_64.whl (610.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fastremap-1.10.2-cp37-cp37m-win_amd64.whl (439.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

fastremap-1.10.2-cp37-cp37m-win32.whl (323.3 kB view details)

Uploaded CPython 3.7m Windows x86

fastremap-1.10.2-cp37-cp37m-manylinux1_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.7m

fastremap-1.10.2-cp37-cp37m-macosx_10_9_x86_64.whl (595.8 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

fastremap-1.10.2-cp36-cp36m-win_amd64.whl (439.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

fastremap-1.10.2-cp36-cp36m-win32.whl (323.4 kB view details)

Uploaded CPython 3.6m Windows x86

fastremap-1.10.2-cp36-cp36m-manylinux1_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.6m

fastremap-1.10.2-cp36-cp36m-macosx_10_9_x86_64.whl (616.0 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

fastremap-1.10.2-cp35-cp35m-manylinux1_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.5m

fastremap-1.10.2-cp27-cp27m-manylinux1_x86_64.whl (2.6 MB view details)

Uploaded CPython 2.7m

fastremap-1.10.2-cp27-cp27m-macosx_10_15_x86_64.whl (568.4 kB view details)

Uploaded CPython 2.7m macOS 10.15+ x86-64

File details

Details for the file fastremap-1.10.2.tar.gz.

File metadata

  • Download URL: fastremap-1.10.2.tar.gz
  • Upload date:
  • Size: 348.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2.tar.gz
Algorithm Hash digest
SHA256 2e4b70f5dff44c57022829d10d17452b01387b5c4b7c4c1cbc03606908fa5122
MD5 5508c28d6fc36ca72103cac808546d98
BLAKE2b-256 3a72d091642c13dbe4945cf4d817abf8a3529a919e93be6633cd1958e584b654

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 461.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0e239dd56ebd319e8931b7d4100e9d18bb9010578df3a068b1d5f9dcdc4771c7
MD5 c87143f8d18f3af75e215b31e3e8049e
BLAKE2b-256 850eb069b70245e21dc1f9391238fd791b4fd444bf00c03b81e19d9de78511e6

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 329.9 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 de6fbd408deba0809926714ab3122acfc826fc8bad15eea1ec19aa15cac7d212
MD5 cf1a358607c7f1f2df68162c82cefe75
BLAKE2b-256 e4d2932543dcdcdc3accfbb609ee795e55004311600a369ad6e7a36e7219151c

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5d58950b196559ecf36619c2fbca4b46f09f2f2ab61ad71fb7b94cf36988ff51
MD5 aab141655e79fb2b6ebffc0df65c22c3
BLAKE2b-256 af446aba47d2eb3ec44b9bc5be12097498bf2587125b1e4e9559ead294289fc4

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 610.3 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a92432ba8afba105cd568f36c5e37f185e9f2e9577272159e32681e7ea15452
MD5 c514c65be92490ef5049fa4302528120
BLAKE2b-256 7dc3036f61e36dbeaed4291b5effc23e5359bdec0326ddfcab7c9f02090ed2d5

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 439.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e946111e5bfe66cbcf95750cdebde53025bf090487417eb6e6b1f5f543643cb6
MD5 dca70aa68f312fb231db4bf91a045aad
BLAKE2b-256 40c848439c168ba9d6bc56f8b88bfbe089e6fd2544992f07caa97d7f825a9486

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp37-cp37m-win32.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 323.3 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 958d10e79ebb1253410c25d331cc3135d02b8b78d52aa244e82f5ac8cb475a6e
MD5 25d9a3b64e39b3b01b458cc570b54f09
BLAKE2b-256 3ff6ab1be18ea55c525fff9973405e7f7653818d0fe5337ee94dd089d079fe3f

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3432747f30ec8fe9cbb996563bb9a961392a17cf6bb98a76cc54288deb87e707
MD5 14a7260ce3afb7ee2574172b87dfd372
BLAKE2b-256 7b7ec27965df444f87eabbdced47161ce970cc8fd558c7c377020d90911b2482

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 595.8 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9bc330d9be3686df8d9362ba449291409e2c8eeea956c179ef6ba2179743a1ab
MD5 20ce39ca9d7c45b87de06e965035e609
BLAKE2b-256 19dc65420e89d032ee808a30a8f87857210ba74a0e31bd5dee0f874cc1624e1c

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 439.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4f0cc5f1eb59dc39f19eebba0e4f35d25313edca854ab7f78d8aeefa9dff9bd1
MD5 6d136f91964c03ee4f7d0f763f67c09a
BLAKE2b-256 f43a5c1580290885149c8d6363aa7eef551d1e6be6e4d6de161a084f91c20410

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp36-cp36m-win32.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 323.4 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 b162fa0d42910f492ed32c2b085da30b2cde63b7103c893eda6554306db43411
MD5 fdec967c88b6de1d92cbf87261dbefc2
BLAKE2b-256 9dfc3b92a24c0da64285abc1f29f22e70352a233c3c37a6be025f80c058f52b8

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6e01454a3aee951820b8048c842245a27e4784935a973b15b005319b1cbc1b49
MD5 9a5b37eee370ddec7e81de94cf4250b1
BLAKE2b-256 65f4124c927812016ea0b534f833182a2b93ae8dfe947aa5fdd596e6b4370805

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 616.0 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a9f1c0a3d94675bb947d42160748da3e5e51f5819816729e867c05d3d43fe65b
MD5 3e19625035c1a589e0fb68ebb9ef95a1
BLAKE2b-256 5fb4aacc40596319abab3f9e3d509e7214ffd678913bd98f5e367ed0b0d8d03a

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3ae8758121740bacd95f90f11f74282c7aad6ccfb7cde2260ad0a74cdd667276
MD5 2bd57e439cf32bd6a4d679be61acb305
BLAKE2b-256 2e6ab96ec95d2e7f58793a5da55d4d164e38e145281847c43a74a0300bd51790

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e75e91d4458a7d0cf7ca80e37996b27c44396d9d5c01877b30348caa64b59b20
MD5 1aba0a23d87b93e33fff705f471cb7aa
BLAKE2b-256 092112f501118a6e113d05661d1dc879685d909fa2fd1564fe447026c13e6f2b

See more details on using hashes here.

File details

Details for the file fastremap-1.10.2-cp27-cp27m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: fastremap-1.10.2-cp27-cp27m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 568.4 kB
  • Tags: CPython 2.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for fastremap-1.10.2-cp27-cp27m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0f5cf8f1265bb14d2a7361e38f35b03eea09651399e5cc97d31a6c496e848d8a
MD5 8a9519e56b9a9717b8759694621d5fd4
BLAKE2b-256 de323c8cf79ab60e786278671c6b9236b7b90f827981e3b1ab0b413d0f81c7dd

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