Skip to content

Commit d4dba2d

Browse files
authored
PEP 773: Replace open issues with decisions. Remove empty footnotes section (#4378)
1 parent 95793de commit d4dba2d

File tree

1 file changed

+42
-41
lines changed

1 file changed

+42
-41
lines changed

peps/pep-0773.rst

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,6 +1099,13 @@ almost equivalent packages from NuGet (the latter does not include Tcl/Tk,
10991099
making them significantly incompatible for some users, but this is likely okay
11001100
for especially old versions).
11011101

1102+
As of this PEP's acceptance, the plan is to create packages for all versions of
1103+
Python 3.10.0 onwards (including patch releases, but excluding pre-releases), so that all non-EOL releases can
1104+
be fully installed using PyManager. Versions from Python 3.5.0 onwards (excluding
1105+
pre-releases) will directly reference the packages on NuGet, making them easily
1106+
available in reduced form. Neither approach requires rebuilding the existing
1107+
releases, nor are any changes required to the sources of those releases.
1108+
11021109

11031110
Administrator installs
11041111
----------------------
@@ -1149,6 +1156,41 @@ substitution of 64-bit binaries. As PyManager runs as a standalone executable,
11491156
this is not a necessary feature for the manager.
11501157

11511158

1159+
Test suite and debug symbols
1160+
----------------------------
1161+
1162+
The existing installer optionally allows installation of the Python standard
1163+
library test suite, and optional installation of debug symbols. Neither of these
1164+
are necessary for most users, but they are convenient for some. Preliminary
1165+
testing shows that omitting the test suite and debug symbols saves about 60% of
1166+
the size of the compressed package (from 46MB to 18MB).
1167+
1168+
The "default" CPython packages installed by PyManager will therefore not include
1169+
the test suite or the debug symbols. However, there will be a second set of
1170+
packages that do include these extras, grouped under ``PythonTest`` (as opposed
1171+
to the default, ``PythonCore``). For example, where ``py install 3.13`` would
1172+
install the default, ``py install PythonTest\\3.13`` would install a second
1173+
runtime with the additional files (which can either be launched with ``py
1174+
-V:PythonTest\\3.13``, or simply ``py -V:3.13`` if no equivalent ``PythonCore``
1175+
version is installed).
1176+
1177+
Debug binaries are no longer distributed, and all other optional features are
1178+
included by default.
1179+
1180+
1181+
Global pip command
1182+
------------------
1183+
1184+
Unlike the current Windows Store install, no global ``pip`` command is included
1185+
(the traditional installer also does not include a global ``pip`` command,
1186+
unless the options to modify ``PATH`` and to install pip are selected; the first
1187+
of these is off by default). This impacts global installation of packages, which
1188+
is already discouraged, but has no impact on activated virtual environments.
1189+
1190+
The existing recommendation remains, which is to run ``python -m pip`` or
1191+
``py -V:<TAG> -m pip`` to launch pip.
1192+
1193+
11521194
Security Implications
11531195
=====================
11541196

@@ -1672,47 +1714,6 @@ We could also detect the metadata and warn if the selected runtime does not
16721714
match its requirement, but this is not part of the initial proposal.
16731715

16741716

1675-
Open Issues
1676-
===========
1677-
1678-
Generate packages for old versions
1679-
----------------------------------
1680-
1681-
At present, we can install versions of Python back to 3.5 from the NuGet feed.
1682-
These are identical to the traditional installer releases of the same versions,
1683-
but do not include Tkinter, IDLE, documentation, or the test suite. However, it
1684-
is very little work (and no additional storage space) to use them for older
1685-
releases.
1686-
1687-
New binaries releases will generate new packages, even for already released
1688-
versions (currently 3.12 and 3.13). So these will exist. The open issue is
1689-
whether we go back through old releases and generate full PyManager packages for
1690-
them all, and how far back to go. This is merely repackaging, and does not
1691-
require rebuilding or modifying the release.
1692-
1693-
1694-
Include test suite in PyManager packages
1695-
----------------------------------------
1696-
1697-
The test suite consumes the majority of the size of our current distribution,
1698-
but is not intended to be used by most of our users. By omitting it from the
1699-
standard PyManager package, all downloads become smaller and faster, at the cost
1700-
of some users having to obtain the test suite in another way (such as building
1701-
from source).
1702-
1703-
It seems obviously preferable to have some way to access the exact test suite
1704-
intended for a particular build. So the question is whether to include it by
1705-
default (there are no optional components anymore), to publish it independently
1706-
(for manual download as a ZIP file), or to publish a second feed of packages
1707-
that include both the runtime and the test suite.
1708-
1709-
1710-
Footnotes
1711-
=========
1712-
1713-
TODO: Collate references
1714-
1715-
17161717
Copyright
17171718
=========
17181719

0 commit comments

Comments
 (0)