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.4

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.4-cp312-none-win_amd64.whl (289.3 kB view details)

Uploaded CPython 3.12Windows x86-64

constriction-0.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (396.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

constriction-0.3.4-cp312-cp312-macosx_11_0_arm64.whl (353.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

constriction-0.3.4-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (687.6 kB view details)

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

constriction-0.3.4-cp312-cp312-macosx_10_7_x86_64.whl (356.4 kB view details)

Uploaded CPython 3.12macOS 10.7+ x86-64

constriction-0.3.4-cp311-none-win_amd64.whl (291.8 kB view details)

Uploaded CPython 3.11Windows x86-64

constriction-0.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

constriction-0.3.4-cp311-cp311-macosx_11_0_arm64.whl (354.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

constriction-0.3.4-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.0 kB view details)

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

constriction-0.3.4-cp311-cp311-macosx_10_7_x86_64.whl (359.7 kB view details)

Uploaded CPython 3.11macOS 10.7+ x86-64

constriction-0.3.4-cp310-none-win_amd64.whl (291.8 kB view details)

Uploaded CPython 3.10Windows x86-64

constriction-0.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

constriction-0.3.4-cp310-cp310-macosx_11_0_arm64.whl (354.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

constriction-0.3.4-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.0 kB view details)

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

constriction-0.3.4-cp310-cp310-macosx_10_7_x86_64.whl (359.6 kB view details)

Uploaded CPython 3.10macOS 10.7+ x86-64

constriction-0.3.4-cp39-none-win_amd64.whl (291.9 kB view details)

Uploaded CPython 3.9Windows x86-64

constriction-0.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

constriction-0.3.4-cp39-cp39-macosx_11_0_arm64.whl (355.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

constriction-0.3.4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.3 kB view details)

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

constriction-0.3.4-cp39-cp39-macosx_10_7_x86_64.whl (359.6 kB view details)

Uploaded CPython 3.9macOS 10.7+ x86-64

constriction-0.3.4-cp38-none-win_amd64.whl (291.9 kB view details)

Uploaded CPython 3.8Windows x86-64

constriction-0.3.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

constriction-0.3.4-cp38-cp38-macosx_11_0_arm64.whl (355.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

constriction-0.3.4-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.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.4-cp38-cp38-macosx_10_7_x86_64.whl (359.4 kB view details)

Uploaded CPython 3.8macOS 10.7+ x86-64

constriction-0.3.4-cp37-none-win_amd64.whl (291.9 kB view details)

Uploaded CPython 3.7Windows x86-64

constriction-0.3.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

constriction-0.3.4-cp37-cp37m-macosx_11_0_arm64.whl (354.7 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ ARM64

constriction-0.3.4-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.1 kB view details)

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

constriction-0.3.4-cp37-cp37m-macosx_10_7_x86_64.whl (359.7 kB view details)

Uploaded CPython 3.7mmacOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 289.3 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.4-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 4f68ddee5dabe2a3c68d2b89cfd9a304a19221f12b42572ce063ece93ebcd00f
MD5 9ba1a8e8ec3dd290c011b7f61a32a781
BLAKE2b-256 959a55a7c925f589d6ed234961078038b06cdb9155070cbfac22e5a9bc6202e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 396.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.1

File hashes

Hashes for constriction-0.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37ea47e176c03ca9ff15e265c2e5b9d3cdf760dbe80891843441f2fb93978e0b
MD5 500f8169964e1574cddfdbc3801fa2da
BLAKE2b-256 ff7c07841c519af9ea2705a89f430a96ca845e7ff020aa314415416f8ab1c23d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 353.6 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.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cebcce48454412b6a08748661222365bc9cf022d9a4c116df8b0feda47c9d84
MD5 608d7243f5a031fb46e2df62ee30f97f
BLAKE2b-256 b1e043d70f52480468369def0d8a93da7a2a88a2731bfc704d87b9870a0088a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 687.6 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.4-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1707ed103138c2f1845ae4aaf14415fc5585c4a089afc20236af6041bce8d490
MD5 b9e0e61b856ad1a0c238587f406980f3
BLAKE2b-256 6b9d41de6fee17642dece1759c25ca6ccdee8a60e3b285d09342bf69b12d1876

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp312-cp312-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 356.4 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.4-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 98982e71692f3583952ee76e0f698fe9bf5c34060a720f0111567462e35c045d
MD5 143de4c584c6baf3aafa2d9214eefc48
BLAKE2b-256 2d088722a09de7f215aef272b8f504221018c768fc98fa20fc7541b90cfc60f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 291.8 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.4-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 e233c13f952f2226b79d6633bc6d94f0f6195e2c22894d7720a0874269ebfb0a
MD5 4cb80dad9eda8ca201f0e9797c57ccfd
BLAKE2b-256 ca140659a25435a949ee88895963f4f42d1428a1fa58efc56dbfbdea60c37d67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.0 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.1

File hashes

Hashes for constriction-0.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 957dbf1a0db35539f280e4d845b8673e6c5533d17f78a342f4329e7b973b58c9
MD5 31e3520622d2d05ede8bc9627f92953d
BLAKE2b-256 e31d4ae137826914706dffa74b3ee37578886fe8cd62913b993ee1b2bdbc375c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 354.7 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.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99b6a6c3784032a000efbcd2c5788add2293e56e61ff4a88c8a4ecb02e591b2c
MD5 56439d9a2caff569d440455e9f9bcc1f
BLAKE2b-256 ef5534f5cf4cb98e66d1d57aeaf5a27183facd83f0d220d65ce2fda4c598e1e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.0 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.4-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 415e9e10836669aebc1a0ea65eae994ee287baafcbd723a1b274056cbe963e5d
MD5 c5cacae15ee28f62ddc5effd380122b5
BLAKE2b-256 9d9609e93e237e9d74955f86f41ec98bba96b63b66b7079795ca9b69356f83c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp311-cp311-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.7 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.4-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 1c636f22a3ec25485c4709353d23270d6ffcf3672f821c1095fa00ebfd50df1b
MD5 078ab015b1feea6f3ef4fd01eb6140b5
BLAKE2b-256 9c88bffb75975c17f63a4276de2aa8c7f321e58b04bd7aab93f9815fae0a4ffc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 291.8 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.4-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 05412471e7e3c2f984ea97e448aa242f0c01c67fcfe8253e7af4db2bfb33fbaf
MD5 735ec20d018206dd2011164249531d15
BLAKE2b-256 bd7e28a617f6704ab5a12895f59b94112e820b7f99f37c14e2f69b842593c827

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 399.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.1

File hashes

Hashes for constriction-0.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 917fdd88e5da9a75d82317d5f9a4c39e88064939db94b062295d5364e0bf29b6
MD5 62fb66d8e4bbdeebe8aec15b052da866
BLAKE2b-256 4268d82bc09d28e5015d3db865318b24db220e43a635c03573b71691a8713d32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 354.6 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.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb25c9ecd12e5021463861307e38ca08cd098c2485a61742c73efe72d7cb72b6
MD5 b69fe7200cbae0567c711494af52d551
BLAKE2b-256 dd38d6841eaadb1e1fb0a8c5693ac99566a38cc72d92e34624f1bf9987519e8b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.0 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.4-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d59633b06f191fed5cb47b620f83292750cc8998778fd187cd3b5f85182bd980
MD5 74b972cfe11c76e2be3433602630bbdc
BLAKE2b-256 c84d3979e6268039e4381ffa9368c25f1a42d88f9efdb0a7563d9571b0fd5475

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp310-cp310-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.6 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.4-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 7e691e2f6d03cf37f96519bd6e6dd6bcfbc8f8c10e539716f7a0f2c2675dfe8e
MD5 42097f91432a155927d82f8d25bc78cb
BLAKE2b-256 d241927e2027fb6bbeadb09802ac4a152f797a82d18b7d64f666c7e46e5c5046

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 291.9 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.4-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 ce3033e78990787bdaf2078551d78e9f45223b0e928e0337b84d3ab5aa70aec7
MD5 094c2a288624269df3ed0778002f843d
BLAKE2b-256 9eaee1a18a2e7017c5b69747f0c95db8b8690939e8c9ae27fdbd304f6927ea41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.1 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.1

File hashes

Hashes for constriction-0.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e15fa65b4724242683faf3cbb4c912233da092127d6f1e38e6b896ef403d8c5
MD5 146df9a96ec750f6c97403ff10d3e568
BLAKE2b-256 af5c852cde2c07b554c84599ab927bdb085d43edec1e59ec2042fd2564b2f8bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 355.0 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.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 242a0953086fc1e870e7927ac070d9a1c202f6a0d339a15be2b56be7e8a1ba0d
MD5 f67de9894c7c51c29033739d5433bd50
BLAKE2b-256 f20cfb33f5a55b6bdbdd1c5c1ca323d8b6baae692ffa2abcb3402806b4050051

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.3 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.4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e3231b9df4ccd10f62827b347cf583ace431d66e4d446146872835dc964daf2f
MD5 7000d50c52e6ce149ad1c55b820ef997
BLAKE2b-256 dc53136051ae186dcf28f2adb17583d071b2b201ab4d299406625457c5796299

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp39-cp39-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.6 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.4-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 7b970a1e7a41464ad2eaaee7f2a603c962187a276a4485e28a41fb7eaccd93ff
MD5 7ff1c32fe3661aeadb0f10d8c2158bc1
BLAKE2b-256 22e0ff0bde0d030f1570a076e67de16d34746892384b95826ec2c19b40ac78d4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 291.9 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.4-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 66d4cf80c6b8f4507ba488bc8cccfb298778f6cc99af15efa272b1c662587ecd
MD5 cafe17aff43983b0bf3c2aa8b475735e
BLAKE2b-256 6f59b448bdefaef741f9266c29f4271e23c6f8c78693dfa3e3656ce8a8a23a1b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.4 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.1

File hashes

Hashes for constriction-0.3.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76d56c00bfd60a5994ad5e543333f7627d756c704875b8803f84a7134f8beb8e
MD5 0226fb115837b7ddbd4abe89abad50ce
BLAKE2b-256 37a126920ca238d935a4a159f754fa985865b06421ba7a877647f90073060b60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 355.1 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.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 246089746d966fca8e576fd96800ea0ba6547ca7b887dbf97c9541d8bd768e21
MD5 e411b05f43147dd619a4244958f7daaf
BLAKE2b-256 b6c4a9520740efb085bfc883f63debce8110309c66ff450232ea094ea037f10a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.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.4-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 521cb7348a00ac982e5327918a39666efc9dba317db0d02cb89ebbecb1438725
MD5 d89a56712a57625bd004ecc888c724f1
BLAKE2b-256 58729aae6b8ce7b2a51a37fc025a498cfe3ebc118516f5bec3a3189f5ae3cd56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp38-cp38-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.4 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.4-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 84e667903fc453ab4c940d45864d873f4962f8763d6a65a844119112dafaed8c
MD5 cffd91a392e5869ce88fefe4e4abed44
BLAKE2b-256 ae366eaf12eccd1cd222a7c93ad237333f8a954cc19a168a5f3ffad820571a59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 291.9 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.4-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 0b9223bfd93fd8a227bdc111e2a2c7fb9f39e4fd41a695a2d02de0115b33e36c
MD5 95bf407fba07d35a2c42b783caa5f8b6
BLAKE2b-256 9b97fa37db97c95567450e861493df97b2d330e43bfc31a2c830f658d220b5eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 399.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.1

File hashes

Hashes for constriction-0.3.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e1de13d55f8bd88056b8239a3eff3fa28505321b00f497b65bb465a29a025ab
MD5 90d744b631e9e803950663db16315155
BLAKE2b-256 2a2f966a9829e52d6df830d4982282d49758f6a10fb363bf03f8d7873d599dd2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp37-cp37m-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 354.7 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.4-cp37-cp37m-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3ddba590b28a1308f36f627a3df83e0a3ee8ae91b37365fd43dcb0950c0e36e
MD5 33b5d1693e0eb64d2020b77558cd56c1
BLAKE2b-256 3a91190af92d7e76fb9f7e5d065856183510c9cfbf61b114016dc25377b5a621

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.1 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.4-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2a10e5eeb3abe801b6bfb32f4ad2db89803655e3d3600d851f2e2a747a1b6973
MD5 c72b090d085d4024c7be3b4b7bdd3a6f
BLAKE2b-256 de1334dd06c6ce4d2eb72dffbdd2f7f0384352082410f6f9fed8ee26e3d1bfac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.4-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.7 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.4-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d2f9d45eb484c5747cfea24d8aed333747bf5cf93f48cf4814081983b8f06f50
MD5 bb1908a0bf1733f0322e15d22bf75065
BLAKE2b-256 ba6b70dac01bdf2d81f974e84a2166b346fc6d76cf3f25a7c6cab072db3a55ca

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