Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #13262

P

Pradyun Gedam

Personal blog · pradyunsg.me/blogprogrammingsystems

Pradyun Gedam's personal blog at pradyunsg.me covers programming and systems. Since 2021, 6 different Hacker News readers have linked it 14 times, most often “Thoughts on the Python Packaging Ecosystem”. It is still writing: the last post was on 2026-04-21, and you can follow it by feed.

Visit the blog
14mentions?
6HN people?
2021–2025first – last linked?
Links on Hacker News per year · peak 9 in 2025

Too few sampled comments (3) to say how often HN recommends it.?

Why HN links it

HN commenters link his posts on Python packaging: a wheels speed post, a forked stringcase write-up, and pip versus cargo. The comments cite these posts without evaluating the writing.

Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

I code, volunteer, speak, and occasionally blog. You may know me from various places on the internet.

Most-linked posts?

  1. Thoughts on the Python Packaging Ecosystem
    3 people · 3 mentions · first linked 2023-01-21
  2. Furo – A clean customizable documentation theme for Sphinx
    2 people · 2 mentions · first linked 2021-03-02

What Hacker News says?

  1. For that matter, IMX much of what people praise uv for is simply stuff that pip (and venv) can now do that it couldn't back when they gave up on pip. Which in turn has become possible because of several ecosystem standards (defined across many PEPs) and increasing awareness and adoption of those standards. The "install things that have complex non-Python dependencies using pip" story is much better than several year…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “Uv is the best thing to happen to the Python ecosystem in a decade”
  2. Submitted Furo – A clean customizable documentation theme for Sphinx as a story · 2 points

    HN discussion
  3. ... So if the installer isn't going to ignore the version requirements, and thereby install an unsupported package that causes a breakage, then there isn't a problem with "scripts being broken because people didn't pin their dependencies". The packages listed in the PEP 723 metadata get installed by an installer, which resolves the listed (unpinned) dependencies to concrete ones (including transitive dependencies),…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “Fun with uv and PEP 723”
  4. Submitted Thoughts on the Python Packaging Ecosystem as a story · 1 points

    HN discussion
  5. >Seems that if I want my package to be installed, I need to pick a build system, regardless of if I am using any native code. If you want to distribute it to be installable by others, yes. Except that at least for now, installers will assume Setuptools by default if you don't mention anything in your `pyproject.toml`. >but to me, as a Python developer who wants to be able to publish a pure Python CLI program to PyPI…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “Uv's killer feature is making ad-hoc environments easy”
  6. Submitted Thoughts on the Python Packaging Ecosystem as a story · 1 points

    HN discussion
  7. > In practice, many built distributions contain binary artifacts (e.g. builds of CPython extensions). This differentiates them from source distributions This seems like a good opportunity to mention that that the wheel isn't required to contain any non-Python content, and indeed it's strongly preferred to provide one even (I would say "especially") when there is no meaningful "build step" ( https://pradyunsg.me/blog…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “Wheels for free-threaded Python now available for psutil”
  8. Dependency metadata is published within packages - both for wheels (prebuilt) and sdists (source that requires a build step - these projects often include non-Python code, but you can still request an entirely pointless build step for a Python-only project. But please read https://pradyunsg.me/blog/2022/12/31/wheels-are-faster-pure-... and don't do that.) PyPI even extracts it in most cases, to my understanding, so…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “Show HN: Pipask – safer pip without compromising convenience”
  9. Clickable footnotes: [0]: https://pypi.org/project/stringcase [1]: https://pypistats.org/packages/stringcase [2]: https://pradyunsg.me/blog/2022/12/31/wheels-are-faster-pure-... [3]: https://github.com/pypa/setuptools/issues/4910 [4]: https://github.com/zahlman/stringcase-new [5]: https://pypi.org/project/stringcase-new [6]: https://github.com/dmlls/python-casefy [7]: https://pypistats.org/packages/casefy [8]: https…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python

    on “Tell HN: I forked and republished a popular, abandoned Python library”
  10. I think they have split it into far too many small pages, the whole CLI section should be one page, it not the whole lot. Slight aside though, they have used the Material theme for MKDocs, which is much more than a theme, it's a whole extension package of bells a whistles for MKDocs. I'm not actually too keen on "Material for MKDocs" [0], I like all the clever plugins, but the theme itself I find distracting and too…

    Comment linking /furo/

    on “Lightweight Alpine VMs on macOS”
  11. It certainly seems that way. Guido wasn’t interested in solving it and it was probably one of the things, like a gradual typing system which he was interested in, that he should have made a core issue because of its centrality. Curiously, I wonder whether current leadership are unwilling to acknowledge that the current problems are essentially a leadership problem. See for example my short conversation with Pradyun…

    Comment linking /blog/2023/01/21/thoughts-on-python-packaging/

    on “Pip and cargo are not the same”
  12. Some more thoughts after digging in a bit further: * At first blush, the "breaks the Internet" title on Reddit seems quite histrionic. The initial bug report against Setuptools referenced a project ( https://github.com/tomoh1r/ansible-vault ) that has only a few dozen starts on GitHub and only a few thousand daily downloads from PyPI ( https://pypistats.org/packages/ansible-vault ) (compare to tens of millions for t…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “Latest Setuptools broke a bunch of packages”
  13. > None of this requires Rust. Indeed. As demonstrated by the fact that pip has been doing exactly the same for years. Part of the reason things are improving is that "tries PEP 658 metadata first" is more likely to succeed, and at some point build tools may have become more aware of how pip expects the zip to be organized (see https://packaging.python.org/en/latest/specifications/binary... ), and way more projects s…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “How uv got so fast”
  14. > Isn't assigning out what all made things fast presumptive without benchmarks? We also have the benchmark of "pip now vs. pip years ago". That has to be controlled for pip version and Python version, but the former hasn't seen a lot of changes that are relevant for most cases, as far as I can tell. > This also doesn't cover subtle things. Unsure if rkyv is being used to reduce the number of times that TOML is parse…

    Comment linking /blog/2022/12/31/wheels-are-faster-pure-python/

    on “How uv got so fast”

Search all of HN for pradyunsg.me