Skip to main content

Image pyramid generation specialized for connectomics data types and procedures.

Project description

Build Status PyPI version

tinybrain

Image pyramid generation specialized for connectomics data types and procedures. If your brain wasn't tiny before, it will be now.

import tinybrain 

img = load_3d_em_stack()

# 2x2 and 2x2x2 downsamples are on a fast path.
# e.g. (2,2), (2,2,1), (2,2,1,1), (2,2,2), (2,2,2,1)
img_pyramid = tinybrain.downsample_with_averaging(img, factor=(2,2,1), num_mips=5, sparse=False)

labels = load_3d_labels()
label_pyramid = tinybrain.downsample_segmentation(labels, factor=(2,2,1), num_mips=5, sparse=False))

Installation

pip install numpy
pip install tinybrain

Motivation

Image hierarchy generation in connectomics uses a few different techniques for visualizing data, but predominantly we create image pyramids of uint8 grayscale images using 2x2 average pooling and of uint8 to uint64 segmentation labels using 2x2 mode pooling. When images become very large and people wish to visualze upper mip levels using three axes at once, it becomes desirable to perform 2x2x2 downsamples to maintain isotropy.

It's possible to compute both of these using numpy, however as multiple packages found it useful to copy the downsample functions, it makes sense to formalize these functions into a seperate library located on PyPI.

Given the disparate circumstances that they will be used in, these functions should work fast as possible with low memory usage and avoid numerical issues such as integer truncation while generating multiple mip levels.

Considerations: downsample_with_averaging

It's advisable to generate multiple mip levels at once rather than recursively computing new images as for integer type images, this leads to integer truncation issues. In the common case of 2x2x1 downsampling, a recursively computed image would lose 0.75 brightness per a mip level. Therefore, take advantage of the num_mips argument which strikes a balance that limits integer truncation loss to once every 4 mip levels. This compromise allows for the use of integer arithmatic and no more memory usage than 2x the input image including the output downsamples. If you seek to eliminate the loss beyond 4 mip levels, try promoting the type before downsampling. 2x2x2x1 downsamples truncate every 8 mip levels.

A C++ high performance path is triggered for 2x2x1x1 and 2x2x2x1 downsample factors on uint8, uint16, float32, and float64 data types in Fortran order. Other factors, data types, and orderings are computed using a numpy pathway that is much slower and more memory intensive.

We also include a sparse mode for downsampling 2x2x2 patches, which prevents "ghosting" where one z-slice overlaps a black region on the next slice and becomes semi-transparent after downsampling. We deal with this by neglecting the background pixels from the averaging operation.

Example Benchmark

On a 1024x1024x100 uint8 image I ran the following code. PIL and OpenCV are actually much faster than this benchmark shows because most of the time is spent writing to the numpy array. tinybrain has a large advantage working on 3D and 4D arrays. Of course, this is a very simple benchmark and it may be possible to tune each of these approaches. On single slices, Pillow was faster than tinybrain.

img = np.load("image.npy")

s = time.time()
downsample_with_averaging(img, (2,2,1))
print("Original ", time.time() - s)

s = time.time()
out = tinybrain.downsample_with_averaging(img, (2,2,1))
print("tinybrain ", time.time() - s)

s = time.time()
out = np.zeros(shape=(512,512,100))
for z in range(img.shape[2]):
  out[:,:,z] = cv2.resize(img[:,:,z], dsize=(512, 512) )
print("OpenCV ", time.time() - s)

s = time.time()
out = np.zeros(shape=(512,512,100))
for z in range(img.shape[2]):
  pilimg = Image.fromarray(img[:,:,z])
  out[:,:,z] = pilimg.resize( (512, 512) )
print("Pillow ", time.time() - s)

# Method     Run Time             Rel. Perf.
# Original   1820 ms +/- 3.73 ms    1.0x
# tinybrain    67 ms +/- 0.40 ms   27.2x 
# OpenCV      469 ms +/- 1.12 ms    3.9x
# Pillow      937 ms +/- 7.63 ms    1.9x

