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
is_solid = fastremap.is_solid(labels, 1) # checks if all 1 w/ early exit, no copy

# 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.18.0.tar.gz (50.7 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.18.0-cp314-cp314t-win_amd64.whl (739.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

fastremap-1.18.0-cp314-cp314t-win32.whl (530.7 kB view details)

Uploaded CPython 3.14tWindows x86

fastremap-1.18.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.5 MB view details)

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

fastremap-1.18.0-cp314-cp314t-macosx_11_0_arm64.whl (627.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

fastremap-1.18.0-cp314-cp314t-macosx_10_15_x86_64.whl (730.5 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

fastremap-1.18.0-cp314-cp314-win_amd64.whl (591.2 kB view details)

Uploaded CPython 3.14Windows x86-64

fastremap-1.18.0-cp314-cp314-win32.whl (422.1 kB view details)

Uploaded CPython 3.14Windows x86

fastremap-1.18.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.6 MB view details)

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

fastremap-1.18.0-cp314-cp314-macosx_11_0_arm64.whl (573.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fastremap-1.18.0-cp314-cp314-macosx_10_15_x86_64.whl (678.3 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

fastremap-1.18.0-cp313-cp313-win_amd64.whl (578.7 kB view details)

Uploaded CPython 3.13Windows x86-64

fastremap-1.18.0-cp313-cp313-win32.whl (415.9 kB view details)

Uploaded CPython 3.13Windows x86

fastremap-1.18.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.7 MB view details)

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

fastremap-1.18.0-cp313-cp313-macosx_11_0_arm64.whl (564.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastremap-1.18.0-cp313-cp313-macosx_10_13_x86_64.whl (679.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastremap-1.18.0-cp312-cp312-win_amd64.whl (578.5 kB view details)

Uploaded CPython 3.12Windows x86-64

fastremap-1.18.0-cp312-cp312-win32.whl (412.3 kB view details)

Uploaded CPython 3.12Windows x86

fastremap-1.18.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

fastremap-1.18.0-cp312-cp312-macosx_11_0_arm64.whl (565.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastremap-1.18.0-cp312-cp312-macosx_10_13_x86_64.whl (679.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastremap-1.18.0-cp311-cp311-win_amd64.whl (622.4 kB view details)

Uploaded CPython 3.11Windows x86-64

fastremap-1.18.0-cp311-cp311-win32.whl (432.5 kB view details)

Uploaded CPython 3.11Windows x86

fastremap-1.18.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

fastremap-1.18.0-cp311-cp311-macosx_11_0_arm64.whl (566.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastremap-1.18.0-cp311-cp311-macosx_10_9_x86_64.whl (716.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastremap-1.18.0-cp310-cp310-win_amd64.whl (621.1 kB view details)

Uploaded CPython 3.10Windows x86-64

fastremap-1.18.0-cp310-cp310-win32.whl (434.1 kB view details)

Uploaded CPython 3.10Windows x86

fastremap-1.18.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.6 MB view details)

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

fastremap-1.18.0-cp310-cp310-macosx_11_0_arm64.whl (569.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastremap-1.18.0-cp310-cp310-macosx_10_9_x86_64.whl (712.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastremap-1.18.0-cp39-cp39-win_amd64.whl (622.7 kB view details)

Uploaded CPython 3.9Windows x86-64

fastremap-1.18.0-cp39-cp39-win32.whl (434.0 kB view details)

Uploaded CPython 3.9Windows x86

fastremap-1.18.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.5 MB view details)

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

fastremap-1.18.0-cp39-cp39-macosx_11_0_arm64.whl (570.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastremap-1.18.0-cp39-cp39-macosx_10_9_x86_64.whl (713.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for fastremap-1.18.0.tar.gz
Algorithm Hash digest
SHA256 8e46acf8ffc7e9733852cc68659b0776ab951bb7e584c6df4f2c14f7bcebea5f
MD5 2eb53f9d80764e152a685e4ce654e688
BLAKE2b-256 00b5c33627109b34520315593c7415cb4e81125114082be07bd4c4e507ab6e17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 739.8 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.18.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8865b25d157f174d2c17c824dd07bf5017de5824cb26706a2603ead66d95f292
MD5 ffce4de385779c30a4ea23879bbbdf9a
BLAKE2b-256 22c594b15a4dff7343a0f052b54b2e2e9a105d9b3719b51cf8e58fdeda06098b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 530.7 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.18.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 87dcaccd0760ec12052ab6962c5783657fd7cd6e1c8cc78efca7bf657a3b18cd
MD5 0333ada08db21f616e0828362d2149b1
BLAKE2b-256 05ec5a14de31d04780c2804d8a629a8ce94e705b475799c9eb3b0e02ca59675d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f427bc6731d4b32fb8fb032fa593fd815a049493db366ec9a346a94939d06eb
MD5 cb48ccc44173db180a972ecb18c990b3
BLAKE2b-256 fbd0267b721686690ce854495a4625bf76ea2ef78b6ccd115038ffd87ddeafa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c65418660acdd8bd1f522a7bdd72c2bfb834ef9c754de1fa23989fdfc1cf2a7b
MD5 7d112a6ffaefcbf80a130b6624dfe5fc
BLAKE2b-256 66641282cb3dca1ed4209d18d3b64971b7beb5b99dff7d21166098cb766e9c85

See more details on using hashes here.

File details

Details for the file fastremap-1.18.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.18.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 34ca03930e01fa8811300e2964ad7f97aff3bf11f57be3fbe5915714b9b856cb
MD5 22425bbcaef3af00e6e8ea743bc6f106
BLAKE2b-256 bcc601954f9798eaf3fbc24781ed96d5e4e750228764ecc3369aa36a84d8278f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 591.2 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.18.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9b120390a80d39ac97c72d62c928b7098ac48960c4e782fe26b153747990c88f
MD5 ee30e1f055d30a119a072ffe783424bc
BLAKE2b-256 02d8f59b750f705f9da030239115d62eb620e7d64eb83100cbecb0ff4c35fc5e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 422.1 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.18.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 17f99a67dc63fc086f16ff6371dcf8748be3703995fcc047e9452eb5fcca54d9
MD5 f3a5846416b1103484bb158e898f950c
BLAKE2b-256 618b17090e4fca0b146a640924a6ba680db7534c0db9bf28fb67ddf2d1d3902a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a528d87f2d8aa4a3dcf3b66b96570706d44e896c202e241e8e31298621b90bbb
MD5 b544e454387e794d7e4d4f8fd7768b22
BLAKE2b-256 f7834235a25c069d2fb7775d0e8cb0ecba3654f68dce6f0678301bf5eba0e573

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0623ea36e9465d4fcd6ba82380372242b06d4c23f31a1192d7f2fd2420c615e
MD5 068edadb738caca08151772183933a06
BLAKE2b-256 5a425459e5913dda9ec805b695f42b9d9ee91391a66560f83ca8758cd875b32f

See more details on using hashes here.

File details

Details for the file fastremap-1.18.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.18.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 534c2148f5853d25e68a5470590aba0d76e9d11b4b34d436b4884db7971c4a86
MD5 f9ce335e00185129e9e4a3f7ec73200c
BLAKE2b-256 de51eee7af4696e848cb589f06b7bf2af573cd22bf7d29969ba4c3fe933614d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 578.7 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.18.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7f4b442f634942b1fbd6cc820e90cbb70b0f0ba2356ef488378dcbc11f7233e
MD5 c91fa9838ec293b70ab014001e7ff7b0
BLAKE2b-256 0ec119b4a311cf74388a109bf400cb905a81db8a245a8abd8b2aa80de542ff5e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 415.9 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.18.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 82717feb7426e2b413b27fad10b22c4c744a4e0f6acb50969338848bb0846f4d
MD5 e6a47a69399fe15f9d2e95ed2ca7efcd
BLAKE2b-256 ab0b49e8afc40de774a373d1404c6103784ea40f6873e163a4c08e426112547b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 38fb274f9ad29cca5b72f4dedb92a196591657ac239e9b29c9951121d1f8862c
MD5 584f1f1a76945b5649d4bf126abe192c
BLAKE2b-256 1b5cb7935dccd06916a1fb5bd8bc4e5ac92f89659307b838abb18b8d632410f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b793657d1b7215f5d806c3f92df18d0a1b2de3dc659ec462a0933ed2f862107
MD5 67871899019b5f054597b5d385bdb710
BLAKE2b-256 d75346ecb06e02d23e03480d81b24609e1c38ba15eda630c67fdbda62ad5902e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1c55207cd905adeaf7a24c38d49afde28b16dd3846a60508b5593f11bb7ef9f9
MD5 30d791969f0f47fe12765ae8dadd6aff
BLAKE2b-256 f59310fac690bd697fe1398435bd59dfef98a58b7c852b6768ed5d0b9bde6681

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 578.5 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.18.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ca2cdaca466f97454d46cce3fea15070b8b28a1e230ec9843d0e92ce4b9a0ef2
MD5 fee33b80ab56d789ea8d119b1afe762e
BLAKE2b-256 41d3385b65b289000c0624bc3afc3098109c2f5b19f440745a9ebaf37a98b0c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 412.3 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.18.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 68b5e5e087d4d75a5db15bd660239aa739a96653a6c49dce092dac0f94e0c356
MD5 d10fcd88b7726e2392d0f07352225d63
BLAKE2b-256 520219c85df9129f8e0bfbba43847ff38b644cb58d9891884deed5316bad188e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d56dc77d191b15706ec3266bd7756431b0b90a5bf767b6753e55ab00a545645
MD5 d27723b6e1de6b2b550b4c1c6a30496c
BLAKE2b-256 b8875af5dc3b691f83a1647dfac7899a5e48b245d005c6a87998a71a6c17fa57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 170b70625c0ba8dab77696a5279fbfab06cef1937ba33c5b3e529fbdb0229ae8
MD5 2eb9562c8fc9c601bc9b4d217a3666a8
BLAKE2b-256 8bbd42883df958b4bdf7c67e58791ade6b67ed63ca831907e7eb039f3da99e55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2b0078af791b9f0cd92e093f0901c226eae9e2b73d09b2cf4f52dd853977130e
MD5 23ea4f13fe5b46c908e4953adb7a557a
BLAKE2b-256 8353ed1bd08dd6ae711b2b9e7bc73349d8e979526b1be1013ed2cfb8185bb03c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 622.4 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.18.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e83f9060c979a26d634056e2541c6d650c8306fb7951aede28495f4985565386
MD5 e78b3bc39fbac1547f6fa7c579859a02
BLAKE2b-256 9117abc2f751b8e39fdc34aadb27bc25ba73e458eb131f0ed53b1d0c212a86b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 432.5 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.18.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d23aaf3c795910fd9668dfaf9bca69d2d50815298acc0ca17794ae27d7ee3c96
MD5 498dbb9cbb2422f5815bec4914a86a97
BLAKE2b-256 e036ab68e1287a29f21cb06dfc07ac2c8d25fbacd63170510c96acd83af1e97f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a648e39a90fe5aad56b89a90831276c321ef183d9eb6f62cb4fc2e4ebdd107a
MD5 ae5aee7118249fcee29000cda97ee318
BLAKE2b-256 10c1863c70a10817d3dae30131f427c325ce8e23e0edf98f95f391f8b432db22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e19d76fbfed962651be43a021aceea77f07a33140fb61f1ba1febf448dc4c1a5
MD5 ed6ec7f71306e923c1c8ed01e9385cc7
BLAKE2b-256 5a4271ade8de53758f232531a7a3f324c5219ec0136f75b7d47e8ee5a330f2f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0a9d019fc31ac6f429741bcfe787b6783837fd5133743207eb1ed3885a146277
MD5 6fdb0b159b03cd141eee088e90f84b65
BLAKE2b-256 42c4431d88fe0549508eca857021feea8f1950519a1188bc9b66af18b4751dbc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 621.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.18.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1486551a64d83931ff028836e3c10be14cacb6e42aa0b53b47b8b6ad24d18da9
MD5 5e6acfd657a840c218f4ad0c8eff9597
BLAKE2b-256 ff597a83017be9eeb530187f21cdd44e74361e66cd19bb4e787a30e18b904694

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 434.1 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.18.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 26a30b738a59b59a8c81795dd651675f773b278ed3c93f00039ba8793edd0cd4
MD5 2938c63d3e2eb7c1838246928c510aad
BLAKE2b-256 97d1f0e88ec0442c35e1c5f1c7f91d98eeee40c9ed9ce8a549d396725f4eab1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53178ccb96116618b84d2b1da28f461a85bc6867668543b0bb55b8afb6df2b1b
MD5 adfe625d8bff809d87714b515188e7cd
BLAKE2b-256 4c66fbb86c9975355f2390ccac4fe2966a2932df1661abfe7310c3efcd802545

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63cd8ac3804ffb76a2f000be7acd751fb963f713cdad095f1f5e6c52f9440ca7
MD5 f959cb9c1db905bdd7d9a2917f7785ae
BLAKE2b-256 2b3fc73049f3ee54d0dfc57a66ce8f23834b2467065a7b36506d33b767f72953

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c66da4a363ad2f02bb41c41ddf005d5e27429dea69cf903c119b161b28bda206
MD5 878c85a25efdb16b193c71003d25d08e
BLAKE2b-256 72bee937abe5004d2042e8bacfba7c58c057e2d2b3f03a299b436054d48cb090

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 622.7 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.18.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b0464d5f5532dca6b00e30599ae183822c4e5fb2ae87bec5a5ce5b10535d1c80
MD5 a8d5d12e883f9399c41e6bd34768744a
BLAKE2b-256 9a1f95c5f15023ba0d0212b52357d4ac3c9c312627f30a7a0459dfa43a050dd1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastremap-1.18.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 434.0 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.18.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 6b985a6c2f21893b839522e5544fcf4c2853aaf658ee1402574daf456dda876e
MD5 e16df1f33e91e108f959a009fed6ae42
BLAKE2b-256 c6d653a8837f72db04f882d83a1fc15788ab3828b37ead037bf492d9f239d09b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc66ae9ecbb80fc11a4c7d7d761809332d17d79b819fbb68df28d0e31a66096e
MD5 d316945b60d9325f842dc25f4a6bc7be
BLAKE2b-256 f66d2be598119baec15ea98354fa505678414b511bb8a9f86f70e37195c5db39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 592ff3bb06c2cdd6c137313886cf4738f488588adc6a6e7457b019011c4508c8
MD5 611928babad92d9a0e730c7331e1ff44
BLAKE2b-256 067d01cb3e92645c7ba8f078dc93a3ee2c7d683deadf513c51e1803c582b4c8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastremap-1.18.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28f75b8e5dd4ced2cf16d4ee0e18132c67e13e1c126baaea94d22eb9e62c7bc9
MD5 c88d45034eba7d51a20730bfc12a51c6
BLAKE2b-256 6bc8d719bfc3c0e0a4050b3470e6a5d92c2f8bce50d032f5489c4959aa25070e

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