Skip to main content

python-constraint is a module for efficiently solving CSPs (Constraint Solving Problems) over finite domains.

Project description

PyPI - License Build Status Documentation Status PyPI - Python Versions PyPI - Downloads PyPI - Status Code Coverage

https://github.com/python-constraint/python-constraint/raw/main/docs/assets/logo/N-Queens_problem_Python.svg

python-constraint

This software is now back to active development / maintainance status.
IMPORTANT: the new version can be installed with pip install python-constraint2, as the original pip release will not be updated.
For an overview of recent changes, visit the Changelog.
The complete documentation can be found here.
New: writing constraints in the new string format is preferable over functions and lambdas.
These strings, even as compound statements, are automatically parsed to faster built-in constraints, are more concise, and do not require constraint solving familiarity by the user to be efficient.
For example, problem.addConstraint(["50 <= x * y < 100"]) is parsed to [MinProdConstraint(50, ["x", "y"]), MaxProdConstraint(100, ["x", "y"])].
Similarly, problem.addConstraint(["x / y == z"]) is parsed to [ExactProdConstraint("x", ["z", "y"])].
This feature is in beta and subject to possible change, please provide feedback.

Introduction

The python-constraint module offers efficient solvers for Constraint Satisfaction Problems (CSPs) over finite domains in an accessible Python package. CSP is class of problems which may be represented in terms of variables (a, b, …), domains (a in [1, 2, 3], …), and constraints (a < b, …).

Examples

Basics

This interactive Python session demonstrates basic operations:

>>> from constraint import *
>>> problem = Problem()
>>> problem.addVariable("a", [1,2,3])
>>> problem.addVariable("b", [4,5,6])
>>> problem.getSolutions()
[{'a': 3, 'b': 6}, {'a': 3, 'b': 5}, {'a': 3, 'b': 4},
 {'a': 2, 'b': 6}, {'a': 2, 'b': 5}, {'a': 2, 'b': 4},
 {'a': 1, 'b': 6}, {'a': 1, 'b': 5}, {'a': 1, 'b': 4}]

>>> problem.addConstraint("a*2 == b") # string constraints are preferable over the black-box problem.addConstraint(lambda a, b: a*2 == b, ("a", "b"))
>>> problem.getSolutions()
[{'a': 3, 'b': 6}, {'a': 2, 'b': 4}]

>>> problem = Problem()
>>> problem.addVariables(["a", "b"], [1, 2, 3])
>>> problem.addConstraint(AllDifferentConstraint())
>>> problem.getSolutions()
[{'a': 3, 'b': 2}, {'a': 3, 'b': 1}, {'a': 2, 'b': 3},
 {'a': 2, 'b': 1}, {'a': 1, 'b': 2}, {'a': 1, 'b': 3}]

Rooks problem

The following example solves the classical Eight Rooks problem:

>>> problem = Problem()
>>> numpieces = 8
>>> cols = range(numpieces)
>>> rows = range(numpieces)
>>> problem.addVariables(cols, rows)
>>> for col1 in cols:
...     for col2 in cols:
...         if col1 < col2:
...             problem.addConstraint(lambda row1, row2: row1 != row2,
...                                   (col1, col2))
>>> solutions = problem.getSolutions()
>>> solutions
>>> solutions
[{0: 7, 1: 6, 2: 5, 3: 4, 4: 3, 5: 2, 6: 1, 7: 0},
 {0: 7, 1: 6, 2: 5, 3: 4, 4: 3, 5: 2, 6: 0, 7: 1},
 {0: 7, 1: 6, 2: 5, 3: 4, 4: 3, 5: 1, 6: 2, 7: 0},
 {0: 7, 1: 6, 2: 5, 3: 4, 4: 3, 5: 1, 6: 0, 7: 2},
 ...
 {0: 7, 1: 5, 2: 3, 3: 6, 4: 2, 5: 1, 6: 4, 7: 0},
 {0: 7, 1: 5, 2: 3, 3: 6, 4: 1, 5: 2, 6: 0, 7: 4},
 {0: 7, 1: 5, 2: 3, 3: 6, 4: 1, 5: 2, 6: 4, 7: 0},
 {0: 7, 1: 5, 2: 3, 3: 6, 4: 1, 5: 4, 6: 2, 7: 0},
 {0: 7, 1: 5, 2: 3, 3: 6, 4: 1, 5: 4, 6: 0, 7: 2},
 ...]

