From d7205c53f9ededf33f7337099c2341a5257f46fe Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Mon, 16 Sep 2024 22:14:29 +0200 Subject: [PATCH 01/10] Remove python version 3.8 --- .github/workflows/publish.yml | 2 +- .github/workflows/pytest-remote-data.yml | 5 +---- .github/workflows/pytest.yml | 6 ++--- ci/requirements-py3.8-min.yml | 22 ------------------- ci/requirements-py3.8.yml | 28 ------------------------ pyproject.toml | 2 +- 6 files changed, 6 insertions(+), 59 deletions(-) delete mode 100644 ci/requirements-py3.8-min.yml delete mode 100644 ci/requirements-py3.8.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a23dfedc4f..e0e34b3dff 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install build tools run: | diff --git a/.github/workflows/pytest-remote-data.yml b/.github/workflows/pytest-remote-data.yml index a894db7c7d..998b23c4bf 100644 --- a/.github/workflows/pytest-remote-data.yml +++ b/.github/workflows/pytest-remote-data.yml @@ -56,11 +56,8 @@ jobs: strategy: fail-fast: false # don't cancel other matrix jobs when one fails matrix: - python-version: [3.8, 3.9, "3.10", "3.11", "3.12"] + python-version: [3.9, "3.10", "3.11", "3.12"] suffix: [''] # the alternative to "-min" - include: - - python-version: 3.8 - suffix: -min runs-on: ubuntu-latest if: (github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'remote-data')) || (github.event_name == 'push') diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 80f10f0b16..ac3da9ff98 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -12,12 +12,12 @@ jobs: fail-fast: false # don't cancel other matrix jobs when one fails matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: [3.8, 3.9, "3.10", "3.11", "3.12"] + python-version: [3.9, "3.10", "3.11", "3.12"] environment-type: [conda, bare] suffix: [''] # placeholder as an alternative to "-min" include: - os: ubuntu-latest - python-version: 3.8 + python-version: 3.9 environment-type: conda suffix: -min exclude: @@ -82,7 +82,7 @@ jobs: pytest pvlib --cov=./ --cov-report=xml --ignore=pvlib/tests/iotools - name: Upload coverage to Codecov - if: matrix.python-version == 3.8 && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda' + if: matrix.python-version == 3.9 && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda' uses: codecov/codecov-action@v4 with: fail_ci_if_error: true diff --git a/ci/requirements-py3.8-min.yml b/ci/requirements-py3.8-min.yml deleted file mode 100644 index ef230b1627..0000000000 --- a/ci/requirements-py3.8-min.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: test_env -channels: - - defaults -dependencies: - - coveralls - - pip - - pytest - - pytest-cov - - pytest-mock - - pytest-timeout - - python=3.8 - - pytz - - requests - - pip: - - dataclasses - - h5py==2.10.0 # chosen for compatibility with numpy 1.17.3 and py3.8 - - numpy==1.17.3 - - pandas==1.3.0 - - scipy==1.6.0 - - pytest-rerunfailures # conda version is >3.6 - - pytest-remotedata # conda package is 0.3.0, needs > 0.3.1 - - requests-mock diff --git a/ci/requirements-py3.8.yml b/ci/requirements-py3.8.yml deleted file mode 100644 index 19c3b8f2f3..0000000000 --- a/ci/requirements-py3.8.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: test_env -channels: - - defaults - - conda-forge -dependencies: - - coveralls - - cython - - ephem - - h5py - - numba - - numpy >= 1.17.3 - - pandas >= 1.3.0 - - pip - - pytest - - pytest-cov - - pytest-mock - - requests-mock - - pytest-timeout - - pytest-rerunfailures - - conda-forge::pytest-remotedata # version in default channel is old - - python=3.8 - - pytz - - requests - - scipy >= 1.6.0 - - statsmodels - - pip: - - nrel-pysam>=2.0 - - solarfactors diff --git a/pyproject.toml b/pyproject.toml index 16b39c3b64..6ccf443725 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ description = "A set of functions and classes for simulating the performance of authors = [ { name = "pvlib python Developers", email = "pvlib-admin@googlegroups.com" }, ] -requires-python = ">=3.8" +requires-python = ">=3.9" dependencies = [ 'numpy >= 1.17.3', 'pandas >= 1.3.0', From 83405765c13d4530349fe3bd01427c107d4520a3 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:34:15 +0200 Subject: [PATCH 02/10] Add py3.9-min --- .github/workflows/pytest-remote-data.yml | 3 +++ ci/requirements-py3.9-min.yml | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 ci/requirements-py3.9-min.yml diff --git a/.github/workflows/pytest-remote-data.yml b/.github/workflows/pytest-remote-data.yml index 998b23c4bf..31b879a0ee 100644 --- a/.github/workflows/pytest-remote-data.yml +++ b/.github/workflows/pytest-remote-data.yml @@ -58,6 +58,9 @@ jobs: matrix: python-version: [3.9, "3.10", "3.11", "3.12"] suffix: [''] # the alternative to "-min" + include: + - python-version: 3.9 + suffix: -min runs-on: ubuntu-latest if: (github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'remote-data')) || (github.event_name == 'push') diff --git a/ci/requirements-py3.9-min.yml b/ci/requirements-py3.9-min.yml new file mode 100644 index 0000000000..278a323f94 --- /dev/null +++ b/ci/requirements-py3.9-min.yml @@ -0,0 +1,22 @@ +name: test_env +channels: + - defaults +dependencies: + - coveralls + - pip + - pytest + - pytest-cov + - pytest-mock + - pytest-timeout + - python=3.9 + - pytz + - requests + - pip: + - dataclasses + - h5py==3.0.0 + - numpy==1.19.3 + - pandas==1.3.0 # min version of pvlib + - scipy==1.6.0 + - pytest-rerunfailures # conda version is >3.6 + - pytest-remotedata # conda package is 0.3.0, needs > 0.3.1 + - requests-mock From dda1321a44de4b64adee48b9cfa813b43f896df0 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:34:27 +0200 Subject: [PATCH 03/10] Update min numpy in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6ccf443725..f8283a42eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ authors = [ ] requires-python = ">=3.9" dependencies = [ - 'numpy >= 1.17.3', + 'numpy >= 1.19.3', 'pandas >= 1.3.0', 'pytz', 'requests', From a7c5dff898cde34d57e2a4b001e9b6b9594ff139 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:42:45 +0200 Subject: [PATCH 04/10] Update asv.conf.json --- benchmarks/asv.conf.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json index 1ca23419a9..8ecaa88f49 100644 --- a/benchmarks/asv.conf.json +++ b/benchmarks/asv.conf.json @@ -113,19 +113,19 @@ "include": [ // minimum supported versions { - "python": "3.8", + "python": "3.9", "build": "", - "numpy": "1.17.5", + "numpy": "1.19.3", "pandas": "1.3.0", "scipy": "1.6.0", // Note: these don't have a minimum in setup.py "h5py": "3.1.0", - "ephem": "3.7.7.0", // first version to support py 3.8 - "numba": "0.47.0", // first version to support py 3.8 + "ephem": "4.0.0.0", // first version to support py 3.9 + "numba": "0.53.0", // first version to support py 3.9 }, // latest versions available { - "python": "3.8", + "python": "3.9", "build": "", "numpy": "", "pandas": "", From 647469bdcbc694848811d2f3fa29057ed5bd7580 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:46:50 +0200 Subject: [PATCH 05/10] Update v0.11.1.rst --- docs/sphinx/source/whatsnew/v0.11.1.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sphinx/source/whatsnew/v0.11.1.rst b/docs/sphinx/source/whatsnew/v0.11.1.rst index 7c8f01743e..ab036c4ace 100644 --- a/docs/sphinx/source/whatsnew/v0.11.1.rst +++ b/docs/sphinx/source/whatsnew/v0.11.1.rst @@ -56,7 +56,8 @@ Documentation Requirements ~~~~~~~~~~~~ - +* Python 3.9 or greater. (:pull:`2213`) +* Minimum numpy version increased to v1.19.3. (:pull:`2213`) Contributors ~~~~~~~~~~~~ From fbdb6cd904016d2afaa3e460e73c626002b60a95 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 03:25:47 +0200 Subject: [PATCH 06/10] Update versions in asv.conf.json --- benchmarks/asv.conf.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json index 8ecaa88f49..537921acf3 100644 --- a/benchmarks/asv.conf.json +++ b/benchmarks/asv.conf.json @@ -115,12 +115,12 @@ { "python": "3.9", "build": "", - "numpy": "1.19.3", + "numpy": "1.19.4", "pandas": "1.3.0", "scipy": "1.6.0", // Note: these don't have a minimum in setup.py "h5py": "3.1.0", - "ephem": "4.0.0.0", // first version to support py 3.9 + "ephem": "4.0.0.1", // first version to support py 3.9 "numba": "0.53.0", // first version to support py 3.9 }, // latest versions available From 28e8abf40bc8767e21c9b1851d40357ceaf7c903 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 03:34:05 +0200 Subject: [PATCH 07/10] Bumping numpy version in asv.conf.json --- benchmarks/asv.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json index 537921acf3..62a21bf505 100644 --- a/benchmarks/asv.conf.json +++ b/benchmarks/asv.conf.json @@ -115,7 +115,7 @@ { "python": "3.9", "build": "", - "numpy": "1.19.4", + "numpy": "1.19.5", "pandas": "1.3.0", "scipy": "1.6.0", // Note: these don't have a minimum in setup.py From 1d19af0a816acfd3b0c53f5c25ed9a0a932bf5ec Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 03:41:39 +0200 Subject: [PATCH 08/10] Update v0.11.1.rst --- docs/sphinx/source/whatsnew/v0.11.1.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/sphinx/source/whatsnew/v0.11.1.rst b/docs/sphinx/source/whatsnew/v0.11.1.rst index ab036c4ace..1841d9e157 100644 --- a/docs/sphinx/source/whatsnew/v0.11.1.rst +++ b/docs/sphinx/source/whatsnew/v0.11.1.rst @@ -75,3 +75,4 @@ Contributors * Marcos R. Escudero (:ghuser:`marc-resc`) * Bernat Nicolau (:ghuser:`BernatNicolau`) * Eduardo Sarquis (:ghuser:`EduardoSarquis`) +* Adam R. Jensen (:ghuser:`AdamRJensen`) From 91be6bed783b00a7d378b7e3aaff80e496f2b730 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 03:41:48 +0200 Subject: [PATCH 09/10] Update codecov python version --- .github/workflows/pytest-remote-data.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pytest-remote-data.yml b/.github/workflows/pytest-remote-data.yml index 31b879a0ee..205cdb8c73 100644 --- a/.github/workflows/pytest-remote-data.yml +++ b/.github/workflows/pytest-remote-data.yml @@ -103,7 +103,7 @@ jobs: run: pytest pvlib/tests/iotools --cov=./ --cov-report=xml --remote-data - name: Upload coverage to Codecov - if: matrix.python-version == 3.8 && matrix.suffix == '' + if: matrix.python-version == 3.9 && matrix.suffix == '' uses: codecov/codecov-action@v4 with: fail_ci_if_error: true From 948c8269ff2b681dbb538a50707d8cf76c7b7f63 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:52:37 +0200 Subject: [PATCH 10/10] Remove dataclassees in requirements-py3.9-min.yml Co-authored-by: Kevin Anderson --- ci/requirements-py3.9-min.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/ci/requirements-py3.9-min.yml b/ci/requirements-py3.9-min.yml index 278a323f94..d17df337fd 100644 --- a/ci/requirements-py3.9-min.yml +++ b/ci/requirements-py3.9-min.yml @@ -12,7 +12,6 @@ dependencies: - pytz - requests - pip: - - dataclasses - h5py==3.0.0 - numpy==1.19.3 - pandas==1.3.0 # min version of pvlib