Skip to content

Commit

Permalink
Drop support for soon-EOL Python 3.6
Browse files Browse the repository at this point in the history
  • Loading branch information
hugovk committed Nov 8, 2021
1 parent d81c65a commit 0252c04
Show file tree
Hide file tree
Showing 12 changed files with 40 additions and 228 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/ci.yml
Expand Up @@ -102,11 +102,10 @@ jobs:
matrix:
os: [Ubuntu, MacOS]
python:
- 3.6
- 3.7
- 3.8
- 3.9
- "3.10.0-alpha - 3.10"
- "3.10"

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -151,12 +150,11 @@ jobs:
matrix:
os: [Windows]
python:
- 3.6
- 3.7
# Commented out, since Windows tests are expensively slow.
# - 3.7
# - 3.8
- 3.9
- "3.10.0-alpha - 3.10"
- "3.10"
group: [1, 2]

steps:
Expand Down
46 changes: 22 additions & 24 deletions docs/html/development/ci.rst
Expand Up @@ -18,17 +18,17 @@ Supported interpreters

pip support a variety of Python interpreters:

- CPython 3.6
- CPython 3.7
- CPython 3.8
- CPython 3.9
- CPython 3.10
- Latest PyPy3

on different operating systems:

- Linux
- Windows
- MacOS
- macOS

and on different architectures:

Expand Down Expand Up @@ -77,9 +77,9 @@ Developer tasks
======== =============== ================ ================== =============
OS docs lint vendoring packaging
======== =============== ================ ================== =============
Linux Github Github Github Github
Windows Github Github Github Github
MacOS Github Github Github Github
Linux GitHub GitHub GitHub GitHub
Windows GitHub GitHub GitHub GitHub
macOS GitHub GitHub GitHub GitHub
======== =============== ================ ================== =============

Actual testing
Expand All @@ -88,28 +88,26 @@ Actual testing
+------------------------------+---------------+-----------------+
| **interpreter** | **unit** | **integration** |
+-----------+----------+-------+---------------+-----------------+
| | | CP3.6 | | |
| | +-------+---------------+-----------------+
| | x86 | CP3.7 | | |
| | +-------+---------------+-----------------+
| | | CP3.8 | | |
| | +-------+---------------+-----------------+
| | | CP3.9 | | |
| | +-------+---------------+-----------------+
| | | CP3.10| | |
| | +-------+---------------+-----------------+
| | | PyPy3 | | |
| Windows +----------+-------+---------------+-----------------+
| | | CP3.6 | Github | Github |
| | +-------+---------------+-----------------+
| | x64 | CP3.7 | | |
| | x64 | CP3.7 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | CP3.8 | | |
| | +-------+---------------+-----------------+
| | | CP3.9 | Github | Github |
| | | CP3.9 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | CP3.10| GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | PyPy3 | | |
+-----------+----------+-------+---------------+-----------------+
| | | CP3.6 | | |
| | +-------+---------------+-----------------+
| | x86 | CP3.7 | | |
| | +-------+---------------+-----------------+
| | | CP3.8 | | |
Expand All @@ -118,33 +116,33 @@ Actual testing
| | +-------+---------------+-----------------+
| | | PyPy3 | | |
| Linux +----------+-------+---------------+-----------------+
| | | CP3.6 | Github | Github |
| | x64 | CP3.7 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | x64 | CP3.7 | Github | Github |
| | | CP3.8 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | CP3.8 | Github | Github |
| | | CP3.9 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | CP3.9 | Github | Github |
| | | CP3.10| GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | PyPy3 | | |
+-----------+----------+-------+---------------+-----------------+
| | | CP3.6 | | |
| | +-------+---------------+-----------------+
| | x86 | CP3.7 | | |
| | +-------+---------------+-----------------+
| | | CP3.8 | | |
| | +-------+---------------+-----------------+
| | | CP3.9 | | |
| | +-------+---------------+-----------------+
| | | CP3.10| | |
| | +-------+---------------+-----------------+
| | | PyPy3 | | |
| MacOS +----------+-------+---------------+-----------------+
| | | CP3.6 | Github | Github |
| macOS +----------+-------+---------------+-----------------+
| | x64 | CP3.7 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | x64 | CP3.7 | Github | Github |
| | | CP3.8 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | CP3.8 | Github | Github |
| | | CP3.9 | GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | CP3.9 | Github | Github |
| | | CP3.10| GitHub | GitHub |
| | +-------+---------------+-----------------+
| | | PyPy3 | | |
+-----------+----------+-------+---------------+-----------------+
16 changes: 8 additions & 8 deletions docs/html/development/getting-started.rst
Expand Up @@ -70,15 +70,15 @@ To run tests:

.. code-block:: console
$ tox -e py36 -- -n auto
$ tox -e py310 -- -n auto
To run tests without parallelization, run:

.. code-block:: console
$ tox -e py36
$ tox -e py310
The example above runs tests against Python 3.6. You can also use other
The example above runs tests against Python 3.10. You can also use other
versions like ``py39`` and ``pypy3``.

``tox`` has been configured to forward any additional arguments it is given to
Expand All @@ -88,11 +88,11 @@ can select tests using the various ways that pytest provides:
.. code-block:: console
$ # Using file name
$ tox -e py36 -- tests/functional/test_install.py
$ tox -e py310 -- tests/functional/test_install.py
$ # Using markers
$ tox -e py36 -- -m unit
$ tox -e py310 -- -m unit
$ # Using keywords
$ tox -e py36 -- -k "install and not wheel"
$ tox -e py310 -- -k "install and not wheel"
Running pip's entire test suite requires supported version control tools
(subversion, bazaar, git, and mercurial) to be installed. If you are missing
Expand All @@ -101,8 +101,8 @@ explicitly tell pytest to skip those tests:

.. code-block:: console
$ tox -e py36 -- -k "not svn"
$ tox -e py36 -- -k "not (svn or git)"
$ tox -e py310 -- -k "not svn"
$ tox -e py310 -- -k "not (svn or git)"
Running Linters
Expand Down
2 changes: 1 addition & 1 deletion docs/html/installation.md
Expand Up @@ -75,7 +75,7 @@ $ pip install --upgrade pip
The current version of pip works on:

- Windows, Linux and MacOS.
- CPython 3.6, 3.7, 3.8, 3.9, 3.10 and latest PyPy3.
- CPython 3.7, 3.8, 3.9, 3.10 and latest PyPy3.

pip is tested to work on the latest patch version of the Python interpreter,
for each of the minor versions listed above. Previous patch versions are
Expand Down
1 change: 1 addition & 0 deletions news/10641.removal.rst
@@ -0,0 +1 @@
Drop support for Python 3.6.
2 changes: 1 addition & 1 deletion noxfile.py
Expand Up @@ -69,7 +69,7 @@ def should_update_common_wheels() -> bool:
# completely to nox for all our automation. Contributors should prefer using
# `tox -e ...` until this note is removed.
# -----------------------------------------------------------------------------
@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "pypy3"])
@nox.session(python=["3.7", "3.8", "3.9", "3.10", "pypy3"])
def test(session: nox.Session) -> None:
# Get the common wheels.
if should_update_common_wheels():
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Expand Up @@ -37,7 +37,6 @@ def get_version(rel_path: str) -> str:
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
Expand Down Expand Up @@ -81,5 +80,5 @@ def get_version(rel_path: str) -> str:
],
},
zip_safe=False,
python_requires=">=3.6",
python_requires=">=3.7",
)
9 changes: 1 addition & 8 deletions src/pip/_internal/build_env.py
Expand Up @@ -197,14 +197,7 @@ def install_requirements(
if not requirements:
return
with contextlib.ExitStack() as ctx:
# TODO: Remove this block when dropping 3.6 support. Python 3.6
# lacks importlib.resources and pep517 has issues loading files in
# a zip, so we fallback to the "old" method by adding the current
# pip directory to the child process's sys.path.
if sys.version_info < (3, 7):
pip_runnable = os.path.dirname(pip_location)
else:
pip_runnable = ctx.enter_context(_create_standalone_pip())
pip_runnable = ctx.enter_context(_create_standalone_pip())
self._install_requirements(
pip_runnable,
finder,
Expand Down
3 changes: 1 addition & 2 deletions src/pip/_internal/commands/list.py
Expand Up @@ -16,7 +16,6 @@
from pip._internal.network.session import PipSession
from pip._internal.utils.compat import stdlib_pkgs
from pip._internal.utils.misc import tabulate, write_output
from pip._internal.utils.parallel import map_multithread

if TYPE_CHECKING:
from pip._internal.metadata.base import DistributionVersion
Expand Down Expand Up @@ -254,7 +253,7 @@ def latest_info(
dist.latest_filetype = typ
return dist

for dist in map_multithread(latest_info, packages):
for dist in map(latest_info, packages):
if dist is not None:
yield dist

Expand Down
103 changes: 0 additions & 103 deletions src/pip/_internal/utils/parallel.py

This file was deleted.

0 comments on commit 0252c04

Please sign in to comment.