Skip to content

Commit f4e07de

Browse files
committed
Merge remote-tracking branch 'upstream/main' into pr/2491
2 parents 31f26b5 + 03fb340 commit f4e07de

101 files changed

Lines changed: 3630 additions & 1366 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/publish.yml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Publish distributions to PyPI
1+
name: Package build
22

33
on:
44
pull_request:
@@ -9,8 +9,8 @@ on:
99
- "v*"
1010

1111
jobs:
12-
build-n-publish:
13-
name: Build and publish distributions to PyPI
12+
build:
13+
name: Build wheel and sdist
1414
if: github.repository == 'pvlib/pvlib-python'
1515
runs-on: ubuntu-latest
1616
steps:
@@ -23,7 +23,7 @@ jobs:
2323
uses: actions/setup-python@v5
2424
with:
2525
# Python version should be the minimum supported version
26-
python-version: "3.9"
26+
python-version: "3.10"
2727

2828
- name: Install build tools
2929
run: |
@@ -49,10 +49,28 @@ jobs:
4949
run: du -h pvlib
5050
working-directory: ./tmp
5151

52+
- name: Store the distribution packages
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: python-package-distributions
56+
path: dist/
57+
58+
publish:
59+
name: Release dist files to PyPI
5260
# only publish distribution to PyPI for tagged commits
61+
if: startsWith(github.ref, 'refs/tags/v')
62+
needs:
63+
- build
64+
runs-on: ubuntu-latest
65+
permissions:
66+
id-token: write # for PyPI trusted publishing
67+
68+
steps:
69+
- name: Download all dist files
70+
uses: actions/download-artifact@v4
71+
with:
72+
name: python-package-distributions
73+
path: dist/
74+
5375
- name: Publish distribution to PyPI
54-
if: startsWith(github.ref, 'refs/tags/v')
5576
uses: pypa/gh-action-pypi-publish@release/v1
56-
with:
57-
user: __token__
58-
password: ${{ secrets.pypi_password }}

.github/workflows/pytest-remote-data.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ jobs:
5656
strategy:
5757
fail-fast: false # don't cancel other matrix jobs when one fails
5858
matrix:
59-
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
59+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
6060
suffix: [''] # the alternative to "-min"
6161
include:
62-
- python-version: 3.9
62+
- python-version: "3.10"
6363
suffix: -min
6464

6565
runs-on: ubuntu-latest
@@ -100,10 +100,13 @@ jobs:
100100
SOLARANYWHERE_API_KEY: ${{ secrets.SOLARANYWHERE_API_KEY }}
101101
BSRN_FTP_USERNAME: ${{ secrets.BSRN_FTP_USERNAME }}
102102
BSRN_FTP_PASSWORD: ${{ secrets.BSRN_FTP_PASSWORD }}
103+
ECMWF_API_KEY: ${{ secrets.ECMWF_API_KEY }}
104+
EARTHDATA_USERNAME: ${{ secrets.EARTHDATA_USERNAME }}
105+
EARTHDATA_PASSWORD: ${{ secrets.EARTHDATA_PASSWORD }}
103106
run: pytest tests/iotools --cov=./ --cov-report=xml --remote-data
104107

105108
- name: Upload coverage to Codecov
106-
if: matrix.python-version == 3.9 && matrix.suffix == ''
109+
if: matrix.python-version == '3.10' && matrix.suffix == ''
107110
uses: codecov/codecov-action@v4
108111
with:
109112
fail_ci_if_error: true

.github/workflows/pytest.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ jobs:
1212
fail-fast: false # don't cancel other matrix jobs when one fails
1313
matrix:
1414
os: [ubuntu-latest, macos-latest, windows-latest]
15-
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
15+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
1616
environment-type: [conda, bare]
1717
suffix: [''] # placeholder as an alternative to "-min"
1818
include:
1919
- os: ubuntu-latest
20-
python-version: 3.9
20+
python-version: "3.10"
2121
environment-type: conda
2222
suffix: -min
2323
exclude:
@@ -40,10 +40,11 @@ jobs:
4040

