Skip to main content

Remap, mask, renumber, unique, and in-place transposition of 3D labeled images. Point cloud too.

Project description

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

idxs = fastremap.indices(labels, 1231) # important for huge arrays

labels, remapping = fastremap.renumber(labels, in_place=True) # relabel values from 1 and refit data type
ptc = fastremap.point_cloud(labels) # dict of coordinates by label

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

wider_dtype = fastremap.widen_dtype(np.uint32) # np.uint64
narrower_dtype = fastremap.narrow_dtype(np.uint32) # np.uint16

# 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)  
n_foreground = fastremap.foreground(labels) # number of nonzero voxels

# computes the cutout.tobytes(order) of each chunk and returns
# the binaries indexed by fortran order in the order specified (C or F)
# If the input image is F contiguous and F is requested, or C and C order,
# and the image is larger than a single chunk, this will be significantly
# faster than iterating and using tobytes.
binaries = fastremap.tobytes(labels, (64,64,64), order="F")

All Available Functions

  • unique: Faster implementation of np.unique.
  • renumber: Relabel array from 1 to N which can often use smaller datatypes.
  • indices: Optimized search for matching values.
  • 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.
  • narrow_dtype: Find the next sized up dtype. e.g. uint16 -> uint32
  • widen_dtype: Find the next sized down dtype. e.g. uint16 -> uint8
  • 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.
  • transpose: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, apply the stock np.transpose function otherwise.
  • asfortranarray: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, apply the stock np.asfortranarray function otherwise.
  • ascontiguousarray: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, apply the stock np.ascontiguousarray function 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.
  • foreground: Count the number of non-zero voxels rapidly.
  • point_cloud: Get the X,Y,Z locations of each foreground voxel grouped by label.
  • tobytes: Compute the tobytes of an image divided into a grid and return the resultant binaries indexed by their gridpoint in fortran order with the binary in the order requested (C or F).

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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fastremap-1.17.7-cp314-cp314t-win_amd64.whl (811.5 kB view details)

Uploaded CPython 3.14tWindows x86-64

fastremap-1.17.7-cp314-cp314t-win32.whl (587.9 kB view details)

Uploaded CPython 3.14tWindows x86

