prompt-toolkit / python-prompt-toolkit

Library for building powerful interactive command line applications in Python
https://python-prompt-toolkit.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
9.11k stars 718 forks source link

Make VERSION tuple numeric. #1708

Closed Carreau closed 1 year ago

Carreau commented 1 year ago

Note that by being numeric we drop the rc/a/b/dev suffix. I'm also adding the pep440 regular expression to make sure the version number match the spec.

The pep 440 spec is a bit annoying with the fact that a/b/rc don't have dots, but .dev do.

There are some issues if you don't follow the spec and publish both whl/tgz, as pip will mix-up the values, and think the tgz are actually a more recent version than the whl. It may be fixed in setuptools/pip, but better be safe.

Ii did not go the route of setting VERSION and having version be a '.'.join() as setup.py use regex to extract version number.

Maye docs/conf.py could also use the same trick as setup.py to avoid having to update the version number in multiple places ?

Closes #1707

jonathanslenders commented 1 year ago

Hi @Carreau , I see that you're assigning to the pep440 variable, but I don't see it used anywhere. Is there anything that I'm missing?

BTW: about the failing tests, I just fixed that: https://github.com/prompt-toolkit/python-prompt-toolkit/pull/1711

Carreau commented 1 year ago

Yeah, it's better to add before committing....

Rebased/squashed and force pushed. I've relaxed also the regex a bit compared to the official one that is meant to work only for releases.

jonathanslenders commented 1 year ago

Thank you!