4141
- name: Install Conda environment with Micromamba
4242
if: matrix.environment-type == 'conda'
43-
uses: mamba-org/setup-micromamba@v1
43+
uses: mamba-org/setup-micromamba@v2
4444
with:
4545
environment-file: ${{ env.REQUIREMENTS }}
46-
cache-downloads: true
46+
cache-downloads: false
47+
cache-environment: false
4748
create-args: >-
4849
python=${{ matrix.python-version }}
4950
condarc: |
@@ -82,7 +83,7 @@ jobs:
8283
pytest tests --cov=./ --cov-report=xml --ignore=tests/iotools
8384
8485
- name: Upload coverage to Codecov
85-
if: matrix.python-version == 3.9 && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda'
86+
if: matrix.python-version == '3.10' && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda'
8687
uses: codecov/codecov-action@v4
8788
with:
8889
fail_ci_if_error: true

.github/workflows/top-ranked-issues.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ jobs:
3131
3232
- name: Run update_top_ranking_issues.py
3333
run: |
34-
python ./scripts/update_top_ranking_issues.py
34+
python .github/workflows/update_top_ranking_issues.py
File renamed without changes.

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ Installation
7474
============
7575

7676
pvlib-python releases may be installed using the ``pip`` and ``conda`` tools.
77-
Please see the [Installation page](https://pvlib-python.readthedocs.io/en/stable/user_guide/installation.html) of the documentation for complete instructions.
77+
```bash
78+
pip install pvlib
79+
conda install -c conda-forge pvlib
80+
```
81+
Please see the [Installation page](https://pvlib-python.readthedocs.io/en/stable/user_guide/getting_started/installation.html) of the documentation for complete instructions.
7882

7983

8084
Contributing

benchmarks/asv.conf.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,19 +113,19 @@
113113
"include": [
114114
// minimum supported versions
115115
{
116-
"python": "3.9",
116+
"python": "3.10",
117117
"build": "",
118-
"numpy": "1.19.5",
119-
"pandas": "1.3.0",
120-
"scipy": "1.6.0",
118+
"numpy": "1.21.5",
119+
"pandas": "1.4.1", // first anaconda version to support py 3.10
120+
"scipy": "1.7.2",
121121
// Note: these don't have a minimum in setup.py
122-
"h5py": "3.1.0",
123-
"ephem": "4.0.0.1", // first version to support py 3.9
124-
"numba": "0.53.0", // first version to support py 3.9
122+
"h5py": "3.6.0", // first version to support py 3.10
123+
"ephem": "4.1.1", // first version to support py 3.10
124+
"numba": "0.55.0", // first version to support py 3.10
125125
},
126126
// latest versions available
127127
{
128-
"python": "3.9",
128+
"python": "3.10",
129129
"build": "",
130130
"numpy": "",
131131
"pandas": "",
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ dependencies:
88
- pytest-cov
99
- pytest-mock
1010
- pytest-timeout
11-
- python=3.9
11+
- python=3.10
1212
- pytz
1313
- requests
1414
- pip:
15-
- h5py==3.0.0
16-
- numpy==1.19.3
17-
- pandas==1.3.0 # min version of pvlib
18-
- scipy==1.6.0
15+
- h5py==3.6.0
16+
- numpy==1.21.2
17+
- pandas==1.3.3 # min version of pvlib
18+
- scipy==1.7.2
1919
- pytest-rerunfailures # conda version is >3.6
2020
- pytest-remotedata # conda package is 0.3.0, needs > 0.3.1
2121
- requests-mock

ci/requirements-py3.10.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ dependencies:
88
- ephem
99
- h5py
1010
- numba
11-
- numpy >= 1.17.3
12-
- pandas >= 1.3.0
11+
- numpy >= 1.21.2
12+
- pandas >= 1.3.3
1313
- pip
1414
- pytest
1515
- pytest-cov
@@ -21,7 +21,7 @@ dependencies:
2121
- python=3.10
2222
- pytz
2323
- requests
24-
- scipy >= 1.6.0
24+
- scipy >= 1.7.2
2525
- statsmodels
2626
- pip:
2727
- nrel-pysam>=2.0

ci/requirements-py3.11.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ dependencies:
88
- ephem
99
- h5py
1010
- numba
11-
- numpy >= 1.17.3
12-
- pandas >= 1.3.0
11+
- numpy >= 1.21.2
12+
- pandas >= 1.3.3
1313
- pip
1414
- pytest
1515
- pytest-cov
@@ -21,7 +21,7 @@ dependencies:
2121
- python=3.11
2222
- pytz
2323
- requests
24-
- scipy >= 1.6.0
24+
- scipy >= 1.7.2
2525
- statsmodels
2626
- pip:
2727
- nrel-pysam>=2.0

0 commit comments

Comments
 (0)