Skip to content

Commit 26ffdb2

Browse files
committed
Deprecate Python 3.7 Support
1 parent 1fca6a3 commit 26ffdb2

File tree

7 files changed

+17
-32
lines changed

7 files changed

+17
-32
lines changed

.github/workflows/run-tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
15+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
1616
os: [ubuntu-latest, macOS-latest, windows-latest]
1717

1818
steps:

README.rst

+4-6
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ Requirements
2626

2727
The aws-cli package works on Python versions:
2828

29-
- 3.7.x and greater
3029
- 3.8.x and greater
3130
- 3.9.x and greater
3231
- 3.10.x and greater
@@ -36,14 +35,13 @@ The aws-cli package works on Python versions:
3635
Notices
3736
~~~~~~~
3837

39-
On 2021-01-15, deprecation for Python 2.7 was announced and support was dropped
40-
on 2021-07-15. To avoid disruption, customers using the AWS CLI on Python 2.7 may
41-
need to upgrade their version of Python or pin the version of the AWS CLI. For
42-
more information, see this `blog post <https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/>`__.
43-
4438
On 2022-05-30, support for Python 3.6 was ended. This follows the
4539
Python Software Foundation `end of support <https://www.python.org/dev/peps/pep-0494/#lifespan>`__
4640
for the runtime which occurred on 2021-12-23.
41+
42+
On 2023-12-13, support for Python 3.7 was ended. This follows the
43+
Python Software Foundation `end of support <https://www.python.org/dev/peps/pep-0537/#lifespan>`__
44+
for the runtime which occurred on 2023-06-27.
4745
For more information, see this `blog post <https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/>`__.
4846

4947
*Attention!*

UPGRADE_PY3.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ v1. You can upgrade to the AWS CLI v2 to avoid these deprecations in the future.
1515
----
1616
## Timeline
1717

18-
Going forward, customers using the CLI v1 should transition to using Python 3, with Python 3.7 becoming
18+
Going forward, customers using the CLI v1 should transition to using Python 3, with Python 3.8 becoming
1919
the minimum by the end of the transition. The deprecation dates for the affected versions of Python are:
2020

2121
|Python version|Deprecation date|
2222
|--------------|----------------|
2323
| Python 2.7| 7/15/2021|
2424
| Python 3.4 and 3.5| 2/1/2021|
2525
| Python 3.6| 5/30/2022|
26+
| Python 3.7| 12/13/2023|
2627

2728
## Impact on the AWS CLI
2829

@@ -48,7 +49,7 @@ $ aws --version
4849
aws-cli/1.18.191 Python/2.7.18 Darwin/19.6.0 botocore/1.19.31
4950
```
5051

51-
If the second portion of the version string, starting with **Python/** isn’t Python/3.7.x
52+
If the second portion of the version string, starting with **Python/** isn’t Python/3.8.x
5253
or higher, you should review the options below.
5354

5455
### Installing CLI with Python 3
@@ -61,7 +62,7 @@ Otherwise, upgrading Python versions isn’t difficult.
6162

6263
1. To begin, uninstall your existing copy of the AWS CLI. You can find instructions in the
6364
[CLI v1 installation guide](https://docs.aws.amazon.com/cli/latest/userguide/install-linux.html).
64-
2. Now we’ll install Python 3.7 or later. You can get Python from
65+
2. Now we’ll install Python 3.8 or later. You can get Python from
6566
[Python.org](https://www.python.org/downloads) or using your local package manager.
6667
In this example, we’ll use a recent version, Python 3.8.7, to ensure the longest support window.
6768
3. Next, depending on your installation method, the new Python installation should be available at
@@ -88,7 +89,7 @@ $ python awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
8889
7. If you wish, you may verify that the newly installed copy of the AWS CLI tool, **aws**, is
8990
using the correct version of Python. The **aws --version** command reports the **aws** tool's
9091
version number, followed by the version of Python it's running under, then the operating system
91-
version and the version of botocore. As long as the Python version is at least 3.7,
92+
version and the version of botocore. As long as the Python version is at least 3.8,
9293
you're ready to go:
9394
```bash
9495
$ aws --version

