-
Notifications
You must be signed in to change notification settings - Fork 69
Speedup, refactoring and modernization #76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Hi @fjwillemsen Very pleased to see such a contribution. I'm no longuer maintaining this repository. I sent you and invite to be member of https://github.com/python-constraint/ GH org and also grant you write access to https://github.com/python-constraint/python-constraint/ Kind regards Sébastien |
@scls19fr thank you very much, I'll do my best :) |
Done. |
https://pypi.org/project/python-constraint/ belongs to @niemeyer so I can't give you access. |
Thank you! I have contacted @niemeyer via email, for continuity it would be ideal to keep it on the same package, I hope this will be possible. |
…pdated dependencies, fixed an issue with getSolutionIter for OptimizedBacktrackingSolver
Great work! Thanks @fjwillemsen |
Good suggestion! Renamed master branch to main |
My emails to @niemeyer regarding PyPI access seem to go unanswered. @scls19fr could you perhaps get in touch with @niemeyer, or provide me with an alternative means of contact? My contact details are on my website. |
what about a new name? |
Yes, definitely, I had already created a python-constaint2 for beta testing. However, |
Hi all! A while ago I implemented
python-constraint
in Kernel Tuner, an auto-tuning framework where we need to obtain all solutions on user-specified parameters and constraints before starting optimization.python-constraint
works great, but it had some room for improvement, especially performance-wise.I thus decided to fork
python-constraint
and make some changes, the following:OptimizedBacktracking
solver based on issue #62getSolutionsOrderedList
andgetSolutionsAsListDict
functions for efficient result shapingsetup.py
topyproject.toml
nox
for local testing against all supported Python versionsruff
for codestyle testingIn all, this results in a huge speedup of >150x on a benchmark of 112 synthetic searchspaces:

I'd like to hear what the mainainers think about these changes and would be happy to see them integrated! Before releasing this, I think it would be a good idea to revise the package publishing process, and consider switching to GitHub Actions (I can help with this). If there are any questions, please let me know!