Skip to content

Commit

Permalink
Merge branch 'release-1.17.0'
Browse files Browse the repository at this point in the history
* release-1.17.0:
  Bumping version to 1.17.0
  Update changelog based on model updates
  Add explicit version support check to installer script
  Remove 2.6/3.3 compat code in bundle installer script
  Drop support for Python 2.6 and 3.3
  • Loading branch information
aws-sdk-python-automation committed Jan 10, 2020
2 parents 780fb74 + 4621065 commit 3a6c2e4
Show file tree
Hide file tree
Showing 15 changed files with 87 additions and 100 deletions.
37 changes: 37 additions & 0 deletions .changes/1.17.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[
{
"category": "``sagemaker``",
"description": "Update sagemaker command to latest version",
"type": "api-change"
},
{
"category": "Python",
"description": "Dropped support for Python 2.6 and 3.3.",
"type": "feature"
},
{
"category": "``transfer``",
"description": "Update transfer command to latest version",
"type": "api-change"
},
{
"category": "``workspaces``",
"description": "Update workspaces command to latest version",
"type": "api-change"
},
{
"category": "``rds``",
"description": "Update rds command to latest version",
"type": "api-change"
},
{
"category": "``chime``",
"description": "Update chime command to latest version",
"type": "api-change"
},
{
"category": "``ec2``",
"description": "Update ec2 command to latest version",
"type": "api-change"
}
]
6 changes: 0 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
language: python
matrix:
include:
- python: 2.6
dist: trusty
sudo: false
- python: 2.7
dist: trusty
sudo: false
- python: 3.3
dist: trusty
sudo: false
- python: 3.4
dist: trusty
sudo: false
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@
CHANGELOG
=========

1.17.0
======

* api-change:``sagemaker``: Update sagemaker command to latest version
* feature:Python: Dropped support for Python 2.6 and 3.3.
* api-change:``transfer``: Update transfer command to latest version
* api-change:``workspaces``: Update workspaces command to latest version
* api-change:``rds``: Update rds command to latest version
* api-change:``chime``: Update chime command to latest version
* api-change:``ec2``: Update ec2 command to latest version


1.16.314
========

Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ contributions as well:
* Code should follow `pep 8 <https://www.python.org/dev/peps/pep-0008/>`__,
although if you are modifying an existing module, it is more important
for the code to be consistent if there are any discrepancies.
* Code must work on ``python2.6``, ``python2.7``, and ``python3.3``,
``python3.4`` and higher.
* Code must work on ``python2.7``, and ``python3.4`` and higher.
* The AWS CLI is cross platform and code must work on at least Linux, Windows,
and Mac OS X. Avoid platform specific behavior.
* If you would like to implement support for a significant feature that is not
Expand Down
5 changes: 2 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,15 @@ This package provides a unified command line interface to Amazon Web Services.

The aws-cli package works on Python versions:

* 2.6.5 and greater
* 2.7.x and greater
* 3.3.x and greater
* 3.4.x and greater
* 3.5.x and greater
* 3.6.x and greater
* 3.7.x and greater
* 3.8.x and greater

