+++ date = Date(2020, 6, 1) tags = ["gsoc", "pip"] +++ # First Check-In Hi everyone, I am McSinyx, a Vietnamese undergraduate student who loves [free software]. This summer I am working with the maintainers and the contributors of `pip` to make the package manager {{pip 825 "download in parallel"}}. ## What did I do during the community bonding period? Aside from bonding with `pip`'s maintainers and contributors as well as with my mentors, I was also experimenting on the theoretical and technical obstacles blocking this GSoC project. Pradyun Gedam (a mentor of mine) suggested making [a proof of concept] to determine if parallel downloading can play nicely with ResolveLib_'s abstraction and we are reviewing it together. On the technical side, we `pip`'s committers are exploring {{pip 8169 "available options for parallelization"}} and I made an attempt to {{pip 8320 "make use of Python's standard worker pool in a portable way"}}. ## Did I get stuck anywhere? Yes, of course! Neither of the experiments above is finished as of this moment. Though, I am optimistic that the issues will not be real blockers and we will figure that out in the next few days. ## What is coming up next? As planned, this week I am going to refactor the package downloading code in `pip`. The main purpose is to decouple the networking code from the package preparation operation and make sure that it is thread-safe. In addition, I am also continuing mentioned experiments to have a better confidence on the future of this GSoC project. To other GSoC students, mentors and admins reading this, I am wishing you all good health and successful projects this summer! [free software]: https://www.gnu.org/philosophy/free-sw.html [a proof of concept]: https://gist.github.com/McSinyx/513dbff71174fcc79f1cb600e09881af [ResolveLib]: https://pypi.org/project/resolvelib