diff --git a/.changes/next-release/feature-Python-31902.json b/.changes/next-release/feature-Python-31902.json new file mode 100644 index 0000000000..e96191396c --- /dev/null +++ b/.changes/next-release/feature-Python-31902.json @@ -0,0 +1,5 @@ +{ + "type": "feature", + "category": "Python", + "description": "Drop support for Python 2.7" +} diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index c8a4ba4d36..37da8af655 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [2.7, 3.6, 3.7, 3.8] + python-version: [3.6, 3.7, 3.8] os: [ubuntu-latest, macOS-latest, windows-latest ] steps: diff --git a/README.rst b/README.rst index 19de7e033b..ba67619328 100644 --- a/README.rst +++ b/README.rst @@ -10,7 +10,7 @@ of services like Amazon S3 and Amazon EC2. You can find the latest, most up to date, documentation at our `doc site`_, including a list of services that are supported. -On 01/15/2021 deprecation for Python 2.7 was announced and support will be dropped +On 01/15/2021 deprecation for Python 2.7 was announced and support was dropped on 07/15/2021. To avoid disruption, customers using Boto3 on Python 2.7 may need to upgrade their version of Python or pin the version of Boto3. For more information, see this `blog post `__. diff --git a/boto3/compat.py b/boto3/compat.py index 5a599bc4d1..e5430e2d24 100644 --- a/boto3/compat.py +++ b/boto3/compat.py @@ -64,6 +64,10 @@ def filter_python_deprecation_warnings(): def _warn_deprecated_python(): + """Python 2.7 is deprecated so this code will no longer run. + + Use this template for future deprecation campaigns as needed. + """ py_27_params = { 'date': 'July 15, 2021', 'blog_link': 'https://aws.amazon.com/blogs/developer/announcing-end-' diff --git a/docs/source/guide/migrationpy3.rst b/docs/source/guide/migrationpy3.rst index 67c480677a..27d761e620 100644 --- a/docs/source/guide/migrationpy3.rst +++ b/docs/source/guide/migrationpy3.rst @@ -14,7 +14,8 @@ module) and Boto3 (which implements the API functionality and higher-level featu Timeline -------- Going forward, all projects using Boto3 need to transition to Python 3.6 or later. Boto3 and -Botocore support for Python 3.4 and 3.5 has already ended, and support for Python 2.7 will end effective July 15, 2021. +Botocore ended support for Python 3.4 and 3.5 on Feb 21, 2021, and support for Python 2.7 +ended July 15, 2021. Updating your project to use Python 3 ------------------------------------- diff --git a/docs/source/guide/quickstart.rst b/docs/source/guide/quickstart.rst index 57f9edb7d2..d470a6b4e7 100644 --- a/docs/source/guide/quickstart.rst +++ b/docs/source/guide/quickstart.rst @@ -24,10 +24,11 @@ To use Boto3, you first need to install it and its dependencies. Install or update Python ~~~~~~~~~~~~~~~~~~~~~~~~ -Before installing Boto3, install Python 3.6 or later; support for Python 2.7 and Python 3.5 and -earlier is deprecated. After the deprecation date listed for each Python version, new releases of -Boto3 will not include support for that version of Python. For details, including the deprecation -schedule and how to update your project to use Python 3.6, see :ref:`guide_migration_py3`. +Before installing Boto3, install Python 3.6 or later; support for Python 3.5 and +earlier is deprecated. After the deprecation date listed for each Python +version, new releases of Boto3 will not include support for that version of +Python. For details, including the deprecation schedule and how to update your +project to use Python 3.6, see :ref:`guide_migration_py3`. For information about how to get the latest version of Python, see the official `Python documentation `_. diff --git a/setup.cfg b/setup.cfg index 3a902365e5..2181397689 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bdist_wheel] -universal = 1 +universal = 0 [metadata] requires_dist = diff --git a/setup.py b/setup.py index c24158d5ce..fa2f157327 100644 --- a/setup.py +++ b/setup.py @@ -43,15 +43,13 @@ def get_version(): include_package_data=True, install_requires=requires, license="Apache License 2.0", - python_requires=">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", + python_requires=">= 3.6", classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Natural Language :: English', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', diff --git a/tox.ini b/tox.ini index a12872b6f5..78c5c85099 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py27,py36,py37,py38 +envlist = py36,py37,py38 # Comment to build sdist and install into virtualenv # This is helpful to test installation but takes extra time