requirements-dev-lock.txt

+2-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.7
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.8
3+
# by the following command:
44
#
55
# pip-compile --allow-unsafe --generate-hashes --output-file=requirements-dev-lock.txt requirements-dev.txt
66
#
@@ -79,12 +79,6 @@ exceptiongroup==1.1.3 \
7979
--hash=sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9 \
8080
--hash=sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3
8181
# via pytest
82-
importlib-metadata==4.12.0 \
83-
--hash=sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670 \
84-
--hash=sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23
85-
# via
86-
# pluggy
87-
# pytest
8882
iniconfig==1.1.1 \
8983
--hash=sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 \
9084
--hash=sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32
@@ -117,15 +111,7 @@ tomli==2.0.1 \
117111
# via
118112
# coverage
119113
# pytest
120-
typing-extensions==4.3.0 \
121-
--hash=sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02 \
122-
--hash=sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6
123-
# via importlib-metadata
124114
wheel==0.38.1 \
125115
--hash=sha256:7a95f9a8dc0924ef318bd55b616112c70903192f524d120acc614f59547a9e1f \
126116
--hash=sha256:ea041edf63f4ccba53ad6e035427997b3bb10ee88a4cd014ae82aeb9eea77bb9
127117
# via -r requirements-dev.txt
128-
zipp==3.8.0 \
129-
--hash=sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad \
130-
--hash=sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099
131-
# via importlib-metadata

scripts/install

+3-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ UNSUPPORTED_PYTHON = (
2727
(3,4),
2828
(3,5),
2929
(3,6),
30+
(3,7),
3031
)
3132
INSTALL_ARGS = (
3233
'--no-binary :all: --no-build-isolation --no-cache-dir --no-index '
@@ -207,7 +208,7 @@ def main():
207208
if py_version in UNSUPPORTED_PYTHON:
208209
unsupported_python_msg = (
209210
"Unsupported Python version detected: Python {}.{}\n"
210-
"To continue using this installer you must use Python 3.7 "
211+
"To continue using this installer you must use Python 3.8 "
211212
"or later.\n"
212213
"For more information see the following blog post: "
213214
"https://aws.amazon.com/blogs/developer/announcing-end-"
@@ -223,7 +224,7 @@ def main():
223224
"Deprecated Python version detected: Python {}.{}\n"
224225
"Starting {}, the AWS CLI will no longer support "
225226
"this version of Python. To continue receiving service updates, "
226-
"bug fixes, and security updates please upgrade to Python 3.7 or "
227+
"bug fixes, and security updates please upgrade to Python 3.8 or "
227228
"later. More information can be found here: {}"
228229
).format(
229230
py_version[0], py_version[1], params['date'], params['blog_link']

setup.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def find_version(*file_paths):
4848
install_requires=install_requires,
4949
extras_require={},
5050
license="Apache License 2.0",
51-
python_requires=">= 3.7",
51+
python_requires=">= 3.8",
5252
classifiers=[
5353
'Development Status :: 5 - Production/Stable',
5454
'Intended Audience :: Developers',
@@ -58,7 +58,6 @@ def find_version(*file_paths):
5858
'Programming Language :: Python',
5959
'Programming Language :: Python :: 3',
6060
'Programming Language :: Python :: 3 :: Only',
61-
'Programming Language :: Python :: 3.7',
6261
'Programming Language :: Python :: 3.8',
6362
'Programming Language :: Python :: 3.9',
6463
'Programming Language :: Python :: 3.10',

tox.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py37,py38,py39,py310,py311,py312
2+
envlist = py38,py39,py310,py311,py312
33

44
skipsdist = True
55

0 commit comments

Comments
 (0)