Skip to main content

Entropy coders for research and production (Rust and Python).

Project description

Entropy Coders for Research and Production

The constriction library provides a set of composable entropy coding algorithms with a focus on correctness, versatility, ease of use, compression performance, and computational efficiency. The goals of constriction are three-fold:

  1. to facilitate research on novel lossless and lossy compression methods by providing a composable set of primitives (e.g., you can can easily switch out a Range Coder for an ANS coder without having to find a new library or change how you represent exactly invertible entropy models);
  2. to simplify the transition from research code to deployed software by providing similar APIs and binary compatible entropy coders for both Python (for rapid prototyping on research code) and Rust (for turning successful prototypes into standalone binaries, libraries, or WebAssembly modules); and
  3. to serve as a teaching resource by providing a variety of entropy coding primitives within a single consistent framework. Check out our additional teaching material from a university course on data compression, which contains some problem sets where you use constriction (with solutions).

More Information: project website

Live demo: here's a web app that started out as a machine-learning research project in Python and was later turned into a web app by using constriction in a WebAssembly module).

Quick Start

Installing constriction for Python

pip install constriction~=0.3.2

Hello, World

You'll mostly use the stream submodule, which provides stream codes (like Range Coding or ANS). The following example shows a simple encoding-decoding round trip. More complex entropy models and other entropy coders are also supported, see section "More Examples" below.

import constriction
import numpy as np

message = np.array([6, 10, -4, 2, 5, 2, 1, 0, 2], dtype=np.int32)

# Define an i.i.d. entropy model (see below for more complex models):
entropy_model = constriction.stream.model.QuantizedGaussian(-50, 50, 3.2, 9.6)

# Let's use an ANS coder in this example. See below for a Range Coder example.
encoder = constriction.stream.stack.AnsCoder()
encoder.encode_reverse(message, entropy_model)

compressed = encoder.get_compressed()
print(f"compressed representation: {compressed}")
print(f"(in binary: {[bin(word) for word in compressed]})")

decoder = constriction.stream.stack.AnsCoder(compressed)
decoded = decoder.decode(entropy_model, 9) # (decodes 9 symbols)
assert np.all(decoded == message)

More Examples

Switching Out the Entropy Coding Algorithm

Let's take our "Hello, World" example from above and assume we want to switch the entropy coding algorithm from ANS to Range Coding. But we don't want to look for a new library or change how we represent entropy models and compressed data. Luckily, we only have to modify a few lines of code:

import constriction
import numpy as np

# Same representation of message and entropy model as in the previous example:
message = np.array([6, 10, -4, 2, 5, 2, 1, 0, 2], dtype=np.int32)
entropy_model = constriction.stream.model.QuantizedGaussian(-50, 50, 3.2, 9.6)

# Let's use a Range coder now:
encoder = constriction.stream.queue.RangeEncoder()         # <-- CHANGED LINE
encoder.encode(message, entropy_model)          # <-- (slightly) CHANGED LINE

compressed = encoder.get_compressed()
print(f"compressed representation: {compressed}")
print(f"(in binary: {[bin(word) for word in compressed]})")

decoder = constriction.stream.queue.RangeDecoder(compressed) #<--CHANGED LINE
decoded = decoder.decode(entropy_model, 9) # (decodes 9 symbols)
assert np.all(decoded == message)

Complex Entropy Models

This time, let's keep the entropy coding algorithm as it is but make the entropy model more complex. We'll encode the first 5 symbols of the message again with a QuantizedGaussian distribution, but this time we'll use individual model parameters (means and standard deviations) for each of the 5 symbols. For the remaining 4 symbols, we'll use a fixed categorical distribution, just to make it more interesting:

import constriction
import numpy as np

# Same message as above, but a complex entropy model consisting of two parts:
message = np.array([6,   10,   -4,   2,   5,    2, 1, 0, 2], dtype=np.int32)
means   = np.array([2.3,  6.1, -8.5, 4.1, 1.3], dtype=np.float64)
stds    = np.array([6.2,  5.3,  3.8, 3.2, 4.7], dtype=np.float64)
entropy_model1 = constriction.stream.model.QuantizedGaussian(-50, 50)
entropy_model2 = constriction.stream.model.Categorical(np.array(
    [0.2, 0.5, 0.3], dtype=np.float64))  # Probabilities of the symbols 0,1,2.

