diff --git a/dependency-specification.rst b/dependency-specification.rst index d60df6e..72a87f1 100644 --- a/dependency-specification.rst +++ b/dependency-specification.rst @@ -117,7 +117,8 @@ environments:: Optional components of a distribution may be specified using the extras field::
@@ -199,13 +205,18 @@ do for strings in Python. The <version_cmp> operators use the PEP-440 [#pep440]_ version comparison rules when those are defined (that is when both sides have a valid version specifier). If there is no defined PEP-440 behaviour and the operator exists in Python, then the operator falls back to -the Python behaviour. Otherwise the result of the operator is False. +the Python behaviour. Otherwise an error should be raised. e.g. the following +will result in errors:: +
python_version ~= "surprise"
User supplied constants are always encoded as strings with either
" quote marks. Note that backslash escapes are not defined, but existing
implementations do support them them. They are not included in this
-specification because none of the variables to which constants can be compared
-contain quote-requiring values.
+specification because they add complexity and there is no observable need for
+them today. Similarly we do not define non-ASCII character support: all the
+runtime variables we are referencing are expected to be ASCII-only.
The variables in the marker grammar such as "os_name" resolve to values looked
up in the Python runtime. With the exception of "extra" all values are defined
@@ -223,8 +234,8 @@ The "extra" variable is special. It is used by
wheels to signal which
specifications apply to a given extra in the wheel
METADATA file, but
METADATA file is based on a draft version of PEP-426, there is
no current specification for this. Regardless, outside of a context where this
-special handling is taking place, the "extra" variable should result in a
-SyntaxError like all other unknown variables.
+special handling is taking place, the "extra" variable should result in an
+error like all other unknown variables.
.. list-table:: :header-rows: 1 @@ -237,7 +248,8 @@ SyntaxError like all other unknown variables.
java1.8.0_51(note that "linux"
x86_64@@ -268,7 +280,7 @@ SyntaxError like all other unknown variables.
@@ -282,7 +294,10 @@ The
implementation_version marker variable is
version += kind + str(info.serial)
implementation_version = "0"
@@ -322,9 +337,9 @@ we needed a specification that included them in their modern form. This PEP brings together all the currently unspecified components into a specified form.
-The requirement specifier EBNF is lifted from setuptools pkg_resources -documentation, since we wish to avoid depending on a defacto, vs PEP -specified, standard. +The requirement specifier was adopted from the EBNF in the setuptools +pkg_resources documentation, since we wish to avoid depending on a defacto, vs +PEP specified, standard.
@@ -333,14 +348,14 @@ The complete parsley grammar::
wsp = ' ' | '\t' version_cmp = wsp* <'<' | '<=' | '!=' | '==' | '>=' | '>' | '~=' | '==='>
On 11 November 2015 at 19:41, Nick Coghlan firstname.lastname@example.org wrote:
On 11 November 2015 at 16:11, Robert Collins email@example.com wrote:
Right, Vinay pointed out that the use of parentheses for grouping wasn't well defined in 345, but instead grew implicitly out of their evaluation as a Python subset. I attempted to fix that in 426, but didn't intend to allow non-comparisons as operands for AND and OR.
-- Nick Coghlan | firstname.lastname@example.org | Brisbane, Australia
-- Robert Collins email@example.com Distinguished Technologist HP Converged Cloud