From 9e26f563fa0a7fe9f6ed1a502f2baf85e0fe1319 Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Wed, 13 Sep 2023 19:48:25 -0400 Subject: [PATCH] drop Python 3.6 support --- .github/workflows/tests.yml | 9 --------- CHANGES.rst | 1 + README.rst | 4 ++-- requirements-dev.txt | 1 - requirements-doc.txt | 2 -- requirements-sys.txt | 2 -- requirements.txt | 9 --------- setup.py | 3 +-- tests/smoke/docker-compose.smoke-test.yml | 4 +--- 9 files changed, 5 insertions(+), 30 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a4119263b..06b9d8823 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,15 +46,6 @@ jobs: allow-failure: [false] test-case: [test-unit-only, test-func-only] include: - # end-of-life python - - os: ubuntu-20.04 - python-version: "3.6" - allow-failure: true - test-case: test-unit-only - - os: ubuntu-20.04 - python-version: "3.6" - allow-failure: true - test-case: test-func-only # experimental python - os: ubuntu-latest python-version: "3.11" diff --git a/CHANGES.rst b/CHANGES.rst index e903507b6..2fed07a82 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -19,6 +19,7 @@ Changes: - Add ``$schema`` field auto-insertion into the generated `OpenAPI` schema definition by ``CorniceSwagger`` when corresponding ``colander.SchemaNode`` definitions contain a ``_schema = ""`` attribute (fixes `#157 `_). +- Drop Python 3.6 support. Fixes: ------ diff --git a/README.rst b/README.rst index 45bc15087..9ecd551ff 100644 --- a/README.rst +++ b/README.rst @@ -41,8 +41,8 @@ for each process. * - releases - | |version| |commits-since| |license| -.. |py_ver| image:: https://img.shields.io/badge/python-3.6%2B-blue.svg - :alt: Requires Python 3.6+ +.. |py_ver| image:: https://img.shields.io/badge/python-3.7%2B-blue.svg + :alt: Requires Python 3.7+ :target: https://www.python.org/getit .. |commits-since| image:: https://img.shields.io/github/commits-since/crim-ca/weaver/4.30.1.svg diff --git a/requirements-dev.txt b/requirements-dev.txt index 067b1702f..f4d5297f5 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -23,7 +23,6 @@ pluggy>=0.7 # FIXME: bad interpolation of 'setup.cfg' for pytest 'log_format' (https://github.com/pytest-dev/pytest/issues/10019) pytest<7 pydocstyle -pylint>=2.11,!=2.12,<2.14; python_version <= "3.6" pylint>=2.15.4; python_version >= "3.7" pylint-per-file-ignores; python_version >= "3.7" pylint_quotes diff --git a/requirements-doc.txt b/requirements-doc.txt index 484501e4e..1f402ae6e 100644 --- a/requirements-doc.txt +++ b/requirements-doc.txt @@ -15,7 +15,5 @@ sphinx-autoapi>=1.7.0 sphinx-paramlinks>=0.4.1 # adds redoc OpenAPI directly served on readthedocs sphinxcontrib-redoc>=1.6.0 -# extras renamed in 1.19 (see https://github.com/tox-dev/sphinx-autodoc-typehints/issues/263) -sphinx_autodoc_typehints[type_comments]<1.19; python_version <= "3.6" sphinx_autodoc_typehints[type_comment]>=1.19; python_version >= "3.7" sphinx_rtd_theme>=0.5.1 diff --git a/requirements-sys.txt b/requirements-sys.txt index 56ab594cc..2d930e5e2 100644 --- a/requirements-sys.txt +++ b/requirements-sys.txt @@ -1,4 +1,2 @@ -pip>=20.2.2; python_version <= "3.6" # pyup: ignore pip>=22.0.4; python_version >= "3.7" -setuptools<58; python_version <= "3.6" # pyup: ignore setuptools>=65.5.1; python_version >= "3.7" diff --git a/requirements.txt b/requirements.txt index 775eecfc4..b934eea4c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,9 +20,6 @@ billiard>3.2,<3.4; sys_platform == "win32" # https://github.com/celery/celery/blob/master/docs/whatsnew-5.2.rst#upgrading-from-celery-4x celery[mongodb]<4; sys_platform == "win32" # rq.filter: <4 # pyup: ignore celery[mongodb]>=5.2.2,<6; sys_platform != "win32" and python_version >= "3.7" -# technically, >=5.2 preferred to resolve security issue, but dependency resolver cannot find it -# FIXME: drop support? more recent versions not avilable for end-of-life python -celery[mongodb]>=5.1,<5.2; sys_platform != "win32" and python_version <= "3.6" # rq.filter: >=5.1,<5.2 # pyup: ignore cffi colander<2 cornice @@ -35,20 +32,17 @@ cryptography # use cwltool gpu-enabled support until integrated within the original tool # (https://github.com/common-workflow-language/common-workflow-language/issues/587) ### git+https://github.com/crim-ca/cwltool@docker-gpu#egg=cwltool; python_version >= "3" -cwltool==3.1.20230719185429; python_version <= "3.6" # pyup: ignore cwltool==3.1.20230906142556; python_version >= "3.7" docker duration esgf-compute-api @ git+https://github.com/ESGF/esgf-compute-api.git@v2.3.7 # invalid 'zarr' requirement in 'geotiff' dependencies required by 'pywps' fail to install # (https://github.com/KipCrossing/geotiff/pull/59) -geotiff!=0.2.6,!=0.2.7; python_version <= "3.6" geotiff>=0.2.8; python_version >= "3.7" # gunicorn >20 breaks some config.ini loading parameters (paste) # it is also only available for Python >=3.5 # use pserve to continue supporting config.ini with paste settings gunicorn>=20.0.4 -json2xml<3.19.0; python_version <= "3.6" # pyup: ignore # reduced dependencies contrains to let packages update to latest (https://github.com/vinitkumar/json2xml/issues/157) json2xml>=3.20.0; python_version >= "3.7" jsonschema>=3.0.1 @@ -63,7 +57,6 @@ mako # employed by cwltool -> schema-salad -> mistune mistune>=2.0.3,<2.1 mypy_boto3_s3 -numpy>=1.19.5; python_version == "3.6" # pyup: ignore numpy>=1.21.6; python_version == "3.7" # pyup: ignore numpy>=1.22.2; python_version >= "3.8" # esgf-compute-api (cwt) needs oauthlib but doesn't add it in their requirements @@ -74,7 +67,6 @@ psutil # - https://github.com/crim-ca/weaver/issues/386 # - https://github.com/celery/kombu/pull/1536 # - https://github.com/celery/celery/pull/7834 -pymongo>=3.12.0,<4; python_version <= "3.6" pymongo>=4; python_version >= "3.7" # either (pymongo>=4, kombu>=5.3.0b2) or (pymongo<4, celery<5.2) pyramid>=1.7.3 pyramid_beaker>=0.8 @@ -84,7 +76,6 @@ python-dateutil pyramid_rewrite pyramid_storage pytz -pywps==4.5.1; python_version <= "3.6" # pyup: ignore pywps==4.5.2; python_version >= "3.7" pyyaml>=5.2 rdflib>=5 # pyup: ignore diff --git a/setup.py b/setup.py index 142127de4..8cc0c6597 100644 --- a/setup.py +++ b/setup.py @@ -85,7 +85,6 @@ def _parse_requirements(file_path, requirements, links): "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", @@ -108,7 +107,7 @@ def _parse_requirements(file_path, requirements, links): package_data={"": ["*.mako"]}, zip_safe=False, test_suite="tests", - python_requires=">=3.6, <4", + python_requires=">=3.7, <4", install_requires=REQUIREMENTS, dependency_links=LINKS, extras_require={ diff --git a/tests/smoke/docker-compose.smoke-test.yml b/tests/smoke/docker-compose.smoke-test.yml index af3742ac0..1d6f98499 100644 --- a/tests/smoke/docker-compose.smoke-test.yml +++ b/tests/smoke/docker-compose.smoke-test.yml @@ -1,10 +1,8 @@ version: "3.4" services: mongodb: - image: mongo:3.6.0 + image: mongo:5.0 container_name: smoke_test_mongodb - # mongodb crash with permission denied errors if the command is not overridden like this - command: bash -c 'chown -R mongodb:mongodb /data && chmod -R 755 /data && mongod --bind_ip_all' restart: "no" weaver: