about summary refs log tree commit diff homepage
path: root/blog/2020/gsoc/article/3.md
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2021-09-21 17:02:17 +0700
committerNguyễn Gia Phong <mcsinyx@disroot.org>2021-09-21 17:02:17 +0700
commit2c085d53133fd267a809d0a4e2cbf9421ea2a2a8 (patch)
treea0ede5321105f8a92449d17bf0fcd999dac0a382 /blog/2020/gsoc/article/3.md
parent7d8ce2a7f598312e3501b53d34ff8146b4dba0a6 (diff)
downloadsite-2c085d53133fd267a809d0a4e2cbf9421ea2a2a8.tar.gz
Reorganize GSoC 2020
Diffstat (limited to 'blog/2020/gsoc/article/3.md')
-rw-r--r--blog/2020/gsoc/article/3.md78
1 files changed, 78 insertions, 0 deletions
diff --git a/blog/2020/gsoc/article/3.md b/blog/2020/gsoc/article/3.md
new file mode 100644
index 0000000..9c41b31
--- /dev/null
+++ b/blog/2020/gsoc/article/3.md
@@ -0,0 +1,78 @@
++++
+rss = "GSoC 2020: I'm Not Drowning On My Own"
+date = Date(2020, 7, 6)
++++
+@def tags = ["pip", "gsoc"]
+
+# I'm Not Drowning On My Own
+
+\toc
+
+## Cold Water
+
+Hello there!  My schoolyear is coming to an end, with some final assignments
+and group projects left to be done.  I for sure underestimated the workload
+of these and in the last (and probably next) few days I'm drowning in work
+trying to meet my deadlines.
+
+One project that might be remotely relevant is [cheese-shop][], which tries to
+manage the metadata of packages from the real [Cheese Shop][].  Other than that,
+schoolwork is draining a lot of my time and I can't remember the last time
+I came up with something new for my GSoC project )-;
+
+## Warm Water
+
+On the bright side, I received a lot of help and encouragement
+from contributors and stakeholders of `pip`.  In the last week alone,
+I had five pull requests merged:
+
+* {{pip 8332}}: Add license requirement to `_vendor/README.rst`
+* {{pip 8320}}: Add utilities for parallelization
+* {{pip 8504}}: Parallelize `pip list --outdated` and `--uptodate`
+* {{pip 8411}}: Refactor `operations.prepare.prepare_linked_requirement`
+* {{pip 8467}}: Add utitlity to lazily acquire wheel metadata over HTTP
+
+In addition to helping me getting my PRs merged, my mentor Pradyun Gedam
+also gave me my first official feedback, including what I'm doing right
+(and wrong too!) and what I should keep doing to increase the chance of
+the project being successful.
+
+{{pip 7819}}'s roadmap (Danny McClanahan's discoveries and works on lazy wheels)
+is being closely tracked by `hatch`'s maintainter Ofek Lev, which really
+makes me proud and warms my heart, that what I'm helping build is actually
+needed by the community!
+
+## Learning How To Swim
+
+With {{pip 8467}} and {{pip 8530}} merged, I'm now working on {{pip 8532}}
+which aims to roll out the lazy wheel as the way to obtain
+dependency information via the CLI flag `--use-feature=lazy-wheel`.
+
+{{pip 8532}} was failing initially, despite being relatively trivial and that
+the commit it used to base on was passing.  Surprisingly, after rebasing it
+on top of {{pip 8530}}, it suddenly became green mysteriously.  After the first
+(early) review, I was able to iterate on my earlier code, which used
+the ambiguous exception `RuntimeError`.
+
+The rest to be done is *just* adding some functional tests (I'm pretty sure
+this will be either overwhelming or underwhelming) to make sure that
+the command-line flag is working correctly.  Hopefully this can make it into
+the beta of the upcoming release {{pip 8511 "this month"}}.
+
+![Lazy wheel](/assets/lazy-wheel.jpg)
+
+In other news, I've also submitted {{pip 8538 "a patch improving the tests
+for the parallelization utilities"}}, which was really messy as I wrote them.
+Better late than never!
+
+Metaphors aside, I actually can't swim d-:
+
+## Diving Plan
+
+After {{pip 8532}}, I think I'll try to parallelize downloads of wheels
+that are lazily fetched only for metadata.  By the current implementation
+of the new resolver, for `pip install`, this can be injected directly
+between the resolution and build/installation process.
+
+[cheese-shop]: https://github.com/McSinyx/cheese-shop
+[Cheese Shop]: https://pypi.org