Skip to content

Commit 6e23585

Browse files
committed
Merge remote-tracking branch 'upstream/main' into ants2d
2 parents 2b5750a + 57886ce commit 6e23585

138 files changed

Lines changed: 3675 additions & 1418 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/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
- [ ] Closes #xxxx
44
- [ ] I am familiar with the [contributing guidelines](https://pvlib-python.readthedocs.io/en/latest/contributing/index.html)
5+
- [ ] I attest that all AI-generated material has been vetted for accuracy and is in compliance with the pvlib license
56
- [ ] Tests added
67
- [ ] Updates entries in [`docs/sphinx/source/reference`](https://github.com/pvlib/pvlib-python/blob/main/docs/sphinx/source/reference) for API changes.
78
- [ ] Adds description and name entries in the appropriate "what's new" file in [`docs/sphinx/source/whatsnew`](https://github.com/pvlib/pvlib-python/tree/main/docs/sphinx/source/whatsnew) for all changes. Includes link to the GitHub Issue with `` :issue:`num` `` or this Pull Request with `` :pull:`num` ``. Includes contributor name and/or GitHub username (link with `` :ghuser:`user` ``).

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
strategy:
5757
fail-fast: false # don't cancel other matrix jobs when one fails
5858
matrix:
59-
python-version: ["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:
6262
- python-version: "3.10"
@@ -96,10 +96,13 @@ jobs:
9696
shell: bash -l {0} # necessary for conda env to be active
9797
env:
9898
# copy GitHub Secrets into environment variables for the tests to access
99-
NREL_API_KEY: ${{ secrets.NRELAPIKEY }}
99+
NLR_API_KEY: ${{ secrets.NRELAPIKEY }}
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

.github/workflows/pytest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ 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.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:

.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.

.github/workflows/welcome.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Welcome First-Time Contributor
2+
3+
on:
4+
pull_request_target:
5+
types: opened
6+
7+
jobs:
8+
welcome:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
pull-requests: write
12+
steps:
13+
- uses: plbstl/first-contribution@v4
14+
with:
15+
pr-opened-msg: |
16+
### Hey @{fc-author}! :tada:
17+
18+
Thanks for opening your first pull request! We appreciate your
19+
contribution. Please ensure you have reviewed and understood the
20+
[contributing guidelines](https://pvlib-python.readthedocs.io/en/latest/contributing/index.html).
21+
22+
If AI is used for any portion of this PR, you must vet the content
23+
for technical accuracy.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,8 @@ coverage.xml
9999
env
100100
results
101101

102+
103+
# Gas Town runtime
104+
.beads/
105+
.claude/
106+
.runtime/

benchmarks/benchmarks/scaling.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def setup(self):
1515
lon = np.array((4.99, 5, 5.01))
1616
self.coordinates = np.array([(lati, loni) for
1717
(lati, loni) in zip(lat, lon)])
18-
self.times = pd.date_range('2019-01-01', freq='1T', periods=self.n)
18+
self.times = pd.date_range('2019-01-01', freq='1min', periods=self.n)
1919
self.positions = np.array([[0, 0], [100, 0], [100, 100], [0, 100]])
2020
self.clearsky_index = pd.Series(np.random.rand(self.n),
2121
index=self.times)

ci/requirements-py3.14.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: test_env
2+
channels:
3+
- defaults
4+
- conda-forge
5+
dependencies:
6+
- coveralls
7+
- cython
8+
- ephem
9+
- h5py
10+
# - numba # not available for py 3.14 as of 2025-11-03
11+
- numpy >= 1.21.2
12+
- pandas >= 1.3.3
13+
- pip
14+
- pytest
15+
- pytest-cov
16+
- pytest-mock
17+
- requests-mock
18+
- pytest-timeout
19+
- pytest-rerunfailures
20+
- conda-forge::pytest-remotedata # version in default channel is old
21+
- python=3.14
22+
- pytz
23+
- requests
24+
- scipy >= 1.7.2
25+
- statsmodels
26+
- pip:
27+
# - nrel-pysam>=2.0 # not available for py 3.14 as of 2025-11-03
28+
- solarfactors

docs/examples/adr-pvarray/plot_fit_to_matrix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
25 1000 75.0 273.651
5252
26 1100 75.0 301.013
5353
'''
54-
df = pd.read_csv(StringIO(iec61853data), delim_whitespace=True)
54+
df = pd.read_csv(StringIO(iec61853data), sep=r"\s+")
5555

5656
# %%
5757
#

0 commit comments

Comments
 (0)