On 10/09/2019 support for Python 2.6 and Python 3.3 was deprecated and support
will be dropped on 01/10/2020. To avoid disruption, customers using the AWS CLI
was dropped on 01/10/2020. To avoid disruption, customers using the AWS CLI
on Python 2.6 or 3.3 will need to upgrade their version of Python or pin the
version of the AWS CLI in use prior to 01/10/2020. For more information, see
this `blog post <https://aws.amazon.com/blogs/developer/deprecation-of-python-2-6-and-python-3-3-in-botocore-boto3-and-the-aws-cli/>`__.
Expand Down
2 changes: 1 addition & 1 deletion awscli/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"""
import os

__version__ = '1.16.314'
__version__ = '1.17.0'

#
# Get our data path to be added to botocore's search path
Expand Down
8 changes: 1 addition & 7 deletions awscli/testutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,7 @@
from awscli import EnvironmentVariables


# The unittest module got a significant overhaul
# in 2.7, so if we're in 2.6 we can use the backported
# version unittest2.
if sys.version_info[:2] == (2, 6):
import unittest2 as unittest
else:
import unittest
import unittest


# In python 3, order matters when calling assertEqual to
Expand Down
4 changes: 2 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@
# built documents.
#
# The short X.Y version.
version = '1.16.3'
version = '1.17'
# The full version, including alpha/beta/rc tags.
release = '1.16.314'
release = '1.17.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ tox>=2.3.1,<3.0.0
-e git://github.com/boto/s3transfer.git@develop#egg=s3transfer
nose==1.3.7
mock==1.3.0
# TODO: this can now be bumped
# 0.30.0 dropped support for python2.6
# remove this upper bound on the wheel version once 2.6 support
# is dropped from aws-cli
Expand Down
1 change: 0 additions & 1 deletion requirements26.txt

This file was deleted.

3 changes: 0 additions & 3 deletions scripts/ci/install
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ try:
except KeyError:
python_version = '.'.join([str(i) for i in sys.version_info[:2]])

if python_version == '2.6':
run('pip install -r requirements26.txt')

run('pip install -r requirements.txt')
run('pip install coverage')
if os.path.isdir('dist') and os.listdir('dist'):
Expand Down
45 changes: 20 additions & 25 deletions scripts/install
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,14 @@ PACKAGES_DIR = os.path.join(
os.path.dirname(os.path.abspath(__file__)), 'packages')
INSTALL_DIR = os.path.expanduser(os.path.join(
'~', '.local', 'lib', 'aws'))
# There's a few things we need to care about when handling
# multiple versions of python. For older versions of python
# (2.6 and 3.3) we need to use older virtualenv and older packages.
IS_PY26 = sys.version_info[:2] == (2, 6)
IS_PY33 = sys.version_info[:2] == (3, 3)
GTE_PY37 = sys.version_info[:2] >= (3, 7)
if IS_PY26 or IS_PY33:
# --no-build-isolation isn't available in the pip
# version we use in py26.
INSTALL_ARGS = (
'--no-binary :all: --no-cache-dir '
'--no-index '
)
else:
INSTALL_ARGS = (
'--no-binary :all: --no-build-isolation --no-cache-dir --no-index '
)
UNSUPPORTED_PYTHON = (
(sys.version_info[0] == 2 and sys.version_info[:2] <= (2, 6)) or
(sys.version_info[0] == 3 and sys.version_info[:2] <= (3, 3))
)
INSTALL_ARGS = (
'--no-binary :all: --no-build-isolation --no-cache-dir --no-index '
)


class BadRCError(Exception):
Expand Down Expand Up @@ -114,15 +105,7 @@ def _create_virtualenv_external(location, working_dir):
def _get_package_tarball(package_dir, package_prefix):
package_filenames = sorted([p for p in os.listdir(package_dir)
if p.startswith(package_prefix)])
# Given we're droping py26 support soon we don't have to make this
# super sophisticated. If we're on py26 we use the earliest version of
# this package, otherwise we use the most recent version.
# When we drop py26 support there will only be a single version of
# each package so we can change this back to return package_filenames[0].
if IS_PY26 or IS_PY33:
return package_filenames[0]
else:
return package_filenames[-1]
return package_filenames[-1]


def _get_venv_package_tarball(package_dir):
Expand Down Expand Up @@ -198,6 +181,18 @@ def main():
"-b /usr/local/bin/aws. This is an optional argument. "
"If you do not provide this argument you will have to "
"add INSTALL_DIR/bin to your PATH.")
if UNSUPPORTED_PYTHON:
unsupported_python_msg = (
"Unsupported Python version detected: Python %s.%s\n"
"To continue using this installer you must use Python 2.7 "
"and greater or Python 3.4 and greater.\n"
"For more information see the following blog post:\n"
"https://aws.amazon.com/blogs/developer/deprecation-of-python-2-6"
"-and-python-3-3-in-botocore-boto3-and-the-aws-cli/"
)
print(unsupported_python_msg % sys.version_info[:2])
sys.exit(1)

opts = parser.parse_args()[0]
working_dir = create_working_dir()
try:
Expand Down
14 changes: 0 additions & 14 deletions scripts/make-bundle
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,10 @@ from contextlib import contextmanager
EXTRA_RUNTIME_DEPS = [
# Use an up to date virtualenv/pip/setuptools on > 2.6.
('virtualenv', '16.7.8'),
# Everything below is for py26 deps. We can remove this once
# we drop py26.
('virtualenv', '15.2.0'),
('PyYAML', '3.13'),
('ordereddict', '1.1'),
('simplejson', '3.3.0'),
('argparse', '1.2.1'),
('python-dateutil', '2.6.1'),
('urllib3', '1.22'),
('colorama', '0.3.9'),
]
BUILDTIME_DEPS = [
('setuptools-scm', '3.3.3'),
('wheel', '0.33.6'),
# We have to use an older version2 for py26. We can remove
# this when we drop py26 support.
('setuptools-scm', '1.15.7'),
('wheel', '0.29.0')
]
PIP_DOWNLOAD_ARGS = '--no-binary :all:'
# The constraints file is used to lock the version of dateutils needed
Expand Down
11 changes: 4 additions & 7 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,12 @@ universal = 1

[metadata]
requires-dist =
botocore==1.13.50
colorama>=0.2.5,<=0.3.9; python_version=="2.6" or python_version=="3.3"
colorama>=0.2.5,<0.4.2; python_version!="2.6" and python_version!="3.3"
botocore==1.14.0
colorama>=0.2.5,<0.4.2
docutils>=0.10,<0.16
rsa>=3.1.2,<=3.5.0
PyYAML>=3.10,<=3.13; python_version=="2.6" or python_version=="3.3"
PyYAML>=3.10,<5.3;python_version!="2.6" and python_version!="3.3"
s3transfer>=0.2.0,<0.3.0
argparse>=1.1; python_version=="2.6"
PyYAML>=3.10,<5.3
s3transfer>=0.3.0,<0.4.0


[check-manifest]
Expand Down
35 changes: 6 additions & 29 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,12 @@ def find_version(*file_paths):
raise RuntimeError("Unable to find version string.")


install_requires = ['botocore==1.13.50',
install_requires = ['botocore==1.14.0',
'docutils>=0.10,<0.16',
'rsa>=3.1.2,<=3.5.0',
's3transfer>=0.2.0,<0.3.0']


if sys.version_info[:2] == (2, 6):
# For python2.6 we have to require argparse since it
# was not in stdlib until 2.7.
install_requires.append('argparse>=1.1')

# For Python 2.6, we have to require a different verion of PyYAML since the latest
# versions dropped support for Python 2.6.
install_requires.append('PyYAML>=3.10,<=3.13')

# Colorama removed support for EOL pythons.
install_requires.append('colorama>=0.2.5,<=0.3.9')
elif sys.version_info[:2] == (3, 3):
install_requires.append('PyYAML>=3.10,<=3.13')
# Colorama removed support for EOL pythons.
install_requires.append('colorama>=0.2.5,<=0.3.9')
else:
install_requires.append('PyYAML>=3.10,<5.3')
install_requires.append('colorama>=0.2.5,<0.4.2')
's3transfer>=0.3.0,<0.4.0',
'PyYAML>=3.10,<5.3',
'colorama>=0.2.5,<0.4.2']


setup_options = dict(
Expand All @@ -65,11 +47,7 @@ def find_version(*file_paths):
'examples/*/*/*.rst', 'topics/*.rst',
'topics/*.json']},
install_requires=install_requires,
extras_require={
':python_version=="2.6"': [
'argparse>=1.1',
]
},
extras_require={},
license="Apache License 2.0",
classifiers=[
'Development Status :: 5 - Production/Stable',
Expand All @@ -79,10 +57,8 @@ def find_version(*file_paths):
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
Expand All @@ -91,6 +67,7 @@ def find_version(*file_paths):
],
)


if 'py2exe' in sys.argv:
# This will actually give us a py2exe command.
import py2exe
Expand Down

0 comments on commit 3a6c2e4

Please sign in to comment.