From 6440b23a362f344aeae1849790eb62eb259a2a5f Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 19:45:31 -0500 Subject: [PATCH 01/11] Update CI configuration. --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d8e3fb0bc..042fda5ad 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -123,10 +123,10 @@ jobs: - image: circleci/mongo:latest - image: circleci/redis:latest - linux-python-36-oldest: + linux-python-38-oldest: <<: *linux-template docker: - - image: cimg/python:3.6 + - image: cimg/python:3.8 - image: circleci/mongo:latest - image: circleci/redis:latest environment: @@ -245,7 +245,7 @@ workflows: - linux-python-310-minimal - linux-python-39 - linux-python-38 - - linux-python-36-oldest + - linux-python-38-oldest - linux-pypy-38 - windows-python-38 - macos-python-3 @@ -262,7 +262,7 @@ workflows: - linux-python-310-minimal - linux-python-39 - linux-python-38 - - linux-python-36-oldest + - linux-python-38-oldest - linux-pypy-38 - windows-python-38 deploy: From 467c695f86bfaf3bb9b1b019bcdaada3f7b2f0f3 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 19:46:20 -0500 Subject: [PATCH 02/11] Update oldest dependencies to versions with Python 3.8 wheels. --- .circleci/ci-oldest-reqs.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/ci-oldest-reqs.txt b/.circleci/ci-oldest-reqs.txt index c5cf11dc5..4ae487718 100644 --- a/.circleci/ci-oldest-reqs.txt +++ b/.circleci/ci-oldest-reqs.txt @@ -2,13 +2,13 @@ click==7.1.2 coverage==5.3.1 deprecation==2.0 filelock==3.0.0 -h5py==2.8.0 -numpy==1.13.3 +h5py==2.9.0 +numpy==1.19.0 packaging==15.0 pandas==1.0.0 -pymongo==3.0.0 +pymongo==3.10.0 pytest-cov==2.10.1 pytest-xdist==2.5.0 pytest==6.2.1 -tables==3.4.2 +tables==3.6.1 tqdm==4.10.0 From 595c4774e89d949efe8731feaa0d5e43d1da2404 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 19:47:04 -0500 Subject: [PATCH 03/11] Require Python>=3.8. --- setup.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 76cee64d2..a43697db9 100644 --- a/setup.py +++ b/setup.py @@ -47,8 +47,6 @@ "License :: OSI Approved :: BSD License", "Topic :: Database", "Topic :: Scientific/Engineering :: Physics", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -64,7 +62,7 @@ install_requires=requirements, # Supported versions are determined according to NEP 29. # https://numpy.org/neps/nep-0029-deprecation_policy.html - python_requires=">=3.6, <4", + python_requires=">=3.8, <4", extras_require={"db": ["pymongo>=3.0"], "mpi": ["mpi4py"], "h5": ["h5py"]}, entry_points={"console_scripts": ["signac = signac.__main__:main"]}, ) From 4e95c96e770a9f4f7f30612b0da3dcc6aea8700c Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 19:48:05 -0500 Subject: [PATCH 04/11] Target Python 3.8 for black and pyupgrade. --- .pre-commit-config.yaml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index db28effe2..86b588909 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,7 +23,7 @@ repos: hooks: - id: pyupgrade args: - - --py36-plus + - --py38-plus - repo: https://github.com/PyCQA/isort rev: '5.10.1' hooks: diff --git a/pyproject.toml b/pyproject.toml index 1dbe40fae..15d110af8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.black] -target-version = ['py36'] +target-version = ['py38'] include = '\.pyi?$' exclude = ''' ( From df79eb36966580f3ee395ac5f8a0f7f8ca8ed637 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 19:49:47 -0500 Subject: [PATCH 05/11] Update docs. --- README.md | 2 +- doc/installation.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac3bc890b..db8a2c4e8 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ This makes it easier to operate on large data spaces, streamlines post-processin ## Installation The recommended installation method for **signac** is through **conda** or **pip**. -The software is tested for Python 3.6+ and is built for all major platforms. +The software is tested for Python 3.8+ and is built for all major platforms. To install **signac** *via* the [conda-forge](https://conda-forge.github.io/) channel, execute: diff --git a/doc/installation.rst b/doc/installation.rst index 2ca8b11e4..f186e2331 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -5,7 +5,7 @@ Installation ============ The recommended installation method for **signac** is via conda_ or pip_. -The software is tested for Python versions 3.6+ and has minimal dependencies. +The software is tested for Python versions 3.8+ and has minimal dependencies. Some features such as the HDF5 integration require additional packages. Supported Python and NumPy versions are determined according to the `NEP 29 deprecation policy `_. From 6f40e9b327bbabe99cfe5712a441434bcab98c99 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 19:57:09 -0500 Subject: [PATCH 06/11] Update changelog. --- changelog.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelog.txt b/changelog.txt index db6d1164b..d3c2cc0a0 100644 --- a/changelog.txt +++ b/changelog.txt @@ -41,6 +41,11 @@ Fixed - User-provided path functions now raise an error if not unique (#666). - ``Collection`` class no longer raises an error when searching by a primary key that does not exist (#676). +Removed ++++++++ + + - Dropped support for Python 3.6 and Python 3.7 (#715). These have been dropped by NEP 29. + [1.7.0] -- 2021-06-08 --------------------- From 726fd2c98ee9fe6d4b983bdfd2df02cee7a7de90 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 20:24:27 -0500 Subject: [PATCH 07/11] Use Python 3.10 on Windows. --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 042fda5ad..1eb052159 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -148,13 +148,13 @@ jobs: name: win/default shell: bash.exe environment: - PYTHON: python + PYTHON: C:\Python310\python steps: - checkout - run: name: Install Python command: | - choco install python --version 3.8.1 --limit-output --no-progress + choco install python --version 3.10.2 --limit-output --no-progress - run: name: Install dependencies command: | From 6886f753fff7a762531d9c2799b0a6894f57b49b Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 20:30:13 -0500 Subject: [PATCH 08/11] Rename Windows CI job. --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1eb052159..5b28613a8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -143,7 +143,7 @@ jobs: DEPENDENCIES: "NEWEST" PYTHON: pypy3 - windows-python-38: + windows-python-310: executor: name: win/default shell: bash.exe @@ -247,7 +247,7 @@ workflows: - linux-python-38 - linux-python-38-oldest - linux-pypy-38 - - windows-python-38 + - windows-python-310 - macos-python-3 - check-metadata: filters: @@ -264,7 +264,7 @@ workflows: - linux-python-38 - linux-python-38-oldest - linux-pypy-38 - - windows-python-38 + - windows-python-310 deploy: jobs: - deploy-pypi: From 25b1efac42c4b96eb91dcb3ce84caa58b7dbd2fc Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 21:06:10 -0500 Subject: [PATCH 09/11] Call codecov with python -m codecov. --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5b28613a8..062f9588f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -76,7 +76,7 @@ jobs: command: | . venv/bin/activate ${PYTHON} -m pytest -n 2 --dist loadfile --cov=signac --cov-config=setup.cfg --cov-report=xml tests/ -v - codecov + ${PYTHON} -m codecov - store_artifacts: path: test-reports @@ -172,7 +172,7 @@ jobs: name: Run tests command: | ${PYTHON} -m pytest -n 2 --dist loadfile --cov=signac --cov-report=xml tests/ -v - codecov + ${PYTHON} -m codecov macos-python-3: macos: # executor type @@ -196,7 +196,7 @@ jobs: python -m pip install --progress-bar off -U -r requirements/requirements-test-optional.txt python -m pip install --progress-bar off -U -e . python -m pytest -n 2 --dist loadfile --cov=signac --cov-report=xml tests/ -v - codecov + python -m codecov check-metadata: docker: From 1a21f2b385d15657b11feabd9e8b6d84410e7606 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 15 Mar 2022 21:09:24 -0500 Subject: [PATCH 10/11] Update NEP 29 language. --- doc/installation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/installation.rst b/doc/installation.rst index f186e2331..778bd546d 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -7,7 +7,7 @@ Installation The recommended installation method for **signac** is via conda_ or pip_. The software is tested for Python versions 3.8+ and has minimal dependencies. Some features such as the HDF5 integration require additional packages. -Supported Python and NumPy versions are determined according to the `NEP 29 deprecation policy `_. +The signac framework uses the `NEP 29 deprecation policy `__ as a guideline for when to drop support for Python and NumPy versions, and does not guarantee support beyond the versions recommended in that proposal. .. _conda: https://conda.io/ .. _conda-forge: https://conda-forge.org/ From 597a13bb8bcbd746a7b0386812f9626b54f5bd83 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Wed, 16 Mar 2022 07:04:39 -0500 Subject: [PATCH 11/11] Add link to NEP 29. Co-authored-by: Carl Simon Adorf --- changelog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.txt b/changelog.txt index d3c2cc0a0..fc15e03ec 100644 --- a/changelog.txt +++ b/changelog.txt @@ -44,7 +44,7 @@ Fixed Removed +++++++ - - Dropped support for Python 3.6 and Python 3.7 (#715). These have been dropped by NEP 29. + - Dropped support for Python 3.6 and Python 3.7 (#715) following the recommended support schedules of `NEP 29 `__. [1.7.0] -- 2021-06-08 ---------------------