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()  # doctest: +NORMALIZE_WHITESPACE
[{'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()  # doctest: +NORMALIZE_WHITESPACE
[{'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   # doctest: +NORMALIZE_WHITESPACE +ELLIPSIS
[{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()  # doctest: +SKIP

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:

  • Support constant modifiers on parsed (variable) constraints instead defaulting to FunctionConstraint, e.g. problem.addConstraint("a+2 == b") or problem.addConstraint("x / y == 100")

  • Parse using Abstract Syntax Trees (AST) instead of the current parser to be more robust and support decomposing lambdas

  • 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.5.0.tar.gz (821.7 kB view details)

Uploaded Source

Built Distributions

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

python_constraint2-2.5.0-cp314-cp314-win_amd64.whl (851.2 kB view details)

Uploaded CPython 3.14Windows x86-64

python_constraint2-2.5.0-cp314-cp314-manylinux_2_39_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

python_constraint2-2.5.0-cp314-cp314-manylinux_2_35_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ x86-64

python_constraint2-2.5.0-cp314-cp314-macosx_15_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

python_constraint2-2.5.0-cp313-cp313-win_amd64.whl (841.6 kB view details)

Uploaded CPython 3.13Windows x86-64

python_constraint2-2.5.0-cp313-cp313-manylinux_2_39_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

python_constraint2-2.5.0-cp313-cp313-manylinux_2_35_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

python_constraint2-2.5.0-cp313-cp313-macosx_15_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

python_constraint2-2.5.0-cp312-cp312-win_amd64.whl (841.6 kB view details)

Uploaded CPython 3.12Windows x86-64

python_constraint2-2.5.0-cp312-cp312-manylinux_2_39_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

python_constraint2-2.5.0-cp312-cp312-manylinux_2_35_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

python_constraint2-2.5.0-cp312-cp312-macosx_15_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

python_constraint2-2.5.0-cp311-cp311-win_amd64.whl (841.6 kB view details)

Uploaded CPython 3.11Windows x86-64

python_constraint2-2.5.0-cp311-cp311-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

python_constraint2-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ x86-64

python_constraint2-2.5.0-cp311-cp311-macosx_15_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

python_constraint2-2.5.0-cp310-cp310-win_amd64.whl (841.6 kB view details)

Uploaded CPython 3.10Windows x86-64

python_constraint2-2.5.0-cp310-cp310-manylinux_2_39_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

python_constraint2-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ x86-64

python_constraint2-2.5.0-cp310-cp310-macosx_15_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

python_constraint2-2.5.0-cp39-cp39-win_amd64.whl (841.6 kB view details)

Uploaded CPython 3.9Windows x86-64

python_constraint2-2.5.0-cp39-cp39-manylinux_2_39_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

python_constraint2-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.35+ x86-64

python_constraint2-2.5.0-cp39-cp39-macosx_15_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for python_constraint2-2.5.0.tar.gz
Algorithm Hash digest
SHA256 f69ab4b3a7d1bda6d05738f1ae31ddd35a48be6f13f34bf4329204ff6f28479d
MD5 587608542daeea8fe5ff2a98f4a5d230
BLAKE2b-256 41ced197818c97c1ac79c36b2bf3efd2330a912cef4d5be5ec21cd2fd98c4e53

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0.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.5.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 90d3904e5d9461398c16b2e8923ed6e96cf99d4a54bac4c0b78017fb2fb36cfa
MD5 a08a1f25f0747bbdaa885cb8b4ecc669
BLAKE2b-256 621de0e42b6c2d5983b9ead36eb1640c35bfbad602bd2b96399ee896dd89ab6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp314-cp314-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.5.0-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4104e3db4cf8c399775c61d6a06393af299ca519253cc5fa35b0c774b5f84384
MD5 1d24f2127ea3db2b2d4139c277066c7d
BLAKE2b-256 4f8729f0726a4bdb0109cf0ed30b69bc1f6569218776a0a003c7e31af06c41c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp314-cp314-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.5.0-cp314-cp314-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp314-cp314-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f5c636ab637c0c1f2ac769dd966e78fa5b3c7d1fd606dff888854adc07293bc3
MD5 7582d8eb5cbba65e8f6c65f235d373f0
BLAKE2b-256 804caffcda6b3a4c60f68a6d31f1ca4a298abe24f79a85fe7ea849ba43c04bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp314-cp314-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.5.0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6b015ecc38d8828e8d372df32eca77af7b97439f98fd0de812368cd93ddef944
MD5 b458cd5a235124d1bbf2d1333c3d1dc0
BLAKE2b-256 508a5706af63599b5befa62e26952aa766c421bbb5ba7a9467dfcaf441bc5665

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp314-cp314-macosx_15_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.5.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 edf643fbc5a61729e43019647e0a5a51a634b26a5cee6314634993caee79b7f6
MD5 0016c9b7ff652af923240a57b187bfbd
BLAKE2b-256 22cbc75f5a5372904b0a254c03bd96eecd072354ea10562eec7c8a8d6c04c00f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e740e1a46664e87176bb24b1e2d8148459f3772219abc9b7d6088c91e532c99b
MD5 dbd69a4cd49a9be2d031c7dbc7653827
BLAKE2b-256 ff70f3b79ebac47d6ce679f4667bfbf10834354183c7401d6808119b0ce2316b

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 319352f7b0b5f8881f02f6a119079dc27e6f3f16a0d63bef491b25555ef9de2e
MD5 2d9c92a4e770c097eb66f54ea364ce70
BLAKE2b-256 35794072a37dafe3f0946b7d72c6d686a071880da565660598966608dbff379a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 5699f7eeeeaf3dbd2feb919330a8082b886753eb1843c44520019c9c3ff50437
MD5 0f862916bb7bdefffc5e29ad6cd0344b
BLAKE2b-256 7c36d3ed39ff3a45676980775e65fc7c1e6584acbcfe50952edb1affed25af95

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp313-cp313-macosx_15_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.5.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 93a51e3ad8dd544a299c5bf14c27a9dde0b2b73c2d5514f3bd676c4dbaaf0128
MD5 0cd099ddd85c54fd54ad37ad1f0d144a
BLAKE2b-256 38ec1d82f8f4b350a0bef9a7f4ddb494e3c14549c35e523f455ff277e0e948b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 245fa0b1edca340545041c655d159187f98558c08a93619ac4433739509341d1
MD5 0859d459c1620524e941186dd689cffc
BLAKE2b-256 f6100ef778194440a23c3c55fc032f71886228e17126d85346f0ec3a638e1366

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 80d298ee29cc77453b92e6cc391d5c22e2074bc0ad63d1d4f497a82bf6880b17
MD5 6f48a50ed0de1a4f78e3eab841cdd296
BLAKE2b-256 5ec5f9e3602448002e22be9946c6cbe305fba304ef68faf9cd2a83bdb290eb70

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 73d8bab2239d99de5462dda3e4414e809013fdd77fd5e66b774b32ce93425979
MD5 318f9c48436b89b8c74ced8addfeaf28
BLAKE2b-256 ad83e5bd8749e3fc56fca1b6c5ca0e4e4f2132cccc6100268c5169a980d7d289

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp312-cp312-macosx_15_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.5.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e3cb0a453258b8defeff88eb7d61f87921422b6b6f936a8ec01e124d777c74d1
MD5 f9900ba8fd39f8777d960315258688c1
BLAKE2b-256 364f450bc767224bc88d7c9ad3015bc10b16387672f713a41e314e3329b5214c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c4fcc2565204050811797c0caeb3abb08968d81a4db25807e6c4af393e9080eb
MD5 93e0b0edcdb3bde37fd6a2f7d43d28c3
BLAKE2b-256 323b0140af2fa9824ddef01b15430153dd731d5f643c1cfed307a0f82c17335c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 84ea0fcce47a6542ef7668471cf53489433dbfbf3b677c54dc37cd5645ee1bf3
MD5 5cf22239570b4ae53643bc0e93c9d25a
BLAKE2b-256 60deacc370fbcd3183ae0d64d799917f570cf8038084a0493daac6a2f7e9752a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c269c857035bdef991bc0225f2df057631d07bc9d928813088bb09889bef41e6
MD5 08a46a33fa33b0bb8c26ae06cac534da
BLAKE2b-256 98ea65fcd507d18d4dc01b5009ce8139d31c2c3856aeccc5c2a397ba8b0ce20c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp311-cp311-macosx_15_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.5.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5ee62ad012b02a578ca3c9c3a07de57f711670c09cb3614b406b99c2464abcc2
MD5 2e95c0abc1593c49075decb79e5a9e7a
BLAKE2b-256 c59d6318b2795c4d92f7e75372a8d0d0da66e41af5f16e4c4c2210852ed4ec99

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4b3b35feff69f6bfe0c460604628c0ed5d2314ca65f3d0043f73712f20fe2239
MD5 0e974f3fa884c6ee40cd2e4a01765bac
BLAKE2b-256 ca2a884fa3cb986a5fcdfb5140e083bb40049040db69362e9709b789a2e823f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b3f0da1cfa7041775c4806bdcb43ed8b928a644ce92ac4c55d303ceb5771b71f
MD5 bc1874e6cab823058baecfb3b7d7e0a1
BLAKE2b-256 1fb1c83fde9dbbd2544f5f31951f42ed23b8384aeb8ac8a975e1b63f6a02ac8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0bd4f870c1f74e0f033372ad2c78bb8929c0d2b489a3c89f83caa9088c547d64
MD5 641e23448b28de2bf478df0e1832a873
BLAKE2b-256 30b3f2560338e5e77aa01e3ad13179e4caa7fe42d4ef5fbf80691a12072ee580

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp310-cp310-macosx_15_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.5.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ec06f29991538c1ff9cd410b6810617e023e3bc930dd08ca8a97c35b81650749
MD5 132dd527fa8bdb448654d5b705197eff
BLAKE2b-256 61c797981fe15b821aba68297a1b77f900e35ec45335e88ee20dd444f41d847d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4930bf7886f1fcfc8402287c05e1cc22347f0c4900be41b85dbbcc8578f18063
MD5 2ed69cd853cfb5353292badb17cd58b4
BLAKE2b-256 11dfe644a74f21bad7a154eba11dbd1c88f99936ee58fa43b56bba73e9603401

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 6df15448993e65d01e224a60c62c59ad4cd2501a595ea5dda5eb8c79e9d32c0c
MD5 316ace5ce7e5b87fca08dd39bf8e1c86
BLAKE2b-256 ea2b1c3e939b43ce5e51ced3892289c8222ae7677802ec094a0fd49f292bb48f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-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.5.0-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.5.0-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f46131bfd1b28957487e0bb1c8899af6be2fa2d567a4d4b8cf2aad12577ae2b4
MD5 5d63033cc16637c5a8e187d2141690ec
BLAKE2b-256 fef5527159396a6d5a3dec5789c20471272f31660e2551f42c015a8efef098d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.5.0-cp39-cp39-macosx_15_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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page