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

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

Uploaded CPython 3.12Windows x86-64

constriction-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (396.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

constriction-0.3.3-cp312-cp312-macosx_11_0_arm64.whl (353.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

constriction-0.3.3-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (688.0 kB view details)

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

constriction-0.3.3-cp312-cp312-macosx_10_7_x86_64.whl (356.9 kB view details)

Uploaded CPython 3.12macOS 10.7+ x86-64

constriction-0.3.3-cp311-none-win_amd64.whl (291.9 kB view details)

Uploaded CPython 3.11Windows x86-64

constriction-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

constriction-0.3.3-cp311-cp311-macosx_11_0_arm64.whl (355.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

constriction-0.3.3-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.2 kB view details)

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

constriction-0.3.3-cp311-cp311-macosx_10_7_x86_64.whl (359.6 kB view details)

Uploaded CPython 3.11macOS 10.7+ x86-64

constriction-0.3.3-cp310-none-win_amd64.whl (291.9 kB view details)

Uploaded CPython 3.10Windows x86-64

constriction-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

constriction-0.3.3-cp310-cp310-macosx_11_0_arm64.whl (355.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

constriction-0.3.3-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.1 kB view details)

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

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

Uploaded CPython 3.10macOS 10.7+ x86-64

constriction-0.3.3-cp39-none-win_amd64.whl (292.0 kB view details)

Uploaded CPython 3.9Windows x86-64

constriction-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

constriction-0.3.3-cp39-cp39-macosx_11_0_arm64.whl (354.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

constriction-0.3.3-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.4 kB view details)

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

constriction-0.3.3-cp39-cp39-macosx_10_7_x86_64.whl (359.9 kB view details)

Uploaded CPython 3.9macOS 10.7+ x86-64

constriction-0.3.3-cp38-none-win_amd64.whl (292.0 kB view details)

Uploaded CPython 3.8Windows x86-64

constriction-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

constriction-0.3.3-cp38-cp38-macosx_11_0_arm64.whl (355.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

constriction-0.3.3-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.3 kB view details)

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

constriction-0.3.3-cp38-cp38-macosx_10_7_x86_64.whl (359.7 kB view details)

Uploaded CPython 3.8macOS 10.7+ x86-64

constriction-0.3.3-cp37-none-win_amd64.whl (292.0 kB view details)

Uploaded CPython 3.7Windows x86-64

constriction-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

constriction-0.3.3-cp37-cp37m-macosx_11_0_arm64.whl (355.2 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ ARM64

constriction-0.3.3-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (692.4 kB view details)

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

constriction-0.3.3-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.3-cp312-none-win_amd64.whl.

File metadata

  • Download URL: constriction-0.3.3-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.3-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 bc7786a59afa205987f6dc10de8043eb4b3d6c62fec2744059730938001dc55e
MD5 a468f48088ef47ceea60d6f19be5c253
BLAKE2b-256 804706fa2b9642ef4166c032bbead85aa633bb37d9ce34c4aebba191b4a72022

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 396.5 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.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67aa0c0ee7d0d0df1a498729594e0e3ef9ab90b2b2805561d36d6ce4e3cd7bcd
MD5 5434e8edaf3647d83a81cb618982396c
BLAKE2b-256 2ddb1b67a13b199e0e7efdcaeac3bb79e80b1030442d56fa8b1f6eeb995864c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 353.5 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.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cf1f144da62e54fe20efe54e70324aafa915215628575394cf8d728f1c7ce69
MD5 dedae4a047cf1d25bf52d513a6316c01
BLAKE2b-256 12a66f237098c598102b17b084b7b5c70acae43913c77ad4302f27d57d59ebea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 688.0 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.3-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 71db9afcbcbebd91f4716f30c0c4fadc583af47926cba4227226473e614b64b9
MD5 933ac8ed8c0fdbdb9c1cc38f6ebb3f44
BLAKE2b-256 aa2cc8af5e6d0de2d2d7e2cca6c6cc91e506241b9815c372346ed9f7919689ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp312-cp312-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 356.9 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.3-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9a680b91dba342c59074c6cdcde77fd9ff748ef18abfb131e9c6080aa3b197d9
MD5 0a4e3d36817aa0b68da2de44a2aa0a6d
BLAKE2b-256 c19494a9330b864d92eff32caf900edc64ca2d0d6368bcbe4511c56470fda0f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 291.9 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.3-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 5d2146e9962785028e7e6c405dada06d3e7d4e0cb16ba3db35878dcb9ff129c1
MD5 030d942521bd474e220d5d53f8ab8b78
BLAKE2b-256 ff4135c0a0106b11d92cd015746ed9af0e5603c65016f4eb310da45315daeda4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 399.6 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.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6df287c587b52bee1986bef4f619973999ebb1052018efafaac8fb23a21abb11
MD5 f65918098f6023eda94ca08410ca5fcf
BLAKE2b-256 175285b42e1baf0028d553ddd5693b5c5c7289046ced5f47e4ac061f354658a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 355.0 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.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d4366572a63764ef64731d2d8d587b15823cc65e5a413cb53912066fe41e3b2
MD5 dad8c757ef8cd9bcd2e727db3dd72349
BLAKE2b-256 02f2eda061e407cc108ed2c84b6d61e0de3f87be68d1de0587fb0f95c03d149e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.2 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.3-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4fb32203f529383cf812128dc7d528ffeee139ec88515f146d7acd3b987b6e47
MD5 07700ba5d709d9e825bd1731b04b8b9d
BLAKE2b-256 7bc051e1bc5ce3dcea59dc3d2107d908ab5a089ba3642b885a4a8f552908babc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp311-cp311-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.6 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.3-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d9c66aebc612d320c36029164e0df0481338980f461ef09a69fbade7e343855c
MD5 8c4c764f4b273d5eaa1e0345ec3fb62f
BLAKE2b-256 a6530ff35e0f701fd1c7eab45e1abbaed0ec942a5d120fa2a307b057fc242658

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 291.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.3-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 56b9dd0e487dc5817e6a76fcc3411bbc0866db33334a65faf621908c2a5b3df6
MD5 c0b4f081a3c1842cc419fd2def41e563
BLAKE2b-256 b285251d76ef41b323a2fb21abe2e416d5ba63863c948f2394a21919e2787052

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 399.5 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.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 727e567bca1a209e62abb376b8f67bdf63cccc85b1496ac2954f9cdf5d4faa54
MD5 7850cf62a6843fdcf0160064172de8c5
BLAKE2b-256 a47c32ace94b0860ba5e209443eb37f0e178d0baad9eb705ccb58c5b236a8827

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 355.0 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.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe377640454293d3cee24a25ee3c950b5e560f6fb127668b6135eaade76870e1
MD5 9666f9b4cb3a3fc296520381377fd071
BLAKE2b-256 87bf29bb1a18a0a0a918ee892089382e44e1dfd27ae4d0bfd586a96182bab630

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.1 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.3-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8b874a50555682474a91ed0647bd55dbeda0e2327e4a9b827d73981463821d4b
MD5 3b2288513036a0349f8635736c56d27f
BLAKE2b-256 d7f77fd965ebde99b9e52a77e1163524bd8f89790ec1dce01d82679c040450c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-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.3-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a0c1e4c73aa1b4524ad69bb0a5c18b0680e5323a064a3ed45b090f18176efac0
MD5 d6d5da361a9c79323a54df5d36029944
BLAKE2b-256 5f671057928f1f25aec07490174f1b40a1db8f856c35a2137af0a2cabba5099c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 292.0 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.3-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 283c948787fdd9c02d5527566f062ab733bec72ccb098a086f2586ed79a79272
MD5 4c9430943b1ba4197ce7056f4a2c57f9
BLAKE2b-256 6e3d8180b44b272d5a64d658cb569a2d23cf12c38cdf54eb15889ed262e4ab78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.0 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.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec57010052e612973def0e7ca78afe8313533d08a8aab4b0bc98ebaa5ffb2208
MD5 5fba4eb18007d476cf5644854ae4894f
BLAKE2b-256 b9860777ad0ddd548a6b7a59d0ea024f5b9af4b1945d5816886b04f8c0311106

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 354.9 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.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0a09c555353886e0e6d185a226b728a072d27a400b58cc32425293c855d293c
MD5 c75b664e62e56eef1e624c715276320b
BLAKE2b-256 200c868700d2bba87dc5613eb71571af623f89ed232c25c35a0072a5d98c8c6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.4 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.3-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e37a17bf7da0c94e9a7249582076d3051668080252e7f12f82152bc7f2846011
MD5 d757018850213039270072a8637b11f4
BLAKE2b-256 58a794619f39aafaa592ecf45dd900886ef58844dedd8bab6955126bdbef0db7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp39-cp39-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.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.3-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 5463d60e17e1fe25424e3c79c8b1b633fd1c38aafb65f65fe900cbb38a7adbe0
MD5 2d57dc3ca2c6885ce94e5643990b4d86
BLAKE2b-256 94fddd797ceee1a83d1afb8c8fd4675dfc60b98392da6d40dadd88ca90488799

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 292.0 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.3-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 7bd3fea5e80c5874856c4557fec235244e58537f3292844896db6d2ad71658ec
MD5 e688f2ab9e57ba163139e2f560a72af0
BLAKE2b-256 ba3dec8bf27b5f557f71c62997511191bf45069bcbda3c3d344141495f465ab9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.0 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.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e5dd8942b7e9e04dd401162accb0293aba5b337a12526ace9a8de9cd1fa78bc
MD5 9174fe05df5d66bcc8debbbb51683790
BLAKE2b-256 494bebe1403bcbd0da531d51d94cf7fe736ef8d2ccad5d5f0b04a549a0f05813

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 355.0 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.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46099edef805c916ebf5050c74868df22c23cb37d0721b9cc5c2fdade9a49d8f
MD5 157ff51bd44bf7cbcf56cd18851e3731
BLAKE2b-256 efb02aa6f79387c0086c9e3dd9c1c146b2a4ce150d1aa2670ac0a8d740ce577f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.3 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.3-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1e921c9282a749c6e4906c671b250c6c9d7e01299aed43e30845136ba9c6723b
MD5 a5367bfd912c6aefc6daef0c01c82238
BLAKE2b-256 c2486c1cb645e6ce1e1c881960c138894c4de8e99e285702197b43a17f29cbc8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp38-cp38-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 359.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.3-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 e04f25c33f96dcd792ed06aaf2018c7b66101d73a6b11db162251429bdabfb64
MD5 f48d24930b9a8446b6fb2c7370b01794
BLAKE2b-256 d89e4a2f229e5d16ce749fe3c9ed5ac9e665c2b5dfdca34005ebfad34576ef23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 292.0 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.3-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 10d5e6d5d929968513eb94ae468a4c1c80367d757f3c6220f1532ae3953707a6
MD5 6583578612bd0292929abdbf0d20b9fb
BLAKE2b-256 ea30441549df7093db433f922b3b99cb68162ef8cb44c60abe53ef0dbebf9fb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 400.3 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.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7374e579c85752c37305a2ba91e33d4ca71945dee9f841d5a3571f71c25f670
MD5 32b7d31d47e4a193c0ec3179a463b2cd
BLAKE2b-256 8db8ab86b552510d1a141c78a12e86c6d8696a16bfa929449a9a130c49c719cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp37-cp37m-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 355.2 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.3-cp37-cp37m-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b869aad5724daff0bc3dd55a9c74648cbe38c93b8c2ec754d47bbdfb5e0ef2e7
MD5 e55aa9cda75c96044f2d3c9d1c3d193c
BLAKE2b-256 dd849953e9f51c14842456530d83b53cacac4650908dcec1c3c49b9d108cafbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
  • Upload date:
  • Size: 692.4 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.3-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8d0ea5d10467d5ac3c79416ab9326b7cebf7cd2d44f6ecc43d79e652779bb9a6
MD5 73e9139382f25c3ca5519b75d190f183
BLAKE2b-256 befe1a809f3031fa8611c85905ffced6eeb71733b766100c673b1a5f908ce018

See more details on using hashes here.

File details

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

File metadata

  • Download URL: constriction-0.3.3-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.3-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4907688aa6a93f2b7a34b1d698733bf792799cfe698693bc71a7f8f670bbbd86
MD5 8a427cb9d4380c92f873e833f0fb499e
BLAKE2b-256 1e8de03da03a799825e12f28bd0226ec925133579b8cf60e73b6c458c7b86835

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