diff --git a/.zuul.yaml b/.zuul.yaml index bb523ba3..056a5080 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -15,8 +15,7 @@ templates: - openstack-cover-jobs - openstack-lower-constraints-jobs - - openstack-python-jobs - - openstack-python3-train-jobs + - openstack-python3-ussuri-jobs - check-requirements - openstackclient-plugin-jobs - publish-openstack-docs-pti diff --git a/doc/requirements.txt b/doc/requirements.txt index c27ecd26..6889f206 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,5 +1,4 @@ openstackdocstheme>=1.18.1 # Apache-2.0 reno>=2.5.0 # Apache-2.0 -sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD -sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD sphinxcontrib-httpdomain>=1.3.0 # BSD diff --git a/releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml b/releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml new file mode 100644 index 00000000..1c3dd80a --- /dev/null +++ b/releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Python 2.7 support has been dropped. The minimum version of Python now + supported by python-heatclient is Python 3.6. diff --git a/setup.cfg b/setup.cfg index 9781b793..924b407a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,6 +7,7 @@ description-file = author = OpenStack author-email = openstack-discuss@lists.openstack.org home-page = https://docs.openstack.org/python-heatclient/latest +python-requires = >=3.6 classifier = Development Status :: 5 - Production/Stable Environment :: Console @@ -16,11 +17,11 @@ classifier = License :: OSI Approved :: Apache Software License Operating System :: POSIX :: Linux 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 + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: Implementation :: CPython [files] packages = @@ -100,16 +101,6 @@ heatclient.resource.formatter.list = yaml = cliff.formatters.yaml_format:YAMLFormatter json = cliff.formatters.json_format:JSONFormatter -[global] -setup-hooks = - pbr.hooks.setup_hook - -[upload_sphinx] -upload-dir = doc/build/html - -[wheel] -universal = 1 - [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg diff --git a/setup.py b/setup.py index 566d8443..f63cc23c 100644 --- a/setup.py +++ b/setup.py @@ -16,14 +16,6 @@ # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT import setuptools -# In python < 2.7.4, a lazy loading of package `pbr` will break -# setuptools if some other modules registered functions in `atexit`. -# solution from: http://bugs.python.org/issue15881#msg170215 -try: - import multiprocessing # noqa -except ImportError: - pass - setuptools.setup( setup_requires=['pbr>=2.0.0'], pbr=True) diff --git a/tox.ini b/tox.ini index e9a4dae5..ffdaee1d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,13 @@ [tox] -envlist = pypy,py27,py37,pep8 -minversion = 2.0 +envlist = pypy,py37,pep8 +ignore_basepython_conflict = true +minversion = 3.1.0 skipsdist = True [testenv] +basepython = python3 setenv = VIRTUAL_ENV={envdir} - CLIENT_NAME=python-heatclient usedevelop = True -install_command = pip install {opts} {packages} deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt @@ -17,24 +17,13 @@ commands = find . -type f -name "*.py[c|o]" -delete whitelist_externals = find [testenv:debug] -basepython = python3 -commands = oslo_debug_helper -t heatclient/tests {posargs} - -[testenv:debug-py27] -basepython = python2.7 -commands = oslo_debug_helper -t heatclient/tests {posargs} - -[testenv:debug-py35] -basepython = python3.5 commands = oslo_debug_helper -t heatclient/tests {posargs} [testenv:pep8] -basepython = python3 commands = flake8 [testenv:venv] -basepython = python3 commands = {posargs} [testenv:functional] @@ -44,7 +33,6 @@ setenv = passenv = OS_* [testenv:cover] -basepython = python3 setenv = PYTHON=coverage run --source heatclient --parallel-mode commands = @@ -55,7 +43,6 @@ commands = coverage report [testenv:docs] -basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt @@ -71,14 +58,12 @@ max-complexity=20 import_exceptions = heatclient._i18n [testenv:releasenotes] -basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:lower-constraints] -basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt