Hacker News new | ask | show | jobs
by brundolf 1773 days ago
> 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?

2 comments

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.