Considerations: downsample_segmentation

The downsample_segmentation function performs mode pooling operations provided the downsample factor is a power of two, including in three dimensions. If the factor is a non-power of two, striding is used. The mode pooling, which is usually what you want, is computed recursively. Mode pooling is superior to striding, but the recursive calculation can introduce defects at mip levels higher than 1. This may be improved in the future.

The way the calculation is actually done uses an ensemble of several different methods. For (2,2,1,1) and (2,2,2,1) downsamples, a Cython fast, low memory path is selected. (2,2,1,1) implements countless if. (2,2,2,1) uses a combination of counting and "instant" majority detection. For (4,4,1) or other 2D powers of two, the countless 2d algorithm is used. For (4,4,4), (8,8,8) etc, the dynamic countless 3d algorithm is used. For 2D powers of two, stippled countless 2d is used if the sparse flag is enabled. For all other configurations, striding is used.

Countless 2d paths are also fast, but use slightly more memory and time. Countless 3D is okay for (2,2,2) and (4,4,4) but will use time and memory exponential in the product of dimensions. This state of affairs could be improved by implementing a counting based algorithm in Cython/C++ for arbitrary factors that doesn't compute recursively. The countless algorithms were developed before I knew how to write Cython and package libraries. However, C++ implementations of countless are much faster than counting for computing the first 2x2x1 mip level. In particular, an AVX2 SIMD implementation can saturate memory bandwidth.

Documentation for the countless algorithm family is located here: https://github.com/william-silversmith/countless

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

tinybrain-1.2.0.tar.gz (382.1 kB view details)

Uploaded Source

Built Distributions

tinybrain-1.2.0-cp39-cp39-manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9