# Simply encode both parts in sequence with their respective models:
encoder = constriction.stream.queue.RangeEncoder()
encoder.encode(message[0:5], entropy_model1, means, stds) # per-symbol params.
encoder.encode(message[5:9], entropy_model2)

compressed = encoder.get_compressed()
print(f"compressed representation: {compressed}")
print(f"(in binary: {[bin(word) for word in compressed]})")

decoder = constriction.stream.queue.RangeDecoder(compressed)
decoded_part1 = decoder.decode(entropy_model1, means, stds)
decoded_part2 = decoder.decode(entropy_model2, 4)
assert np.all(np.concatenate((decoded_part1, decoded_part2)) == message)

You can define even more complex entropy models by providing an arbitrary Python function for the cumulative distribution function (see CustomModel and ScipyModel). The constriction library provides wrappers that turn your models into exactly invertible fixed-point arithmetic since even tiny rounding errors could otherwise completely break an entropy coding algorithm.

Exercise

We've shown examples of ANS coding with a simple entropy model, of Range Coding with the same simple entropy model, and of Range coding with a complex entropy model. One combination is still missing: ANS coding with the complex entropy model from the last example above. This should be no problem now, so try it out yourself:

  • In the last example above, change both "queue.RangeEncoder" and "queue.RangeDecoder" to "stack.AnsCoder" (ANS uses the same data structure for both encoding and decoding).
  • Then change both occurrences of .encode(...) to .encode_reverse(...) (since ANS operates as a stack, i.e., last-in-first-out, we encode the symbols in reverse order so that we can decode them in their normal order).
  • Finally, there's one slightly subtle change: when encoding the message, switch the order of the two lines that encode message[0:5] and message[5:9], respectively. Do not change the order of decoding though. This is again necessary because ANS operates as a stack.

Congratulations, you've successfully implemented your first own compression scheme with constriction.

Further Reading

You can find links to more examples and tutorials on the project website. Or just dive right into the documentation of range coding, ANS, and entropy models.

If you're still new to the concept of entropy coding then check out the teaching material.

Contributing

Pull requests and issue reports are welcome. Unless contributors explicitly state otherwise at the time of contributing, all contributions will be assumed to be licensed under either one of MIT license, Apache License Version 2.0, or Boost Software License Version 1.0, at the choice of each licensee.

There's no official guide for contributions since nobody reads those anyway. Just be nice to other people and act like a grown-up (i.e., it's OK to make mistakes as long as you strive for improvement and are open to consider respectfully phrased opinions of other people).

License

This work is licensed under the terms of the MIT license, Apache License Version 2.0, or Boost Software License Version 1.0. You can choose between one of them if you use this work. See the files whose name start with LICENSE in this directory. The compiled python extension module is linked with a number of third party libraries. Binary distributions of the constriction python extension module contain a file LICENSE.html that includes all licenses of all dependencies (the file is also available online).

What's With the Name?

Constriction is a library of compression primitives with bindings for Rust and Python. Pythons are a family of nonvenomous snakes that subdue their prey by "compressing" it, a method known as constriction.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

constriction-0.3.2-cp312-none-win_amd64.whl (292.7 kB view details)

Uploaded CPython 3.12Windows x86-64

constriction-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