Magic squares

This example solves a 4x4 magic square:

>>> problem = Problem()
>>> problem.addVariables(range(0, 16), range(1, 16 + 1))
>>> problem.addConstraint(AllDifferentConstraint(), range(0, 16))
>>> problem.addConstraint(ExactSumConstraint(34), [0, 5, 10, 15])
>>> problem.addConstraint(ExactSumConstraint(34), [3, 6, 9, 12])
>>> for row in range(4):
...     problem.addConstraint(ExactSumConstraint(34),
                              [row * 4 + i for i in range(4)])
>>> for col in range(4):
...     problem.addConstraint(ExactSumConstraint(34),
                              [col + 4 * i for i in range(4)])
>>> solutions = problem.getSolutions()

Features

The following solvers are available:

  • OptimizedBacktrackingSolver (default)

  • BacktrackingSolver

  • RecursiveBacktrackingSolver

  • MinConflictsSolver

  • ParallelSolver

Predefined constraint types currently available (use the parsing for automatic conversion to these types):

  • FunctionConstraint

  • AllDifferentConstraint

  • AllEqualConstraint

  • ExactSumConstraint

  • MinSumConstraint

  • MaxSumConstraint

  • MinProdConstraint

  • ExactProdConstraint

  • MaxProdConstraint

  • VariableExactSumConstraint

  • VariableMinSumConstraint

  • VariableMaxSumConstraint

  • VariableMinProdConstraint

  • VariableExactProdConstraint

  • VariableMaxProdConstraint

  • InSetConstraint

  • NotInSetConstraint

  • SomeInSetConstraint

  • SomeNotInSetConstraint

API documentation

Documentation for the module is available at: http://python-constraint.github.io/python-constraint/. It can be built locally by running make clean html from the docs folder. For viewing RST files locally, restview is recommended.

Download and install

$ pip install python-constraint2

Testing

Run nox (tests for all supported Python versions in own virtual environment).

To test against your local Python version: make sure you have the development dependencies installed. Run pytest (optionally add --no-cov if you have the C-extensions enabled).

Contributing

Feel free to contribute by submitting pull requests or opening issues. Please refer to the contribution guidelines before doing so.

Roadmap

This GitHub organization and repository is a global effort to help to maintain python-constraint, which was written by Gustavo Niemeyer and originaly located at https://labix.org/python-constraint. For an overview of recent changes, visit the Changelog.

Planned development:

  • Rewrite hotspots in C / Pyx instead of pure python mode

  • Improvements to make the ParallelSolver competitive (experiments reveal the freethreading mode to be promising)

  • Versioned documentation

Contact

But it’s probably better to open an issue.

Project details


Download files

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

Source Distribution

python_constraint2-2.3.1.tar.gz (761.9 kB view details)

Uploaded Source

Built Distributions

python_constraint2-2.3.1-cp313-cp313-win_amd64.whl (781.5 kB view details)

Uploaded CPython 3.13Windows x86-64

python_constraint2-2.3.1-cp313-cp313-manylinux_2_39_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

python_constraint2-2.3.1-cp313-cp313-manylinux_2_35_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

python_constraint2-2.3.1-cp313-cp313-macosx_14_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

python_constraint2-2.3.1-cp312-cp312-win_amd64.whl (781.5 kB view details)

Uploaded CPython 3.12Windows x86-64

python_constraint2-2.3.1-cp312-cp312-manylinux_2_39_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

python_constraint2-2.3.1-cp312-cp312-manylinux_2_35_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

python_constraint2-2.3.1-cp312-cp312-macosx_14_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

python_constraint2-2.3.1-cp311-cp311-win_amd64.whl (781.5 kB view details)

Uploaded CPython 3.11Windows x86-64

python_constraint2-2.3.1-cp311-cp311-manylinux_2_39_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

python_constraint2-2.3.1-cp311-cp311-manylinux_2_35_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ x86-64

