Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The rinds of the Cheese Shop menu (piwheels.org)
35 points by ntoll on Aug 4, 2021 | hide | past | favorite | 7 comments


Some fun archaeology and digging around into the dark and weird corners of PyPI. I, for one, didn't realise that "Kenneth Reitz" is a perfectly valid version number! :-)


> There are 16 versions on PyPI which end in a newline character. Of these 16, 12 have registered the stripped equivalent too ... Visually, on PyPI, these look identical

I often navigate through package versions in the PyPI website, and seeing something like this would have driven me nuts!


> A PyPI package version doesn’t have to be strictly numeric – they’re usually in the form 1.2.3 or similar, sometimes with characters appended to indicate alpha, beta, dev or release candidate, but they can be any string.

Wait... they don't have to be valid semver? How in the world does resolution work?


My favorite non-numeric version example in the article:

Sysv_ipc gives Python programs access to System V semaphores, shared memory and message queues. Most (all?) Unixes (including OS X) support System V IPC. Windows+Cygwin 1.7 might also work.

Sample code is included.

This extension is released under the GPL.

You might also be interested in the similar POSIX IPC module at: http://semanchuk.com/philip/posix_ipc/


A lot of packages actually use PEP 440 versioning: https://www.python.org/dev/peps/pep-0440/

But this is very close to semver and resolution works very similarly.



This is absolutely beautiful. Thank you for submitting it, OP.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: