Skip to main content

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

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

python-constraint

⚠️ IMPORTANT: this software must be installed with pip install python-constraint2, as the original pip release will not be updated.
A Conda Forge / Mamba version is also available: conda install python-constraint2.

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

Conda / Mamba:

$ conda config --add channels conda-forge
$ conda config --set channel_priority strict
$ conda install python-constraint2
$ mamba 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.

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.7.0.tar.gz (850.4 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.7.0-cp314-cp314-win_arm64.whl (857.5 kB view details)

Uploaded CPython 3.14Windows ARM64

python_constraint2-2.7.0-cp314-cp314-win_amd64.whl (857.5 kB view details)

Uploaded CPython 3.14Windows x86-64

python_constraint2-2.7.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.7.0-cp314-cp314-manylinux_2_39_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

python_constraint2-2.7.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.7.0-cp314-cp314-manylinux_2_35_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ ARM64

python_constraint2-2.7.0-cp314-cp314-macosx_26_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

python_constraint2-2.7.0-cp313-cp313-win_arm64.whl (848.0 kB view details)

Uploaded CPython 3.13Windows ARM64

python_constraint2-2.7.0-cp313-cp313-win_amd64.whl (848.0 kB view details)

Uploaded CPython 3.13Windows x86-64

python_constraint2-2.7.0-cp313-cp313-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

python_constraint2-2.7.0-cp313-cp313-manylinux_2_39_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

python_constraint2-2.7.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.7.0-cp313-cp313-manylinux_2_35_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ ARM64

python_constraint2-2.7.0-cp313-cp313-macosx_26_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

python_constraint2-2.7.0-cp312-cp312-win_arm64.whl (848.0 kB view details)

Uploaded CPython 3.12Windows ARM64

python_constraint2-2.7.0-cp312-cp312-win_amd64.whl (848.0 kB view details)

Uploaded CPython 3.12Windows x86-64

python_constraint2-2.7.0-cp312-cp312-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

python_constraint2-2.7.0-cp312-cp312-manylinux_2_39_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

python_constraint2-2.7.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.7.0-cp312-cp312-manylinux_2_35_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ ARM64

python_constraint2-2.7.0-cp312-cp312-macosx_26_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

python_constraint2-2.7.0-cp311-cp311-win_arm64.whl (848.0 kB view details)

Uploaded CPython 3.11Windows ARM64

python_constraint2-2.7.0-cp311-cp311-win_amd64.whl (848.0 kB view details)

Uploaded CPython 3.11Windows x86-64

python_constraint2-2.7.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.7.0-cp311-cp311-manylinux_2_39_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

python_constraint2-2.7.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.7.0-cp311-cp311-manylinux_2_35_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ ARM64

python_constraint2-2.7.0-cp311-cp311-macosx_26_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

File details

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

File metadata

  • Download URL: python_constraint2-2.7.0.tar.gz
  • Upload date:
  • Size: 850.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for python_constraint2-2.7.0.tar.gz
Algorithm Hash digest
SHA256 d4e65fc5cfe3d7533bdc679dd922823542109f3d18e0c57ffa16047a445819f1
MD5 df88c203b2ee286cfec7b9e8e51c3005
BLAKE2b-256 79ac928b9ba7f8271ae9aa251589e8864baa3cd7575d817a20f879806cbb07b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 e2aa3e4ca14605016c05e2e56d4c7cd09aa48957350bdf6c97a378970a7e9875
MD5 fc0b45504f783347146374849eb75dea
BLAKE2b-256 eb1726ca0b5f37e679c7a1dc0ba4358ccab4bf24c71bb7a8bedd228d7343bbfc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8bd537e4e1d3c4a58449fcf20dc89ab6b1bc8067fb94cffb1bb33b4536781cad
MD5 2e3c9ef15f95c34250cf929640468cc5
BLAKE2b-256 a59f54ef7f48e9927bd3c9115cd3d003ae0b070c5113b31484e695d6eb3439d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 8370605c1d0f0ad9366a5140b01c080378e789f57af7e52aec8f200f5f49616f
MD5 d97164b3825385c1edd1eca09c85aa05
BLAKE2b-256 80da05958e4047b68c1a067a50ed2cb39b6683d6096265861ea6535b255a5493

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp314-cp314-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 04ff67e1d0f2b996ba95e2c5c697fa252a9823fb96693cf1fb388182e9a21e74
MD5 7c183599a296a6c648125aa25bc75b05
BLAKE2b-256 ab8d94a4496823131b09ca74fcc7e4f96db134dc63b8284e75dab9de9b229bfe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 1d893e71f5fd194ec751ca40e51b50d48b6f424ca995132dc11a0005a867f6d8
MD5 ca22afb30bdaeb21493adb1e2c0fde10
BLAKE2b-256 854a7165677214e594256e259bcf03955305236e5e522f73b7868628b6b96cfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp314-cp314-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 57e5f3800facc149712b2a740a28815df433ac096a8a0f3831218b9f77543005
MD5 7a51497db14dff352e3e30d38310e3d0
BLAKE2b-256 848b2483d354e876f2a5a93af8ba87a22332b703d835a7b866b667cb8509cde6

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp314-cp314-manylinux_2_35_aarch64.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.7.0-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 6279f5f2df8ccdf491e9e5f38eb1e909716acc73cb1f93bfdf6b6469af8329e0
MD5 1917f281d2bb6506a0eae839d9ea2a60
BLAKE2b-256 0a3f6429f7e6414ef6719a9b6fd475fa967a6383dfb2880e8c2c73a84104140f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp314-cp314-macosx_26_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.7.0-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 6ecbe6995b3e98c0812354d025f9634dc25469cf10a7082f739269875d79e3c9
MD5 c0e61c62407c4b1fe7ce4a7808696b5d
BLAKE2b-256 ab9ed7753b188d49f961f7c458ff1d127125c3de20e2bec2ac1a387aa44a1a73

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp313-cp313-win_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.7.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0f02b98e842d0cbba6f543cc24efa212193a37786ee4c7152ab68f5cff8f34d4
MD5 3fcc4122ff7e99a28b2459460173c104
BLAKE2b-256 c5ea3f94a29953b16386c88eb6447f4f7ae91ee7f9ff921b6b7c437dc16e150d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d0758d1ccf72689f430baee2718bd18d64673475dea5c324e8886989ce4f0259
MD5 a9e8d982d30f14fc9f5112261142641e
BLAKE2b-256 3ed260a4091cb24911ce783fa31d6a17d420cf65839b06f7e26327d2f151210d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 ee47ec5446df625e3e813808249e659cc823fa68837eb444cdc88d7b945e0b3f
MD5 688586db494ee951b6ff3e798cea61a2
BLAKE2b-256 4220da650a2361a93658abfdfd53c9acea421fc5279a5d51fc56a9c78137f625

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 8fae796d18a7c6b2445a0d40c1a549565b46baae1d18ac4631d123fe6444e740
MD5 13344abb3151c678a413ddc25bef0a7d
BLAKE2b-256 ad822b82b37dc670bb7be5675b6340915279641851a5677f162fca359b1b9723

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp313-cp313-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 1d79ae724c785030066e07441752ffc797b21187bf894e67c3a4e9fd88c38020
MD5 e24e3b67311c24625cf65f76c8944d1b
BLAKE2b-256 77dc031b66cb7636b659b966ea56cd98d353422ad2b5bc1ec2b64e3317a825f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp313-cp313-manylinux_2_35_aarch64.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.7.0-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 30d94437bbc80c0835ba8f8f45736ac9672cebac4a693972898e5b38fd9abed1
MD5 fababc677130bd30314b4c70c4221aeb
BLAKE2b-256 8982269c4469bb64ccc6233845c793eb1779a7b201222c4d38f5b6504a61f479

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp313-cp313-macosx_26_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.7.0-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 e4f0fd190783a9ac05333adcf5dbebe769b9329cbc723112c603e68156cd467d
MD5 e03ef570218d4d3512456626d1db5988
BLAKE2b-256 63807afafbad902600a1e4cf07d4efdeb70fa206c063e2d417b31bdad4db2314

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp312-cp312-win_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.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a8fa3ee1e38870d72b37dfc5a5b2b8e713bf9c60a20120aa65014623f1f02bed
MD5 1c357493c1447d0b833eaaf62b4d895d
BLAKE2b-256 473e6754ca1f856f8f343a69d886dfe78ece57e33d21c1fc746bd8c54cdde8ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 783273c7ea174eea31f52088633d4149486d792f3500fcb898ab052557c5358f
MD5 a18ce3f260552a26ca2be44e7f2752fe
BLAKE2b-256 120d47448c1f91d0177328e52f4c2d118007e550ea2e620a03ea8667a0fcbff1

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c943bb9706b7f8b1f8bb435c527319d5e2a78d1ca58f8a9b890e333b79626982
MD5 4d7e2fad994f135c66e4b0445d6c86c9
BLAKE2b-256 6466ef8a394cd349f1bf4a8bfb3be636033c10304a8600ed80a863ffca4b91de

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b3c70fd9923b990cb6900e0287f8e0a8982ecb518bc8c0c961d1808e41b6cb51
MD5 bf8a818fb4d5b5470de5dd7ff15e3296
BLAKE2b-256 cca2b827b8fcc776c01dbf8f11a4702d47516c2560a291f2abc3cf0caf63f0a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 9367f089457cf4b8097e015e5f93eb7720fd0a99aa9e348136f384e83fd7a1f5
MD5 fa509dc79bbefbe9047ac40bbd95b4b2
BLAKE2b-256 ccc828d7e122dbd0c0a8eb4963a050d2baa728134c12a3796e3b2ea7da464e31

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp312-cp312-manylinux_2_35_aarch64.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.7.0-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 a4dd90fa15064435be7cbbfb23224d04bebd6e52cfee4dd8781a9d6f23605c0f
MD5 ac9bbd2c662a3a5e8d370a2cd1f02250
BLAKE2b-256 b3cdd0ef260f3ded2692cc188f47e7db3f3f610399b856bc4004a463708468c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp312-cp312-macosx_26_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.7.0-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 7019d6f4b6d62fe6230572835826d0b812457f704bf68e8fa4699d3b23bf3506
MD5 48ad88b20c0503be00429992fd150ce6
BLAKE2b-256 9f387df1e862a28983730888834af740253e8224b548826b68e1b3995cac914c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp311-cp311-win_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.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 daa92b4acb39fb10d2949a533a20083eeeb9f7ecd2409a80133798dd99e3e4c0
MD5 a67d6f62d26bf2555d4b6a96597c30e3
BLAKE2b-256 74d7491f7f0114d9f6aeeb08cbfa95e77aa9134da93c1dbfe0813b25dcdf578e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 420c3356f06c2f75e4b9b1ec3146c66eb9e8e1dc6711caccb4114ae5da6a400d
MD5 4f65978b38cedc5a95f123cacb558d00
BLAKE2b-256 21b5788dec0aeb2976fe83fe39d40bfd6154a15808f38d2c7e84a070ecd3fe54

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 57b9a792bb1b66d6485cc6abe93b5c62fd0048ba1f511b0f2ef8a20073fb2f41
MD5 650caa8fee3de3828e0f68c7fc233e24
BLAKE2b-256 3120088f596418766bb02a00b874cf47ca2aa344341918c8193de505c401e091

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 fa0d120511c6516ff3e7f3b8d492cdbdb73de8addbc9a447017675fec00f7d0e
MD5 07cd3051c8a118fa65d37c46192525a4
BLAKE2b-256 3aa889c47e38aad64e521ba30c4d57669c2b40eaa0bdceac3e04d1f6466a722d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.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.7.0-cp311-cp311-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 16383187b8d63f9042f5665ec483b59f166cb1420138bbdf9cdad67b14f4c1ac
MD5 6276ce8888479862380d25d35e966a97
BLAKE2b-256 29b77468cb2ffca94052e91428b162626913dc11a2f9b609c10a9f3448161378

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp311-cp311-manylinux_2_35_aarch64.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.7.0-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for python_constraint2-2.7.0-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 839fcb9b3745a8994fcd524714105ec58f367afe3299d19477a9a2df6164a873
MD5 29f9bb4757d2fcbba2ee9943e0ebc7a4
BLAKE2b-256 be88ea8395db8a8632168e5c0a558690224cc872ebdb3b381cb6b44363a4896e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_constraint2-2.7.0-cp311-cp311-macosx_26_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.

Release history Release notifications | RSS feed

2.7.3

41 files

2.7.2

33 files

2.7.1

29 files

This release

2.7.0 This release

29 files

2.6.0

17 files

2.5.0

25 files

2.4.0

21 files

2.3.2

21 files

2.3.1

21 files

2.3.0

21 files

2.2.3

21 files

2.2.2

16 files

2.2.1

16 files

2.2.0

16 files

2.1.0

16 files

2.0.3

16 files

2.0.2

16 files

2.0.1

16 files

2.0.0

16 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page