This was discussed some months ago on python-dev. Having tons of links
to the definition of True would be annoying, contrary to links to e.g.
the nonlocal or with statements doc.
The right-hand part in [extension: foo] is now used as the name of the
extension module. (I changed the separator from = to : and allowed
whitespace to make the sections look nicer.)
This huge module is the heir of six distutils modules, and contains
a number of miscellaneous functions. I have attempted to help readers
of the source code with an annoted __all__. Removed or deprecated
functions have been removed from the documentation; I’m working on
another patch to document the remaining public functions.
For the curious:
The unzip_file and untar_file were used by (or intended to be used by)
“pysetup install path/to/archive.tar.gz”, but the code presently used
shutil.unpack_archive and an helper function, so I just deleted them.
They’re still in the repository if we need them in the future.
The find_packages function is not used anymore but I want to discuss
module and package auto-discovery (in “pysetup create”) again before
removing it.
subst_vars now lives in sysconfig; rfc822_escape is inlined in
packaging.metadata. Other functions are for internal use only, or
deprecated; I have left them out of __all__ and sprinkled TODO notes
for future cleanups.
Packaging uses the shutil.make_archive function copied from distutils,
which does not support compress. There is no test to check that
“bdist --format whatever” works, so this slipped by.
When called without option (“-f field” or “--all”), “pysetup metadata”
didn’t do anything useful. Now it prints out all metadata fields. The
“--all” option is removed.
On Linux, sys.platform doesn't contain the major version anymore. It is now
always 'linux', instead of 'linux2' or 'linux3' depending on the Linux version
used to build Python.
I added a link from the term “virtual subclass” to the glossary entry
for ABCs but this was not enough, now the glossary briefly defines
“virtual” and links to the abc module doc which contains more mentions
of virtual subclasses.
``code`` markup is enough to mark command-line fragments or to talk
about a character. ``'c'`` is still used for actual Python string
objects. I did a similar change in optparse.rst in r86521.
I’ve also ported two minor changes from the 3.3 version of the file
(removing an unnecessary module name in a class directive, adding a
comma).
I made the doc for the compat alias BadZipfile shorter and used a
directive to document deprecation.
I figured there was no point of talking about zipfile.error (“the old
name” that’s older than the other old name BadZipfile) in the 3.x docs
so I just removed it.
- Move a test from call time to define time
- Add the function name to __all__
- Improve docstring and docs
A few lines are now duplicated (named tuple definition and docstring)
but I think the end result reads better.
In the install and library docs, I changed the text to refer to
packaging instead of distutils. I also checked that the documented
paths correctly reflect what’s really defined in sysconfig; the main
difference with paths defined in distutils.install is that include
directories don’t end with the distribution name anymore (i.e. distutils
uses include/python3.3/spam, sysconfig include/python3.3), I have no
idea why.
This started out as an easy task, just add a section describing this
alternate scheme, but I found a lot of cleanup to do along the way:
- fixed inverted reST targets
- fixed entries for modules (hi abiflags!) or data files
- avoided duplicating the same options listing five or six times
- added missing entries for C headers locations
- added documentation for --install-lib
- fixed a few misuses of the option role (see #9312), but not all (not
worth the time, but will do it in packaging docs)
- fixed some markup
The paths fixes were done with an eye on the source code in the install
command, so they really describe what’s actually done. The situation on
Mac OS X is rather messy: the fix for #8084 touched site and sysconfig,
but distutils doesn’t use these files. I suspect we have a mismatched
stdlib at the moment, and the fix is not even clear (see the bug report
for further discussion).
site.USER_BASE and site.USER_SITE are now fully documented. PEP 370 is
outdated with respects to the Mac framework situation, but the code in
sysconfig and the example in the 3.2 What’s New document helped me find
the right values to document for Mac OS X.
The command-line interface of the site module, partly documented in the
3.2 What’s New, is fully described in the module docs.
The purpose of the usercustomize module is explained in the site docs,
with a gentle introduction in the tutorial (right after the section that
talks about PYTHONSTARTUP; a comment mentions it should be moved from
the tutorial to another file, but that will be another bug).
Various markup and wording improvements were made along the way in the
site module docs. Duplicate and incomplete declarations of environment
variables have also been removed (the original bug report was actually
about these entries :). The site module docs are still a bit messy;
I’ll see about improving them for #11553.
All these sections are copiously interlinked and findable from the doc
indexes.