Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
uses: actions/setup-python@v5
with:
# Python version should be the minimum supported version
python-version: "3.9"
python-version: "3.10"

- name: Install build tools
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pytest-remote-data.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ jobs:
strategy:
fail-fast: false # don't cancel other matrix jobs when one fails
matrix:
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
suffix: [''] # the alternative to "-min"
include:
- python-version: 3.9
- python-version: "3.10"
suffix: -min

runs-on: ubuntu-latest
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
run: pytest tests/iotools --cov=./ --cov-report=xml --remote-data

- name: Upload coverage to Codecov
if: matrix.python-version == 3.9 && matrix.suffix == ''
if: matrix.python-version == "3.10" && matrix.suffix == ''
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.9, "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
environment-type: [conda, bare]
suffix: [''] # placeholder as an alternative to "-min"
include:
- os: ubuntu-latest
python-version: 3.9
python-version: "3.10"
environment-type: conda
suffix: -min
exclude:
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
pytest tests --cov=./ --cov-report=xml --ignore=tests/iotools

- name: Upload coverage to Codecov
if: matrix.python-version == 3.9 && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda'
if: matrix.python-version == "3.10" && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda'
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
Expand Down
16 changes: 8 additions & 8 deletions benchmarks/asv.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,19 +113,19 @@
"include": [
// minimum supported versions
{
"python": "3.9",
"python": "3.10",
"build": "",
"numpy": "1.19.5",
"pandas": "1.3.0",
"scipy": "1.6.0",
"numpy": "1.21.5",
"pandas": "1.4.1", // first anaconda version to support py 3.10
"scipy": "1.7.2",
// Note: these don't have a minimum in setup.py
"h5py": "3.1.0",
"ephem": "4.0.0.1", // first version to support py 3.9
"numba": "0.53.0", // first version to support py 3.9
"h5py": "3.6.0", // first version to support py 3.10
"ephem": "4.1.1", // first version to support py 3.10
"numba": "0.55.0", // first version to support py 3.10
},
// latest versions available
{
"python": "3.9",
"python": "3.10",
"build": "",
"numpy": "",
"pandas": "",
Expand Down
10 changes: 5 additions & 5 deletions ci/requirements-py3.9-min.yml → ci/requirements-py3.10-min.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ dependencies:
- pytest-cov
- pytest-mock
- pytest-timeout
- python=3.9
- python=3.10
- pytz
- requests
- pip:
- h5py==3.0.0
- numpy==1.19.3
- pandas==1.3.0 # min version of pvlib
- scipy==1.6.0
- h5py==3.6.0
- numpy==1.21.2
- pandas==1.3.3 # min version of pvlib
- scipy==1.7.2
- pytest-rerunfailures # conda version is >3.6
- pytest-remotedata # conda package is 0.3.0, needs > 0.3.1
- requests-mock
6 changes: 3 additions & 3 deletions ci/requirements-py3.10.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ dependencies:
- ephem
- h5py
- numba
- numpy >= 1.17.3
- pandas >= 1.3.0
- numpy >= 1.21.2
- pandas >= 1.3.3
- pip
- pytest
- pytest-cov
Expand All @@ -21,7 +21,7 @@ dependencies:
- python=3.10
- pytz
- requests
- scipy >= 1.6.0
- scipy >= 1.7.2
- statsmodels
- pip:
- nrel-pysam>=2.0
Expand Down
6 changes: 3 additions & 3 deletions ci/requirements-py3.11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ dependencies:
- ephem
- h5py
- numba
- numpy >= 1.17.3
- pandas >= 1.3.0
- numpy >= 1.21.2
- pandas >= 1.3.3
- pip
- pytest
- pytest-cov
Expand All @@ -21,7 +21,7 @@ dependencies:
- python=3.11
- pytz
- requests
- scipy >= 1.6.0
- scipy >= 1.7.2
- statsmodels
- pip:
- nrel-pysam>=2.0
Expand Down
6 changes: 3 additions & 3 deletions ci/requirements-py3.12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ dependencies:
- ephem
- h5py
- numba
- numpy >= 1.17.3
- pandas >= 1.3.0
- numpy >= 1.21.2
- pandas >= 1.3.3
- pip
- pytest
- pytest-cov
Expand All @@ -21,7 +21,7 @@ dependencies:
- python=3.12
- pytz
- requests
- scipy >= 1.6.0
- scipy >= 1.7.2
- statsmodels
- pip:
- nrel-pysam>=2.0
Expand Down
6 changes: 3 additions & 3 deletions ci/requirements-py3.13.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ dependencies:
- ephem
- h5py
- numba
- numpy >= 1.17.3
- pandas >= 1.3.0
- numpy >= 1.21.2
- pandas >= 1.3.3
- pip
- pytest
- pytest-cov
Expand All @@ -21,7 +21,7 @@ dependencies:
- python=3.13
- pytz
- requests
- scipy >= 1.6.0
- scipy >= 1.7.2
- statsmodels
- pip:
- nrel-pysam>=2.0
Expand Down
28 changes: 0 additions & 28 deletions ci/requirements-py3.9.yml

This file was deleted.

4 changes: 4 additions & 0 deletions docs/sphinx/source/whatsnew/v0.13.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ Benchmarking

Requirements
~~~~~~~~~~~~
* Drop support for Python 3.9 (reaches End of Life in Oct 2025). (:pull:`2547`)
* Advance minimum numpy to 1.21.2. (:pull:`2547`)
* Advance minimum scipy to 1.7.2. (:pull:`2547`)
* Advance minimum pandas to 1.3.3. (:pull:`2547`)


Maintenance
Expand Down
12 changes: 4 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ description = "A set of functions and classes for simulating the performance of
authors = [
{ name = "pvlib python Developers", email = "[email protected]" },
]
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
'numpy >= 1.19.3',
'pandas >= 1.3.0',
'numpy >= 1.21.2',
'pandas >= 1.3.3',
'pytz',
'requests',
'scipy >= 1.6.0',
'scipy >= 1.7.2',
'h5py',
]
license = "BSD-3-Clause"
Expand Down Expand Up @@ -108,8 +108,4 @@ testpaths = "tests"
# https://docs.python.org/3/library/warnings.html#the-warnings-filter
filterwarnings = [
"ignore:Using or importing the ABCs:DeprecationWarning:.*patsy:",
# deprecation warnings from numpy 1.20
"ignore:`np.long` is a deprecated alias:DeprecationWarning:.*numba:",
"ignore:`np.int` is a deprecated alias:DeprecationWarning:.*(numba|scipy):",
"ignore:`np.bool` is a deprecated alias:DeprecationWarning:.*numba:",
]