All notable changes to this code base will be documented in this file, for every released major and minor version. For all versions, see releases.
- Released: 2026-01-08
- Issues / Enhancements:
- Added Python 3.14 support.
- Resolved issue #103 relating to pruning.
- Various minor improvements.
- Released: 2025-07-23
- Issues / Enhancements:
MinSumConstraintis now much faster thanks to preprocessing.- Variables values can be instantiated with any type that can be iterable, such as sets.
- Two issues (#13 and #65) relating to the examples have been resolved.
- Various minor improvements.
- Released: 2025-06-17
- Issues / Enhancements:
- Python Constraint now has an entirely new type of built-in constraints, allowing comparisons with variables on both sides to be evaluated much more efficiently.
- Constraint rewriting has been extended to include minus and division operators.
- Rewriting of restrictions with less-than or greater-than operators now supports floats as well.
- Tests have been extended and amended to reflect changes introduced.
- Documentation has been extended and amended to reflect changes introduced.
- Various minor bugs have been resolved.
- Released: 2025-03-25
- Issues / Enhancements:
- Automatic performance benchmarking and validation with real-world cases and automatic reporting (see #93).
- Preparations for free-threading (no GIL) capabilities (see #94).
- Removed NumPy dependency in micro benchmarks, updated dependencies, and optimized test interfaces.
- Changed development status from Beta to Production / Stable.
- Released: 2025-02-11
- Issues / Enhancements (see #91 for more details):
- Implemented a new string format for constraints, that is automatically parsed to constraint types (currently in beta, please report issues)
- Implemented a new
ParallelSolverwith both Thread and Process mode (currently experimental) - Added Python 3.13 and experimental 3.14 support
- Released: 2025-01-29
- Maintainer: Floris-Jan Willemsen [email protected]
- Issues / Enhancements:
- Cythonized the package
- Added the
OptimizedBacktrackingsolver based on issue #62 - Added type-hints to improve Cythonization
- Added the MaxProd and MinProd constraints
- Improved pre-processing for the MaxSum constraint
- Optimized the Function constraint
- Added
getSolutionsOrderedListandgetSolutionsAsListDictfunctions for efficient result shaping - Overall optimization of common bottlenecks
- Split the codebase into multiple files for convenience
- Switched from
setup.pytopyproject.toml - Added
noxfor testing against all supported Python versions - Added
rufffor codestyle testing - Achieved and requires test coverage of at least 80%
- Moved the documentation to GitHub Pages
- Moved test & publishing automation to GitHub Actions
- Switched dependency & build system to Poetry
- Dropped Python 3.4, 3.5, 3.6, 3.7, 3.8 support
- Released: 2018-11-05
- Issues / Enhancements:
- Add tests around
SomeNotInSetConstraint. - Minor
READMEfixes - Fix
dict.keys()issue with Python 3 and add some unit tests - Drop Python 3.3 support
- Add tests around
- Released: 2017-03-31
- Issues / Enhancements:
- Better
READMErendering (using reStructuredText)
- Better
- Released: 2017-03-31
- Maintainer: Sébastien Celles [email protected]
- Issues / Enhancements:
- Original code forked from https://labix.org/python-constraint
- Publish on Github
- Python 2 / 3 support
- Remove Python 2.6 support
- Unit tests and continuous integration
- Create a registered pip instalable package
- PEP8
- Author: Gustavo Biemeyer [email protected]
- URL: https://labix.org/python-constraint