tinybrain-1.2.0-cp39-cp39-macosx_11_0_arm64.whl (685.5 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tinybrain-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl (778.0 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

tinybrain-1.2.0-cp38-cp38-win_amd64.whl (643.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

tinybrain-1.2.0-cp38-cp38-win32.whl (594.1 kB view details)

Uploaded CPython 3.8 Windows x86

tinybrain-1.2.0-cp38-cp38-manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.8

tinybrain-1.2.0-cp38-cp38-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

tinybrain-1.2.0-cp38-cp38-manylinux1_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8

tinybrain-1.2.0-cp38-cp38-macosx_11_0_arm64.whl (687.7 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

tinybrain-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl (767.9 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

tinybrain-1.2.0-cp37-cp37m-win_amd64.whl (624.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

tinybrain-1.2.0-cp37-cp37m-win32.whl (588.6 kB view details)

Uploaded CPython 3.7m Windows x86

tinybrain-1.2.0-cp37-cp37m-manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.7m

tinybrain-1.2.0-cp37-cp37m-manylinux2010_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

tinybrain-1.2.0-cp37-cp37m-manylinux1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.7m

tinybrain-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl (754.0 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

tinybrain-1.2.0-cp36-cp36m-win_amd64.whl (624.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

tinybrain-1.2.0-cp36-cp36m-win32.whl (588.6 kB view details)

Uploaded CPython 3.6m Windows x86

tinybrain-1.2.0-cp36-cp36m-manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.6m

tinybrain-1.2.0-cp36-cp36m-manylinux2010_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

tinybrain-1.2.0-cp36-cp36m-manylinux1_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.6m

tinybrain-1.2.0-cp36-cp36m-macosx_10_9_x86_64.whl (753.4 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file tinybrain-1.2.0.tar.gz.

File metadata

  • Download URL: tinybrain-1.2.0.tar.gz
  • Upload date:
  • Size: 382.1 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 tinybrain-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d75a7fd60c56d87cb6657e724874e97de321e8fec2c099ab5b8b2a421ef56f37
MD5 c999a44ad5747fd4d31a6eb6d6244a97
BLAKE2b-256 420bbc2f161630c0d63f8d6cfa2593bd24831f1aeffbcf16e2fa0ca564ff9d1d

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.9
  • 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 tinybrain-1.2.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6348f724e634726a21244998a06e00f309ff76935757e4b5843d960592deba3
MD5 4ab8b554ebf4eee87556c0fce1242a02
BLAKE2b-256 d7773f3b60d56eda0a3b4d1ec4c0775099d865e47bc23c73e18b77aaa792f2d2

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 685.5 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.1

File hashes

Hashes for tinybrain-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 778580ba4e1ca412b9e1922f61952a79d28c333e20bf5982dcff1a72f7afd141
MD5 1f80b1b99ce3e2eaf7655356f5de5fb2
BLAKE2b-256 3121f2008572b2ad6680e986203a045d23b486e055e0bf701731fefe9d843677

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 778.0 kB
  • Tags: CPython 3.9, 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 tinybrain-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 653129ae250f4d4934ce19144af03fbd4c34fdc477b9d0b8e22c3d8bf61c3e9b
MD5 d7e6509d91e03de43ef2651d74116cba
BLAKE2b-256 7996dc4efc30cd5f6b91faa9dae08b04c19e9d2a3cc0ee1b51aacbc8f6776984

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 643.9 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 tinybrain-1.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6a125bd66e0d13724bcd78022073494de5c0df8cd7a6748eb791a38c5abf92e0
MD5 15fe9f48d0b60de8b7397303d1746f7a
BLAKE2b-256 5abf786f82d9f0f0b2b396d9878876928d65874996c4d429981d8ee914764ac3

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 594.1 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 tinybrain-1.2.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 236f4598e240c9ebc4263a9e6d21d8a983aaad0913b91a0754e20279036d2442
MD5 d08a13c19bdd54dcfcf98fe796c08386
BLAKE2b-256 488bb255dfcfc7343d157b8d4e4994fe40c7249f394a5420da75900062d976d5

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.9 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 tinybrain-1.2.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f1a284a38eb9386e4cab8741fad2a299af388cd514cb19caff844518a9fad337
MD5 93d13d770e9376841c097e0fa7e7609b
BLAKE2b-256 520463538776c6d8716a042a583e83d064b20cb44b544ccdfeb07b8236763b05

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ 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 tinybrain-1.2.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 56cfb2f815427378e71997af67a8b91309cc2fd356304791be9c98a02b76d36a
MD5 7b75c7300bc19bed156bc3fd4af49588
BLAKE2b-256 48c2630f34c552d2b1e359356699f9a71b0cea30e69bbf90a2909024672e4b13

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.6 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 tinybrain-1.2.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bb31dedaeb23978d735462172722b6a5e765742e75f3bceecabd84b64436c759
MD5 8a8adb77a491e70869f5b84a569f3e5a
BLAKE2b-256 2ca545b90c01d9a218dbded439f5ee840d07c9000d88861fcca7b0ea2c558dcd

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 687.7 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for tinybrain-1.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e90c7645f8e2f1849312c7a7938fd07a0975e6ff235a844d052a0bb494941564
MD5 74ade250eaa0cdaf2fd184b9ae48a2af
BLAKE2b-256 20a0d5165707b9a87e10813236017954e3590ddbab9476ebefdf699de485b247

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 767.9 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 tinybrain-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba91d610ea2fede0b72a94a14045127fb81cc977ba90a8b57ec566ccbc877b74
MD5 e74e70ec752a115fc2e0d191aef0a954
BLAKE2b-256 9b4d22dd2fd2f75bca1c50d937c2e340227c6a36ecf60aa78e4be701dfa6f147

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 624.6 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 tinybrain-1.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5d0428373c35682cb49afac8402666b046121e19bb0b46cd27ca92d84455cbdf
MD5 7d17c9c0a220c705360247a311db79eb
BLAKE2b-256 f662be4578b4cf4a7c8f80fd6521cc718e1cb9e9d314e0dd8821f83f4bcaa16c

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 588.6 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 tinybrain-1.2.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 28ea8a0ff58ab5b705b64b2f612cc8c91dd8b4f2dd9133f629201a47448d9ea7
MD5 d1a199b169167ab89283783cbb3902f7
BLAKE2b-256 2159eceb5667abd0017e3381731d1dfd40ec89f06cdc3209ba795a9cecf70342

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.5 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 tinybrain-1.2.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48bf2249b27bebe3655f618afe4bd24747534c62327b866e02c4c7ffe482a9aa
MD5 80dc46f880e22b86a5f8dfd91e1e1b49
BLAKE2b-256 160515d002316ffda132c081276bd1ec150c7a5c317be1fb2ecab2b5aa2f161d

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ 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 tinybrain-1.2.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 12ace0a111b5ad9141656e7d1a0ea6f759458db9435082e289e9072280ed495c
MD5 0f368b590a335362d83907f83e008cdf
BLAKE2b-256 751fd70a5447d22ffd7ccccb80090f4d4fe7e75e8b45ad11390e31173451ebb0

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.1 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 tinybrain-1.2.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e66f4a6ba2e7380fea2b85d6d699fbb0fc2f5a532ae49a639869546f313b6aae
MD5 2ee1a11b45a4a56e23d72a31948cc1b5
BLAKE2b-256 8d567745fd13235e7e52203bd3108962f0052eb431cfadc5cf29da0388250a68

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 754.0 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 tinybrain-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8828b6e0f7278f985e95b0906d817d87de3e1e5dbc097c203fc46cc7a14e4110
MD5 bfdd8bbae21882db93764a616279286e
BLAKE2b-256 c3a31621dd1ea4f2dfa3ec112e12f145a134d235d5607f0c352dcceff8bf4da2

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 624.6 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 tinybrain-1.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3ccb2f0052a81cc0294437437ad5365ca84af59c729b5a30af6862f6d117dc12
MD5 7221e053c3fcad1f6acaada81719d99f
BLAKE2b-256 7ece5da72ca6e6a0b1d9deacfba99f013d5070a96b756b4dc614e98260843cdc

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 588.6 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 tinybrain-1.2.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 d74263643f3455aa79c3bc864c5e396e9e249faf60482628d62bb5d81a2143fc
MD5 e6695ac4b27e80f5bd3e530e798a81ff
BLAKE2b-256 5a2264e3c2ad3e8843f59af6f178a7c1dca27cab10fae25fe72e75b37fe58b12

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.5 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 tinybrain-1.2.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a75f7fe0011f4ea6e676cbbfb295bd745ec374107e49bb6969796340adac8fb
MD5 608eeec72cd389607536a2379b9da7de
BLAKE2b-256 c945b813a846b9257c431fc2a5fef83546fa307c4d69e9507ceed119d2c57fe9

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ 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 tinybrain-1.2.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a90b7e4ec6fb42870cd2af55570eb86860f3578108cfd0a17d866fd92508ec19
MD5 0a8c0330e548b1a7dbed12c93dadf12d
BLAKE2b-256 6012752039f99e0f1db347cd04901251d2321bd655b1a484d1705003ff3f3381

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.2 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 tinybrain-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5c9da9f7f70c935e6bd5a681442c716879f13b51302f5a2e136298fa6a4e83ec
MD5 9e35df1ca66647560c85787b4b05c82e
BLAKE2b-256 644ec1a6e6e0d4263aa7a9f9d542380004880d578b51832851465b455a536252

See more details on using hashes here.

File details

Details for the file tinybrain-1.2.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tinybrain-1.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 753.4 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 tinybrain-1.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8b8852bf3d7c2f3a4f21e2f13fcd08a3d0bf7b968dd4694a434481a518f51347
MD5 477bb67a1ef88398f6da93eac5948172
BLAKE2b-256 c501bb5ac7e747fdde3b63f15cd06aa64cf9ecc3f193fbacdf94189fe54baf3c

See more details on using hashes here.

Supported by

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