constriction-0.3.2-cp312-cp312-macosx_11_0_arm64.whl (356.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

constriction-0.3.2-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (693.5 kB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

constriction-0.3.2-cp312-cp312-macosx_10_7_x86_64.whl (360.0 kB view details)

Uploaded CPython 3.12macOS 10.7+ x86-64

constriction-0.3.2-cp311-none-win_amd64.whl (295.6 kB view details)

Uploaded CPython 3.11Windows x86-64

constriction-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (405.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

constriction-0.3.2-cp311-cp311-macosx_11_0_arm64.whl (357.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

constriction-0.3.2-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (698.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

constriction-0.3.2-cp311-cp311-macosx_10_7_x86_64.whl (364.4 kB view details)

Uploaded CPython 3.11macOS 10.7+ x86-64

constriction-0.3.2-cp310-none-win_amd64.whl (295.9 kB view details)

Uploaded CPython 3.10Windows x86-64

constriction-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (404.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

constriction-0.3.2-cp310-cp310-macosx_11_0_arm64.whl (357.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

constriction-0.3.2-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (698.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

constriction-0.3.2-cp310-cp310-macosx_10_7_x86_64.whl (364.2 kB view details)

Uploaded CPython 3.10macOS 10.7+ x86-64

constriction-0.3.2-cp39-none-win_amd64.whl (296.3 kB view details)

Uploaded CPython 3.9Windows x86-64

constriction-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (404.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

constriction-0.3.2-cp39-cp39-macosx_11_0_arm64.whl (357.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

constriction-0.3.2-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (697.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

constriction-0.3.2-cp39-cp39-macosx_10_7_x86_64.whl (363.9 kB view details)

Uploaded CPython 3.9macOS 10.7+ x86-64

constriction-0.3.2-cp38-none-win_amd64.whl (295.6 kB view details)

Uploaded CPython 3.8Windows x86-64

constriction-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (405.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

constriction-0.3.2-cp38-cp38-macosx_11_0_arm64.whl (357.8 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

constriction-0.3.2-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (699.1 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

constriction-0.3.2-cp38-cp38-macosx_10_7_x86_64.whl (364.7 kB view details)

Uploaded CPython 3.8macOS 10.7+ x86-64

constriction-0.3.2-cp37-none-win_amd64.whl (295.6 kB view details)

Uploaded CPython 3.7Windows x86-64

constriction-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (405.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

constriction-0.3.2-cp37-cp37m-macosx_11_0_arm64.whl (357.9 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ ARM64

constriction-0.3.2-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (699.3 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

constriction-0.3.2-cp37-cp37m-macosx_10_7_x86_64.whl (364.8 kB view details)

Uploaded CPython 3.7mmacOS 10.7+ x86-64

File details

Details for the file constriction-0.3.2-cp312-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 292.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 5c90f06a4398bbe98a931cd54b2334db30281b1f5bce582faef8ffd8e2405388
MD5 774da8a9f4a9c1f57fc1475410e69284
BLAKE2b-256 382659361b61e6fbf635df189a66512cd3749e6012aa47854dc7b85e0836b2d6

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.7 kB
  • Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9de17bee016121d425d746bdb819e31fcaf2147a082fb9eb156da0ae70b50c8d
MD5 6daba1af853c4c354a2d27c11dd83239
BLAKE2b-256 41573e25464b2be02bb72aff07ca2450347615f25bc47d4290606cbeb23692de

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 356.8 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0d9c79b43df75a447399b6458eb7f2b41a809ca54d66b73dd71939d1b88516c
MD5 c518d239292bc64fe188e65deb5a165f
BLAKE2b-256 74f66de1912b0748bcf1739289c9dc80d4cbe87636bde270b13d765b93515e70

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

  • Download URL: constriction-0.3.2-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 693.5 kB
  • Tags: CPython 3.12, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 13b705dfc9b0966ebb158cea02161e895d5338bcdb66ae19bf6a59c1c8fc107d
MD5 568a52632ddc4fc95cbdd0e23b0cd8cc
BLAKE2b-256 fae3ba7811df2ddc103eb77093330ed055f364d9de88414896cc6c42f53a7b65

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp312-cp312-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp312-cp312-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 360.0 kB
  • Tags: CPython 3.12, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9da633407fa743206f7abbce34ed3a83d0f5382406142d9851597d4bf95f899b
MD5 5af4385b77514abf3e6afe0b229e1005
BLAKE2b-256 02d3ba23c82f4ff5f3ea8570322533340eb15716d5c314433049f72fd0ddea12

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp311-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 295.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 7156a2fcc81dd7303919bf46ec0921471e6143aa6d40790ab53c35ed890ac9e0
MD5 37ea6d1cca1807e92c4eb52f2cb455bc
BLAKE2b-256 3c9227e67d23bf76e18b0c0a33335f01ce3ee8c08439c9ef05a951a337234580

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 405.1 kB
  • Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 269cd221c4aaba1eeb4cc8598f625952b60a3100efc05fbf9daf177328e2cc6c
MD5 d4584384c9c705292b2506990e6a4f89
BLAKE2b-256 60d63e59542fe0ddd6f55141b9240f8b01252d8a3706ee08136bb3512af0ab95

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 357.5 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25536aedfb97d03179fc1f895eaca9007950d85b35a46c4bfcafc55dfa714fc9
MD5 bb400985c3ba3297df4a1644975a7052
BLAKE2b-256 ba695a474e2689723e8c58701bef5fe0f28ea95926552e72417d4c343b773212

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

  • Download URL: constriction-0.3.2-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 698.4 kB
  • Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c9631521913ff4e8e2a5ada622e9dce49e8a0a2105140f05133de2313c84c917
MD5 53baee6edf4a05363ad83b6b4547eb0d
BLAKE2b-256 5c471614a6e4c03dd27a5bbca1b5afcf1d46d29c526abcaad274b106e704a0bb

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp311-cp311-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp311-cp311-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 364.4 kB
  • Tags: CPython 3.11, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 0ec1f854193685e91ef0295db720f7ead0ba9e477206d7caaff604734a4688ea
MD5 d1fc734d1ad520029a29d78b7c2f47f5
BLAKE2b-256 b86caaf3b7afc3e9ccb8fc62f4b2def864c8e275b719a1a35fe7574cd8898570

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp310-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 295.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 972feaaa8fa2fb6fd9873dfd3f160c86da0bd0bd85536fed3a8717741bc26fa3
MD5 b9f60c69de54d07e20259818cc3ac420
BLAKE2b-256 d054eb06c9bde48896ad8ea7ad54933d86036b46d51cf38de2686a756e888d72

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 404.9 kB
  • Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e697af36f68b23c51785e02a5246628b607eeba6225d416f2142f7d438cbe7b3
MD5 bab437ba8d2cb63106013ee964e37f53
BLAKE2b-256 53cb8a378f5b97b0cf37e016431e684b9918d15dbfd53f72b12ccc5abf546ac3

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 357.5 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0cc37f78d38a29b7cf3d4a5e18d0815b60517cbf3afe55251fec7473655589c
MD5 68d2b74d91bea49ba571e972db8cb2b3
BLAKE2b-256 1fe7ff071b9dc70f9e69cefef202e0d177b5e9df41aa7cd7618768c1e658e157

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

  • Download URL: constriction-0.3.2-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 698.2 kB
  • Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 52a11d68a2adf964b1bfd9ab6334bcd48807461023bf55fc8d6385f2645455d2
MD5 d968e5d465869548aa9acfe41f8414ec
BLAKE2b-256 6918c314e7aadd7688dbbaf6d42ce59c1d1855af14a0279c912020cb144bad06

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp310-cp310-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 364.2 kB
  • Tags: CPython 3.10, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 76af93a6bd538c83d983a7dd32dcc0cefb765b4d2908e51166be36016079324e
MD5 f1f46449d78e2bccd5453659cde42fba
BLAKE2b-256 3dd9eba5c0eb3ef127828ee44aa4581d11645624b2e146c256aa734929a4f8c9

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp39-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 296.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 11ad465355a6313bef235cef3cfc615a077fd4820e279ee3b9acfd9eb497d2b9
MD5 58cacfec0f9e77ac69441430c77ec767
BLAKE2b-256 c39c6a1600cd68139fbdf5c3bb60afa257a02a872d2bf2eb466e709d3dd19a91

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 404.9 kB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13b64d3765afb46c0ab0c37574bed42e8d48ab3be0d907c26ae83b266bac4c5a
MD5 6001a10ce43f5390e3f213abf908f563
BLAKE2b-256 3d7450bbac9486b4442190b46028038fcfc35b64f35223fc3e2de8ec3ea42ff3

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 357.2 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b22270bdf48438ba5e2678b598bcaf4796b1d2604b01047229a121fd1c9ef62d
MD5 8ae47768a096137cf75d13527cdadee6
BLAKE2b-256 f634ca19382fc88323f4a5c4e3f4894ab97113cb168cab97905058b088d4080c

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

  • Download URL: constriction-0.3.2-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 697.7 kB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d45d4bacee707c775d4cd025460f926dba522a58c3830d86abfb1a1cdf6f0178
MD5 cd27020a85c841e51e888d2a4435040e
BLAKE2b-256 acefb27dc57e22469aa44314a70ea1f776a8072c3c4e6d149e9fdeefdedaa859

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp39-cp39-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 363.9 kB
  • Tags: CPython 3.9, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4fe8c954ff555052992e1089a07aecc39c66833e8891e9a2555b091295f58003
MD5 4a774b9068d34ee5f2137e2e39c44018
BLAKE2b-256 8c9f3dcbb782db3ef3e13e3c9fc2254b83a92676145382ca012ddf1c0f495a26

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp38-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 295.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 a7ce1bf3144def9768961fc0eca63b724ca6da4eedf32d197dc28ebcfcc8c3c0
MD5 6c9116def06d8daaaa99ba5034d8099c
BLAKE2b-256 4371187bf7f8395cd499196533c58c0be51cede8aa3a104f880e825bd21d470e

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 405.5 kB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3faa8cc53b59be1c09487854c7883fc169a16c0404717b299c365d34727ec8ff
MD5 cf7d0043aba7306ff42bcb7e212d6558
BLAKE2b-256 0114f9fda3d1ceb9c62b4af38e944d88dac1d618977a6edfef5af44e8b1eaf2a

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 357.8 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4173202a8154436381165d6334d3b390e46e7cb751b8661d3d1320e0e3d70dbe
MD5 3b2cb7e2f28ddc71b5d16d99852cef0d
BLAKE2b-256 228b3098a5e7245347f731a4652359e3e587ebbbee50702443b1d21ac9d13fe5

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

  • Download URL: constriction-0.3.2-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 699.1 kB
  • Tags: CPython 3.8, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5822aa9772c740f1c3d26346d2fe884292a5437fee285796216d73f92fc8286b
MD5 e2a6369d9557836fbe26c78df37639b9
BLAKE2b-256 f7162c07cab9dae163d45119a563fc45170dd899cd70295bbd3fd2d8a1c8f3f4

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp38-cp38-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 364.7 kB
  • Tags: CPython 3.8, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 3b6ab72184c2963c76e509ea065b7479561545083ec7c7109b36eb82673e93f0
MD5 4b7333ab5c6c668decd62241c8189cfc
BLAKE2b-256 5a921299bca0d1a1e19bdf883ed71c353b9f99a76c5f9ed09bcff7f0c69fef95

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp37-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 295.6 kB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 592b3eede339893b41b475524a11bbdecf6261f8396485180f3a78de3851a5e3
MD5 67c7d532ffad1b5094d962f2c9984fa3
BLAKE2b-256 ec326fa7f8d4aff1566da6c665db2960c1ceb5a39a9dfcf63ad7ce518a204cc9

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 405.9 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8bf11228beab475482f6adaa94f57f1fddc567d53d32e47363e644153e3f2027
MD5 d5c6c1ec148f0271873b742b9b53fe6b
BLAKE2b-256 66cf8af2f477ce3727281f87c961967f6e5a284dd977602080942b5322179f37

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp37-cp37m-macosx_11_0_arm64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp37-cp37m-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 357.9 kB
  • Tags: CPython 3.7m, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp37-cp37m-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fa05ec8d8df7ca3647d8d17cee9cbf38f323661218b06c67e70a866473bc9c1
MD5 912ac2b6c79456b351aa8206125ca4c9
BLAKE2b-256 75249bebdc07d118decbac890c90163f8521923ce1de16e7c4d015a0d34a0475

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

  • Download URL: constriction-0.3.2-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 699.3 kB
  • Tags: CPython 3.7m, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d049f7bc0ad4d2e0e839974b75da9e95f20019006d6d3dcc5df30b5b75462136
MD5 cddba5add9eea73ad69859ef79fdb920
BLAKE2b-256 0eb521772711040061deca629a8fe44fb7b401ea6796cc8869504167f639490a

See more details on using hashes here.

File details

Details for the file constriction-0.3.2-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: constriction-0.3.2-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 364.8 kB
  • Tags: CPython 3.7m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.1 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.12.0

File hashes

Hashes for constriction-0.3.2-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 8129ac650eaee2e00aae2a5193a4e5fd56fb191a4bd3b5938702967fbd663960
MD5 b6470152ab21b5d4f20fcb39143fbb29
BLAKE2b-256 5fd6d5671cc25445950e86f6c17155a5ab1b2d73eaf2b6cbf4675216a4e15124

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