Note: there's an open question about whether interface variance should be inferred or be user-declared (defaulting to invariant unless declared otherwise). The current draft uses inferred invariance. See e.g. discussion at https://github.com/python/peps/pull/243#issuecomment-295826456.
* Change the specification example to be clearer.
Previously, we compared python_version < "2.7.10".
As python_version only keeps the major and minor number (2.7, 3.2),
it could lead to unexpected behaviour when comparing to 3-parts versions.
Changing the example might reduce the risk of making that small but
confusing mistake.
* Fix mistake in Backwards Compatibility about python_version.
In this section, it said:
"handle version comparisons with python_version "2.7.10" differently."
while is should have mentionned python_full_version, as python_version
will never have a 3-part version value.
- using PYTHONIOENCODING poses a compatibility problem for
Python 2 subprocesses, so use Py_SetStandardStreamEncoding
instead
- note that components checking for "no output on stderr
means success" will either need to avoid the warning or
switch to checking return codes instead
- Docker, Inc. ends with a full stop, not a comma (noted by
Jan Pokorný)
- explicitly acknowledge Charalampos Stratakis's work on the
Fedora 26 backport
- make expected filename pysdist.json and be clear this
metadata is about the published source code, not any
particular built or installed artifacts
- defer any changes to handling of project obsolescence
- add "all" and "alldev" as implied extras if not defined
- drop "self", "runtime" and proposed changes to the extras
notation
- reference implementation should align with the PEP now, aside from
excluding Mac OS X from the changes
- Fedora's initial 3.6 release is going to be 3.6.1, so reword the
backport section accordingly
- PYTHONCOERCECLOCALE=0 now also disables the library warning
- PEP just refers to locale-aware/locale-independent components,
without specifically limiting that to C/C++ components
- move Semantic Dependencies over to the Extras system
- integrate appropriate references to PEP 508
- cut no longer relevant "status report" sections
- cut explanations of changes that were moved to PEP 459
- updates reference implementation to use PYTHONCOERCECLOCALE
- removes hard dependency on PEP 540
- still notes PEP 540 covers case where no relevant C-with-UTF-8
locale is available
- clarifies that these settings are still recommended over the
legacy C locale settings for older Python 3 versions, even if
we don't recommend backporting the automatic coercion
PEP 508 ended up covering all the details of dependency declarations,
including environment markers.
"Superseded" seems to better reflect that status than "Rejected".