Welcome to our independent study project.
We are students from NCTU that work on our project about implement version solving algorithm - Pubgrub into python's package installer - pip.
The problem we want to resolve
In this issue - https://github.com/pypa/pip/issues/7406, pip's team want to improve the efficiency about package resolving process by a new algorithm *Pubgrub*. It's an algorithm to solve the sat problem faster than before. After we implement it, the version solver can use less steps to finish computing the result.
What we do
First we read some documents about pubgrub like article in medium and solver.md file in github (you can click Reference on top to see what we read) to know how pubgrub work. We also read the source code of pubgrub implementation on github
(pub and mixology)
And then we want to compare pubgrub and the origin algorithm uesd in pip, so we read pip's source code.
After reading, we know more about pubgrub and pip origin algorithm, and we made a slide to show an example to elaborate the difference between these two algorithm
Next .....
Current progress
Now we forked pip to replace the algorithm by pubgrub, and we start to code. We want to end this project in the end of 2020.Besides that, we also read the tests code in pip to know how the resolver work, and we classify them and make some commets on each test to show what situation it want to test. (you can check in Articles)
more detail
As we mentained above, all document and resource that we read, you can find it in Reference, and you can see more detail about what you do in Articles