fastremap-1.17.7-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp314-cp314t-macosx_11_0_arm64.whl (731.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

fastremap-1.17.7-cp314-cp314t-macosx_10_13_x86_64.whl (842.9 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

fastremap-1.17.7-cp314-cp314-win_amd64.whl (653.3 kB view details)

Uploaded CPython 3.14Windows x86-64

fastremap-1.17.7-cp314-cp314-win32.whl (479.9 kB view details)

Uploaded CPython 3.14Windows x86

fastremap-1.17.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp314-cp314-macosx_11_0_arm64.whl (663.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fastremap-1.17.7-cp314-cp314-macosx_10_13_x86_64.whl (790.0 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

fastremap-1.17.7-cp313-cp313-win_amd64.whl (641.9 kB view details)

Uploaded CPython 3.13Windows x86-64

fastremap-1.17.7-cp313-cp313-win32.whl (476.0 kB view details)

Uploaded CPython 3.13Windows x86

fastremap-1.17.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp313-cp313-macosx_11_0_arm64.whl (658.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastremap-1.17.7-cp313-cp313-macosx_10_13_x86_64.whl (783.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastremap-1.17.7-cp312-cp312-win_amd64.whl (642.4 kB view details)

Uploaded CPython 3.12Windows x86-64

fastremap-1.17.7-cp312-cp312-win32.whl (468.6 kB view details)

Uploaded CPython 3.12Windows x86

fastremap-1.17.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp312-cp312-macosx_11_0_arm64.whl (661.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastremap-1.17.7-cp312-cp312-macosx_10_13_x86_64.whl (784.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastremap-1.17.7-cp311-cp311-win_amd64.whl (685.3 kB view details)

Uploaded CPython 3.11Windows x86-64

fastremap-1.17.7-cp311-cp311-win32.whl (490.6 kB view details)

Uploaded CPython 3.11Windows x86

fastremap-1.17.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp311-cp311-macosx_11_0_arm64.whl (655.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastremap-1.17.7-cp311-cp311-macosx_10_9_x86_64.whl (811.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastremap-1.17.7-cp310-cp310-win_amd64.whl (684.1 kB view details)

Uploaded CPython 3.10Windows x86-64

fastremap-1.17.7-cp310-cp310-win32.whl (498.0 kB view details)

Uploaded CPython 3.10Windows x86

fastremap-1.17.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp310-cp310-macosx_11_0_arm64.whl (652.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastremap-1.17.7-cp310-cp310-macosx_10_9_x86_64.whl (811.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastremap-1.17.7-cp39-cp39-win_amd64.whl (685.2 kB view details)

Uploaded CPython 3.9Windows x86-64

fastremap-1.17.7-cp39-cp39-win32.whl (499.9 kB view details)

Uploaded CPython 3.9Windows x86

fastremap-1.17.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastremap-1.17.7-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastremap-1.17.7-cp39-cp39-macosx_11_0_arm64.whl (652.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastremap-1.17.7-cp39-cp39-macosx_10_9_x86_64.whl (811.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastremap-1.17.7.tar.gz
  • Upload date:
  • Size: 50.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7.tar.gz
Algorithm Hash digest
SHA256 42776172867d8f2b3348754cf29405ba878af4b06917f12a969514d3097910dc
MD5 b45440ca0b55415f84e13ded5b3ab5ec
BLAKE2b-256 97c8d581816df8ee7ab70cd2dd8ee4e60169ceab8062224cc090863e6715f33d

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 811.5 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 eab0c6d093f6dd78ede950fcf4653fe562ce5c741ee1b0f6da19254663ce724b
MD5 2c1a8f188a9c6355228505953608648c
BLAKE2b-256 27b135a320f03a9556e0aa6091554da89787d48643146b472e5b24971375d852

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314t-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 587.9 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 30a2d1ac3c75a5668ba19c631098334bf33bb40837cd8c778786a5645bbb0dd4
MD5 a64d215a1917fc1ee46b4f92cb9d9883
BLAKE2b-256 5f144953d7585378347f6026ef61947d6bca4c5d3eecbafc19ee0840a3efa003

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a5f2205bd4fdf4fa34780aaa4ac7174de9448604cd684ed158dfcbb20105676c
MD5 b65fbc321bee8a4c47a91ddc3cb457f5
BLAKE2b-256 70c07cd2e62c4b84410fa9b82b28ac7518ca842871d00e3d8c70ed295d0d8cd0

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f6d24c6cdcc0604a9e512ea0440e0705b326286e8457cfba5870a7d590fc85c7
MD5 cf1ab388ff8da043c521dfc7792d8d3f
BLAKE2b-256 f229c89dd6b6f49e31329d46e177f83375c816f9a7ba31f569685ffbb9294b1b

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d79f7376d3ce15fedc9cf594ff5bc1cadbde4a00443a4adbef8adc9b34b10969
MD5 81453adbc3a19aec5e97a86b21adba0e
BLAKE2b-256 333e4ff380e1c0f8af9fd6a874f7f594404ea8d811c88f175bf44a7ee166bae4

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0594239f6e2297150792ba93d7c1fe415e16689bf7df4e80edb897a46c273561
MD5 6a237b7b227fdb2d1905bb9fdc067e17
BLAKE2b-256 06f62778fc7f52b8b98ae401425d4a08f0414d4f8c99357af69704d2220b81f3

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 653.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5c4dabeaf0b8e2a5213e86ba23aedfb30583e9d74879fd2195149cd107338917
MD5 3054fa79d436cd1d4972ead0f0d72267
BLAKE2b-256 4b0270a43c8a76c23dc20f78a1d7041e2077dc7d118799a142183dc84bfa0561

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp314-cp314-win32.whl
  • Upload date:
  • Size: 479.9 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 7dc1c37c1307f02ce364d694a13815f80f3319849e41383011e7bf35fbd0d53f
MD5 86e3b9d87bae17a4eb08b9d76a4e93cc
BLAKE2b-256 006be67393a16d4c8596aeb3ec20505fc7f3c5609fb7ef1fcf77515c61599457

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 21bc6a09d8025c7da7b44dff34f236d552473ae68c6aa2688d76f0b9b222b300
MD5 fb933057517deb283eb4d242f912caa7
BLAKE2b-256 2e1154dabf43a2d62edb380986784d6963cd956978f2c449ef81eaf9eff02da1

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 85fabb943477e79059dada3d730731d055ce65cbd7780bff627e4fed88b506a8
MD5 62517a747d6c257f57289e4f07c45097
BLAKE2b-256 7f18a621d576c6a06840b94c09bc8540f87ab2e269fba3ac7855f570520db43a

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f9161aecea0c8ea7f84efec87f42af0cfca48710d8e4886401db631fbe7a40c
MD5 c3fb5ee95ede1503bb18a45e8e442f41
BLAKE2b-256 fc9a6af0706bea8364344532de92dc01e0a06ab8cfeb4c0321075f0183e08446

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0e0cdc4fb04c80fa7b41165a5a25ceb365a32210ba1aa06aa4df8bc120b8c441
MD5 c74c81ab9762e0387d8110793a0aea79
BLAKE2b-256 b9c5779f0dec11a2d2c43839f74198da670b2b84556349656b6e3f5d8ec38924

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 641.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f56e4f02f47865ad86b1d05161bee7fbc88e95a4a18ba3dcc7bbdf66153e4e3c
MD5 df2edbf7b78eecb2c992aa4dbabec150
BLAKE2b-256 49bbea8373f6f8836de1a5fa2169660b8d82d95df6faa87e7340818b3a8ff18d

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp313-cp313-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp313-cp313-win32.whl
  • Upload date:
  • Size: 476.0 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 bbcbc4aecb1da7d08469a2306fb9dc08f33695d6be7295385aaee4dd762e2faa
MD5 60904259fe0aced76a6dab7ee1aacf5c
BLAKE2b-256 7f6c8f5571ea8ee150a11c0816d00aa4a2564d7bd2ffac1d4c471be8cc54d061

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46d44c6c25ca7a8e309d18475be8253ba22350f97f107068e44938f234792f43
MD5 81af8be225abb8f24b8b64ddf6a0b7f6
BLAKE2b-256 a61d2eeeeae1af1fa5caeaf831c7fa08480f46b9acd475055ec50babb02946fd

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2abdf378fa79cdf182375706a07de8df3dacb55ee3f97a28febd464b0e892afe
MD5 cbaa5e469c6b8d65478e57539850e1db
BLAKE2b-256 c19b71c09beb8513c548ce80f19c70584b3e679cd0b60ef8f1dfc17b22063add

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 189315aaf5c9c5dd38f6f478f5029ed699155b3bed4159c7fc2d8c3d990d91a5
MD5 735a2dd3aca64e68a2a2b85405d4cf78
BLAKE2b-256 a6b40a4d7c54f2e4e862f4dce47bd5c0be78c59f166b9a7acc0fc86b1d4d20cd

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 15a09bc4aa504bf630605ed6fb98b9661c179dbd38aec35436c39a2e42d064d0
MD5 0e7231684cb6f3386781444fbd471733
BLAKE2b-256 019baff83fe7dda6d45ab5d4be8eecfe384761c2575203ee82071ac4bfee8917

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 642.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8f10a84cedb56e37627fb0bec570eb5ec9668a1e3c00ac2c93ca13008cc41230
MD5 d349c53ae5991b323c364ef44f7bf460
BLAKE2b-256 d6bfda8e48bc2c1a89180a739557ba8e15278e2de685a3ce91436c5a5d47cf70

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp312-cp312-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp312-cp312-win32.whl
  • Upload date:
  • Size: 468.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e278071af4d68a52531efdb861addfaf86e33115e9a53a2703abd3d395ada300
MD5 7d2b19c479195c7b426f1de37e29502d
BLAKE2b-256 35f066d0c8cbdce800c59b60d8257ec77be294b21501bb4d5f94e817ea20f1a7

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8bc165a003337c41ed19b0ee20c16c3c8342fcab0726e7072c3c2cf1bf613104
MD5 a82493ac02df234b15fcc0f339f02c35
BLAKE2b-256 85be4c9efaaaa19d0cf5a438fe8055969461d3096d874d3732c36e71ad87a2a0

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a7df1b9ad1659f1820349bb12d8bf76291c4896146d5230ecad5b9c75f2635ab
MD5 d0c30068c8bed1d44cf029805ef7ae03
BLAKE2b-256 1073566bed66cb33472fee3b3d3269438b1b026e85a99a6c5252f8e13acc8fbc

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71f370e256a052dabc5cb14a65bb6e070f700ed976db7dc10450014f54e773c3
MD5 ebc13adbaf4b79351b2bb03fdd466e19
BLAKE2b-256 a2736cc98c650cc1b625d52bcc2c41c6b2690c33b678de5c6b0774d4d49cdcee

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 682f11e7e8daea113c252938c8d98d28b8cee164121f1f3dcdafd0657b4a065b
MD5 e422a2f2977aa32763a6da8ac2865607
BLAKE2b-256 1387443b137c927f1c9cea7e4c290d6d49a78b7139382a8abe6cb138a6f11e8c

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 685.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 67cf58fada99981ec1a5b4f3368e1b4c1c4d0f22efaa036748f97475c37ce1f3
MD5 a866e007a4c90bda885eac787040d180
BLAKE2b-256 714b7a03f72620945f08b40285ff3640e2b0a86f80218c519c8e4c4a557ca645

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp311-cp311-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp311-cp311-win32.whl
  • Upload date:
  • Size: 490.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f72d6db9550d9f1308cf78e71ca1bbbedea66048439b0fe688addaedf05c37ff
MD5 f321c5b08fba2b8a4ca0c83bbac9a2b1
BLAKE2b-256 659a193ca90273394cc93d98c9b7a587d134655910e14e12d7813d97d48ed13d

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 74635d268aa40ef7063319c997c1cbb70d52deeb08a3a61146a6151306c394ea
MD5 357a7a2a574a0f0fac6ac269575b38fe
BLAKE2b-256 ff5a3ae0f6425c816ac74e130244c152cc5b7d7c13d5c5ff299af074f0456208

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 55f77a4e48fc9614027d318d23399d91a89b62c56d97880055c538fd42c43fd6
MD5 5786279e5d06ebc8ca42a496a9d7a091
BLAKE2b-256 f9fd70d7e5ee9b77c3ddbe6d9c479202cf04a0f178c399d94af5993520dab51a

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6130394fc92777d08ca992e70ff6307fe1ef928d2831140ff63ab27f36b6600
MD5 966fcd2ff2badcd4b4d571b726286479
BLAKE2b-256 f7b6b88d2a30f50708249bb0414f0581d0f7ccb3785b1a3ca6588565920988f2

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4610492ea19f1cc916a05e9195b67de11dc98a18e905de1abf821b2ca2ca1fac
MD5 2709056f4a81174793aaa96a0a0fd180
BLAKE2b-256 be7f98bc1ab6ab9b389a72ed1a97dc34eb57a8e6beb473117c8942481f74e6ca

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 684.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aabb9ec3d93b75f8f97651cf3067c7415286461296dea5e7e9c0c6ddc9d9858b
MD5 5513a357d78bb41cfe69c3b78127b071
BLAKE2b-256 9eaa8f88be7fd7521a79d522fcd13783dd702795c37d977713305895191c5ee9

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp310-cp310-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp310-cp310-win32.whl
  • Upload date:
  • Size: 498.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f49f79c28d84632de4eb254b7342ae37fa9fa6e79ecd4cc569a15014ee99eb4a
MD5 c4a848ce0185b9ee1cdecadef379f151
BLAKE2b-256 9a89bdbb39df082e467338d139c47bb8c8dbe5d8347837afd81ea4b0028a4e2f

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b05fb72432faefeebbcb9e0f49a175730f0cb95fd350b584855df263f33c8edc
MD5 5a825b5ebdcba9ad78f7069bf549fa89
BLAKE2b-256 78156890a8c4c1c90f7a0c0811207ece87082f9fa994ca6ca002e92f65a2c877

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d7455ce285a8e431e41138f7b5c6b7c9cd817f419bc4245f1de1d095f0e91feb
MD5 685b70cffe265baf5f52736adc556eef
BLAKE2b-256 a5458509e51619a3d140051217ee30ce5bcb25d7ba8a2ebd07325b00034a5089

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a82b3b67967047c31d9bab8452b3a3fc4e17b143eb9fd98b9cb9e0bfe990840d
MD5 dfc6fd66d2aa1b374a2880d6c81344f9
BLAKE2b-256 ebfab600288be8990be1e4c668def2f5575a2f57c1c3554d377b8ef157b5d762

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9a759677a897df0eb7ad1b466de18d00cfbdafb0ec4851b433b7891eea7cd8e0
MD5 d5ff9d26392bbc9c0b7f035cdf57db10
BLAKE2b-256 28fe774b263411d4ccc1f46789f36a24e85706f55e0b53f67cf909b702271b2c

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 685.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 59bcd3390c43f6ab7473cd4f0b37cd9f468088973124770a6e448400bd44bc47
MD5 4406242611aa2dc3f7fc327cd8828a02
BLAKE2b-256 aaa18eb80f45e57ab425b5ae3e0fcdaf67bc7ddf694f7858045ad89668b0f21e

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp39-cp39-win32.whl.

File metadata

  • Download URL: fastremap-1.17.7-cp39-cp39-win32.whl
  • Upload date:
  • Size: 499.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fastremap-1.17.7-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a83f7640e161e01b65921bfe91d891aea606aca90b38c8485e3c52c3ff10ed8a
MD5 533ba4c2ec790e8ad63557d12f1f4f06
BLAKE2b-256 7380ba378f6b8c9bcc248296163ed91f811533ea2c1c6a003f3043748afb2c82

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b7ed1dde96d5e67395a9de62c6c93cfdb8b959961a9ef1057ccc40400a33f852
MD5 761212220830e0c1befb0faa179a751e
BLAKE2b-256 99085514198b39dd96fa407ea7fb302a58e916a529037579b5a8b6ec7ba0b496

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87dfafafcc24e6eb66d0fe7f068a157e83d5cde2d53c3abac9d9d8f92f5c531f
MD5 df89efd716dfad037a5397538ecaab6f
BLAKE2b-256 496bc832bdfb39a15ad6dca3c76983373d1398283b32f2ea0131f78218d5b60f

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 322011692bf5142f8d859e21220fc594c836a799ce50d92de3d9375b55723984
MD5 6ad57960a17c262833808bf34831eda0
BLAKE2b-256 c535955e3ba015ea7f54711e1f0c671d2a24f70797334a35ce31700566cb1707

See more details on using hashes here.

File details

Details for the file fastremap-1.17.7-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.17.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32d779f7699b8be18ae6473c02b2f3e55e70644514498ae67b29c9e839eca626
MD5 0c41926ac83d6a66ddff59571f8767a1
BLAKE2b-256 5ba2e3feb999eb34bd525066da67b409557696d4726121bdff67b027e57ff14c

See more details on using hashes here.

Supported by

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