-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PEP 440 Implementation #1
Conversation
|
||
# TODO We deviate from the spec in that local versions are sorted | ||
# lexicographically. We need a sort order but it appears the PEP will go | ||
# a different way. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more than just sorting, the fact that you're allowing letters at all.
the spec is written to only support -N[.N]+]
, although there was a recent conversation to change that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean gosh, it's a whole 2 days old, keep up! ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, that hasn't made it up to the PEP page yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had brought it up recently here: https://mail.python.org/pipermail/distutils-sig/2014-May/024185.html
so I figured an update was coming.
Instead of normalizing 1.0 to 1, we'll continue to keep all of the digits that a version normally contains so we can more faithfully recreate it. The compare key will still continue to drop trailing zeros for comparing versions.
The : character has special connotations on Windows, which makes it an invalid character, so we'll use ! instead which is not an invalid character.
@@ -32,7 +33,7 @@ basepython = python2.6 | |||
deps = | |||
flake8 | |||
pep8-naming | |||
commands = flake8 . | |||
commands = flake8 . --exclude tasks/*,.tox,*.egg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should put the exclude in the flake8
section so that people can just run flake8
on the CLI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason I did this, was at the time the tasks were Python 3 only. That might not actually be the case anymore though.
Reference | ||
--------- | ||
|
||
.. class:: Version(version) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC the things in parens in a Sphinx class definition should be base classes, not arguments for init.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
http://sphinx-doc.org/domains.html#directive-py:class seems to indicate otherwise!
TODO
~=N
is a valid operator (issue).~=N
.Version()
and.Version.suggest()
pkg_resources
sorts them.ImplementVersion.suggest()
.Version().is_prerelease
or something similar.+
as a separator rather than~
. See issue..devN
segment (e.g.==1.0.dev1.*
).===<anything>
which can be used as an escape hatch for non conformant versions.Pending PEP Updates
.
~=
like~=1
.pkg_resources
style.rc
andc
equivalency.+
instead of~
for local versions..devN
segment (e.g.==1.0.dev1.*
).===<anything>
escape hatch.