python_constraint2-2.3.1-cp311-cp311-macosx_14_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

python_constraint2-2.3.1-cp310-cp310-win_amd64.whl (781.5 kB view details)

Uploaded CPython 3.10Windows x86-64

python_constraint2-2.3.1-cp310-cp310-manylinux_2_39_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

python_constraint2-2.3.1-cp310-cp310-manylinux_2_35_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ x86-64

python_constraint2-2.3.1-cp310-cp310-macosx_14_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

python_constraint2-2.3.1-cp39-cp39-win_amd64.whl (781.5 kB view details)

Uploaded CPython 3.9Windows x86-64

python_constraint2-2.3.1-cp39-cp39-manylinux_2_39_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

python_constraint2-2.3.1-cp39-cp39-manylinux_2_35_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.35+ x86-64

python_constraint2-2.3.1-cp39-cp39-macosx_14_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file python_constraint2-2.3.1.tar.gz.

File metadata

  • Download URL: python_constraint2-2.3.1.tar.gz
  • Upload date:
  • Size: 761.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for python_constraint2-2.3.1.tar.gz
Algorithm Hash digest
SHA256 801a32d4c700230a426a7ee60af7f0e780bf257cf1a293cc03b1eeb54aab8b38
MD5 280cdb76f7eafc9009bc14b53fc4defc
BLAKE2b-256 4aa568a919459ba96223fa392752828e79e80ab6db63a4cb57f587223302c941

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1.tar.gz:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d7830fa910f3e023a17026c68b41e4dce15e2a307099b581529412e1795f48c0
MD5 fec3c9df296e422495fceda77368e7de
BLAKE2b-256 b55233adaed66d35cac57bb1931fa9225f9d0ff75099b0d29037cb2d3c5f3515

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp313-cp313-win_amd64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 8cf1c5b312ed8f800bcbdc82a5a39ec261f3ecb8a871c835edd23d93e43ee1f0
MD5 b326456e5041feec572db8f96320e255
BLAKE2b-256 47b49bb51abfeccbceea4870f428a6002fc96309c6516070e536b05dc8392808

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp313-cp313-manylinux_2_39_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 88f9baf3e6d13e536b91bed73c5b1cc48886488dfbf7c6973ba5c2b0929cd859
MD5 dbfa51f0177f5403d8b3f4a2fc0b1081
BLAKE2b-256 cf9b11cc0ce008b7683b4fe177ee647de2633083cd3054dd4aade18355c0abf4

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp313-cp313-manylinux_2_35_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 293b1bb50dd2c0bc9428f67940ff1f03ccd4237e54d9746d80c2c857c8b701da
MD5 e13051b62c550d8e41821f524b9592ce
BLAKE2b-256 a92c2899758bbf22584ecc38513eb6fa802ff8f51d41d0d4f6495e8bef61e328

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4f10e435fcc4f28330d50335463a88c7aaca1e87edf5db4b93e7e1534b1a0fd6
MD5 61964067cb12666cf120d4c944be9b59
BLAKE2b-256 08e07a13bf6958360190923fd52068e7d8302aa2412fb741c14a3264cebf8d5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp312-cp312-win_amd64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 63ef234b5081bf43a45e7539f84b4a10a8cc441584bf220e1b5c0a90456f2bad
MD5 45f678e6d61a3cfd102e8abfa76136db
BLAKE2b-256 d3eed018055f859fd824a7910f03f26183a8d19febbb7cce6ff1f401b0ee7a5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 843d35ec049e1866bd1bbd3217082b38fd530bfa19234fda15ad53df50f477e9
MD5 85f0ab5e012e418af2f76f323467dc6c
BLAKE2b-256 7057ae4ddaa756b8ba4ba74852949022b895891b4e6a94f1e6f6e17d41c1c560

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp312-cp312-manylinux_2_35_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a95402a2867296c324a4cf88ada815381e42931a12ee646c2b2bea31f8186827
MD5 6b806e92acce50a7a648b7c15ac44149
BLAKE2b-256 d3adb0a4b85cef219cac8b06c6e951e2fc0d957dd8ecf920898dc7c42266dca1

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 059259af4da5c2f796b2ccb7e457811e62bfa83d5f8bfe862e4cb57ca7b71117
MD5 421671217ea62694bf1411b1f15eb1f3
BLAKE2b-256 dd2614c0ee1ffeb44079dd91270103bcfe0ee70e817dc37c38acf2877e0342d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp311-cp311-win_amd64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a70a2669e469b8c996eec3b6969961a09305a45998ac46c732847d1ba54139f2
MD5 a9dab44213a8780d8241a5da7afcc539
BLAKE2b-256 8cbfabf45824e75a1ebc0c2838d4e1cc37ddd5718387ab682fcbdd10af1b3189

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp311-cp311-manylinux_2_39_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 06d74cdbbe4f2b4f56f3a2840dcf5f77cd8ae00290a9cef80efbdc3530cc7abb
MD5 5df227794d008b251c200c1191d915ad
BLAKE2b-256 e1f8e235d7f38af9298a00fe3db103cbd4385ddf2fe18574c29e4aad3476564e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp311-cp311-manylinux_2_35_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 70480ccbce5192304a92bd20df14e54af94bbcd38b89d4c6cb4b10d988574122
MD5 93b51e69dc7607dfcfb727518b74e0b6
BLAKE2b-256 77623ff1449ec2ce46d1e5d3d9bb7cfb74fe1e4ed737dafe3dd32d7d461088ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c25ffaec26112c54ccbf540f3f9206fcbeb35c932cde9187cb4e1951f315859e
MD5 979b505ca7f250c04675f3b3a08f487a
BLAKE2b-256 b25e8aa093af4cce697d10ee723cb50894cb211f11f6a2c813788c2b9074110e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp310-cp310-win_amd64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e191a5ed83708c307611806d2d61be753b8d7ca674cb972fd406f448ec1a6898
MD5 1f139a7840d55f62de05a45e9b11f0c2
BLAKE2b-256 d4eb0963f17a582160d87e12fa400957f51ad45ff70fc06d14fe6b86fe05aca8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp310-cp310-manylinux_2_39_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 7421cf42eaa6675c6e24256d864801e6382f99d0ba8d1fed6b8dc038bbe0aa56
MD5 15a8b29683281ab5e182b592278cb5a0
BLAKE2b-256 a31b3bdef924759a43bdf64dbba427fc320e95b9ffb18f346a68ebea364e9fe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp310-cp310-manylinux_2_35_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 638ae306ddc032e16c7d6a4c685758390f832eb510657e46f201d6dc044368d4
MD5 b8f8e5465f596570a4cc1326a11ee3a6
BLAKE2b-256 2cb245e8f5b99af5e0055a95b83da26b9a6f89d813779d21a95aad76413fab08

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 557a35a0c4d2bc23d88b260b879a1caa1a364b3f246f2417c29027abe96a237f
MD5 740863fb161653d54a2fd43c04fa6516
BLAKE2b-256 7467866c09a322273742a6d26879a1af53cac6671ea9d07587f1304bf06a4dd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp39-cp39-win_amd64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 3ef45083e13ac7e0c7eb4e35be191eba8e0c77e7a3f67a085f8846012c78f5ca
MD5 87edcf1092b87832d90c9650271a03f6
BLAKE2b-256 152a338ce468e930b5c709389a6f52043651e3f645ec52df5b53bedc185729e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp39-cp39-manylinux_2_39_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 c2e90a75bc3c6fcad2d64c147219e42227946f26e68d87912eca0733cdd99260
MD5 bd2c4ac548e0b860b06d10c04bff1894
BLAKE2b-256 4eb6b1da4abe46fd5dd4bd762d1afd07d2904f68ad079102e5568f1593851f8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp39-cp39-manylinux_2_35_x86_64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_constraint2-2.3.1-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.3.1-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cce4883d48341013a54d8b5adf983ed3d0c60a0a5cc0fb2a5ef30ad94f455b05
MD5 6442e3d1e710ab7f536f27c7f063f954
BLAKE2b-256 2a8d766e9e493ae6eb0f685ef767e8ef1d1591b990c97834686e9dc58dd39ea9

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.3.1-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: publish-package.yml on python-constraint/python-constraint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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