Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RdTools 3.0 #390

Open
wants to merge 245 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 242 commits
Commits
Show all changes
245 commits
Select commit Hold shift + click to select a range
f769327
add two way window filter
mdeceglie Feb 1, 2023
bd73193
provide for insolation based aggregated filters
mdeceglie Feb 1, 2023
2b05fa3
add insolation filter
mdeceglie Feb 1, 2023
069d0cc
bug on insolation filter
mdeceglie Mar 17, 2023
a470db9
add hampel filter
mdeceglie Mar 17, 2023
0fcca8b
add directional tukey filter
mdeceglie Mar 23, 2023
6b24c57
Enable sub-daily aggregation
mdeceglie Mar 24, 2023
03c58e6
add pvlib clearsky filter
mdeceglie Apr 3, 2023
77e14c4
use pvlib_clearsky in TrendAnalysis
mdeceglie Apr 3, 2023
60e18eb
Add sensor_pvlib_clearsky_filter option
mdeceglie Apr 3, 2023
0f670fb
update default filter parameters
mdeceglie Apr 4, 2023
19ff25e
minor typo in error message
cdeline Apr 6, 2023
f12ec96
ensure that clearsky and measured are on same index
mdeceglie Apr 6, 2023
7eec866
remove warnings from logic clip filter
cdeline Apr 26, 2023
d43cb9c
Add control of tukey k
mdeceglie Apr 28, 2023
7e2a81a
fix bug in _call_clearsky_filter
mdeceglie Apr 28, 2023
07d6adf
add pvlib clearsky parameter lookup
mdeceglie Apr 28, 2023
c80c79a
Merge pull request #366 from NREL/365_logic_clipping_warnings
mdeceglie Apr 28, 2023
ea4f68b
bump requirements for hampel filter to work. (maybe other filters to…
cdeline Apr 28, 2023
563dff1
add hour angle filter
mdeceglie May 24, 2023
3bf7363
add hour angle filter to TrendAnalysis
mdeceglie May 24, 2023
04449bc
Merge branch 'master' into hour_angle_filter
mdeceglie May 25, 2023
aa4af78
Merge branch 'master' into aggregated_filters_for_trials
mdeceglie May 25, 2023
54b0423
add hour angle filter
mdeceglie May 24, 2023
ee13551
add hour angle filter to TrendAnalysis
mdeceglie May 24, 2023
9cbcb47
Merge branch 'hour_angle_filter' of https://github.com/NREL/rdtools i…
cdeline May 25, 2023
d94ccba
adjust error message
mdeceglie May 25, 2023
c9285fe
try updating arch version
mdeceglie May 25, 2023
e889ffe
try arch=5.5.0
mdeceglie May 25, 2023
2e689e4
fix broken self.pvlib_location checks.
cdeline May 25, 2023
13d0f9b
Merge branch 'hour_angle_filter' of https://github.com/NREL/rdtools i…
cdeline May 25, 2023
20bc73c
Merge pull request #375 from NREL/hour_angle_filter
mdeceglie May 26, 2023
aa1c007
Merge branch 'development' into aggregated_filters_for_trials
mdeceglie Sep 12, 2023
f22e402
Merge branch 'development' into aggregated_filters_for_trials
mdeceglie Nov 3, 2023
bd52d73
Merge branch 'development' into aggregated_filters_for_trials
mdeceglie Nov 3, 2023
90f31e2
Merge branch 'master' into aggregated_filters_for_trials
mdeceglie Nov 17, 2023
2bd60f4
Merge branch 'development' into aggregated_filters_for_trials
mdeceglie Dec 1, 2023
be0662f
Bump fonttools from 4.37.1 to 4.43.0
dependabot[bot] Jan 9, 2024
0f3258b
Bump jinja2 from 3.0.0 to 3.1.3 in /docs
dependabot[bot] Jan 11, 2024
4a5e805
Bump pillow from 10.0.1 to 10.3.0
dependabot[bot] Apr 3, 2024
bc8663a
run tests
martin-springer Apr 3, 2024
13067ff
fix linting
martin-springer Apr 10, 2024
26bb72d
Merge branch 'development' into aggregated_filters_for_trials
mdeceglie Apr 10, 2024
1f25b2f
Wrapper for clearsky filter combining csi and pvlib models (#412)
martin-springer Apr 29, 2024
c390d9b
add test for hour_angle_filter
martin-springer Apr 29, 2024
e366176
add test_directional_tukey_filter
martin-springer Apr 29, 2024
f99a214
add test_insolation_filter
martin-springer Apr 29, 2024
05b0af3
add test_two_way_window_filter
martin-springer Apr 29, 2024
dd06d29
add bootstrap additive test
martin-springer Apr 29, 2024
8172208
bootstrap_test fix linting
martin-springer Apr 29, 2024
c45d438
run blake
martin-springer Apr 30, 2024
4c84bdc
bootstrap test for value error
martin-springer Apr 30, 2024
f1378d9
irradiance rescale test for value error
martin-springer Apr 30, 2024
b072b57
test for ValueError
martin-springer Apr 30, 2024
6ac03a1
flake8 ignore E203
martin-springer Apr 30, 2024
73d60c0
add pvlib clearsky filter
martin-springer May 1, 2024
664a7a1
add aggregated filter tests to analysis chain tests
martin-springer May 21, 2024
0a11728
add missing line
martin-springer May 22, 2024
fb13bac
analysis chain hour angle filter test
martin-springer May 22, 2024
99d4913
liniting
martin-springer May 22, 2024
d942380
sensor_clearsky_filter vs sensor_pvlib_clearsky_filter
martin-springer Jun 25, 2024
42142c2
update pandocfilters to 1.5.1
martin-springer Jun 25, 2024
c6bf396
restrict numpy<2.0
martin-springer Jun 25, 2024
18e10f7
CODS testing turn on verbose flag
martin-springer Jun 25, 2024
e28ab84
add test coverage to changelog
martin-springer Jun 26, 2024
eb5eab2
add codecov.yml
martin-springer Jun 26, 2024
f905dac
update changelog
martin-springer Jun 26, 2024
5ffafcf
fix typos in readme
martin-springer Jun 26, 2024
7a78130
update changelog
martin-springer Jun 26, 2024
d30dd64
bump pvlib upper bound from 0.11 to 0.12
kandersolar Jun 26, 2024
8d67b24
Add missing tests (#413)
martin-springer Jun 27, 2024
d1eb662
Update docstrings for new functions (#418)
mdeceglie Jul 2, 2024
6ef4a0e
Remove deprecated functions (#419)
martin-springer Jul 3, 2024
bdef714
Merge branch 'aggregated_filters_for_trials' into update-codecov-config
mdeceglie Jul 3, 2024
88ad268
Reverse sensor_clearsky_filter commented section
mdeceglie Jul 3, 2024
585be41
Merge pull request #420 from NREL/update-codecov-config
mdeceglie Jul 3, 2024
6d2ae53
Merge branch 'aggregated_filters_for_trials' into typos-in-readme
mdeceglie Jul 3, 2024
ab8bdc8
Merge pull request #421 from NREL/typos-in-readme
mdeceglie Jul 3, 2024
e3a2421
Merge branch 'aggregated_filters_for_trials' into pvlib-0.11.0
mdeceglie Jul 3, 2024
ae4b0ac
update change log
mdeceglie Jul 3, 2024
ac81e08
update change log with <0.12
mdeceglie Jul 3, 2024
449cca9
availability test: pin altitude to zero
kandersolar Jul 3, 2024
f1726ab
Merge pull request #423 from NREL/pvlib-0.11.0
mdeceglie Jul 3, 2024
6d0311a
Merge branch 'aggregated_filters_for_trials' into dependabot/pip/font…
mdeceglie Jul 3, 2024
9277565
update change log
mdeceglie Jul 3, 2024
135a1e8
Merge pull request #404 from NREL/dependabot/pip/fonttools-4.43.0
mdeceglie Jul 5, 2024
b5d1e04
Merge branch 'aggregated_filters_for_trials' into dependabot/pip/docs…
mdeceglie Jul 5, 2024
1a75e98
update change log
mdeceglie Jul 5, 2024
ac3574f
Merge pull request #405 from NREL/dependabot/pip/docs/jinja2-3.1.3
mdeceglie Jul 5, 2024
2724c66
Merge branch 'aggregated_filters_for_trials' into dependabot/pip/pill…
mdeceglie Jul 5, 2024
114364c
update change log
mdeceglie Jul 5, 2024
974cb38
Merge pull request #410 from NREL/dependabot/pip/pillow-10.3.0
mdeceglie Jul 5, 2024
d609163
Bump certifi from 2023.7.22 to 2024.7.4
dependabot[bot] Jul 6, 2024
fc7c6ca
Merge branch 'aggregated_filters_for_trials' into dependabot/pip/cert…
mdeceglie Jul 10, 2024
6d32ee4
update change log
mdeceglie Jul 10, 2024
e4349b1
Merge pull request #424 from NREL/dependabot/pip/certifi-2024.7.4
mdeceglie Jul 10, 2024
0b3ff92
Turn on two way window filter by default
mdeceglie Jul 10, 2024
67e542d
update test name
mdeceglie Jul 31, 2024
99ee326
Check that default filters are present
mdeceglie Jul 31, 2024
75bca46
re-run notebook
mdeceglie Jul 31, 2024
1b22db4
fix style problems
mdeceglie Jul 31, 2024
108de2c
another style fix
mdeceglie Jul 31, 2024
0f58817
Change default clipping filter to logic
mdeceglie Jul 31, 2024
1526bd5
Remove deprecated syntax from clipping wrapper
mdeceglie Aug 1, 2024
ba57c07
Revise clip_filter test
mdeceglie Aug 1, 2024
1cfc41c
style fixes
mdeceglie Aug 1, 2024
c5a71d3
adjust failing pytests
mdeceglie Aug 5, 2024
a146127
style fixes
mdeceglie Aug 5, 2024
2163913
Run notebook
mdeceglie Aug 5, 2024
bddddf8
turn off fail-fast for pytest
mdeceglie Aug 5, 2024
899468f
fix fail fast indent
mdeceglie Aug 5, 2024
ad491fe
Deal with change in mocker call_args attribute
mdeceglie Aug 5, 2024
26984ce
style fix
mdeceglie Aug 5, 2024
953302a
Run notebook with correct environment
mdeceglie Aug 6, 2024
1fb3c34
run notebook with actually correct environment
mdeceglie Aug 6, 2024
387f738
update changelog
mdeceglie Aug 6, 2024
131bd43
Update requirements
mdeceglie Aug 6, 2024
a7ed78b
replace deploy with trusted publisher
martin-springer Aug 21, 2024
966c241
add python 3.11 and 3.12 to pytest.yaml
martin-springer Aug 21, 2024
bcf8eed
update changelog
martin-springer Aug 21, 2024
0427657
update versioneer
martin-springer Aug 21, 2024
e589d7c
update scikit-learn dependencies
martin-springer Aug 21, 2024
7de6423
update numpy requirement to 1.26.4
martin-springer Aug 21, 2024
9d63522
downgrade scikit-learn to 1.5.1
martin-springer Aug 21, 2024
5e8ce2f
downgrad numpy version
martin-springer Aug 21, 2024
5df4c7f
depricate fail_on_rdtools_version decorator
martin-springer Aug 21, 2024
d6969ea
Merge pull request #425 from NREL/new_default_behavior
mdeceglie Aug 21, 2024
c37ca59
Merge pull request #427 from NREL/publish_to_pypi
mdeceglie Aug 21, 2024
cac2ccb
remove fail_on_rdtools_version
martin-springer Aug 21, 2024
7b239ba
remove python 3.7 and 3.8 from testing matrix
martin-springer Aug 21, 2024
e096607
update statsmodels min version
martin-springer Aug 21, 2024
0881f46
statsmodels requirment
martin-springer Aug 21, 2024
a2f1b8a
clean up conftest imports
martin-springer Aug 21, 2024
141180f
update requirements to latest
martin-springer Aug 21, 2024
31f5d7c
downgrade scipy requirement
martin-springer Aug 21, 2024
47df017
increase pandas to 2.0.3
martin-springer Aug 21, 2024
08a5363
remove tables from requirements-min
martin-springer Aug 21, 2024
2665e6b
migrate filepath to importlib_resources
martin-springer Aug 21, 2024
cba2d16
upgrade scipy in requirements min
martin-springer Aug 21, 2024
ca8f776
update nbval
martin-springer Aug 21, 2024
213efe7
update setup.py classifiers
martin-springer Aug 21, 2024
54e7fc9
bump scipy in requirements min
martin-springer Aug 21, 2024
b7aea08
bump numpy in requirements min
martin-springer Aug 21, 2024
c21b6df
bump notebook-checks to python 3.12
martin-springer Aug 21, 2024
0151789
bump all requirements min
martin-springer Aug 21, 2024
d98b8bf
add joblib and threadpoolctl to requirements-min for scikit-learn
martin-springer Aug 21, 2024
a5f7b7e
update system availability notebook to work with new pandas
martin-springer Aug 21, 2024
755f18b
Update requirements with numpy 2 and pandas 2.2.2
mdeceglie Sep 6, 2024
c042985
Use pandas bug work around
mdeceglie Sep 6, 2024
5e94cdc
replace depricated fillna() method
mdeceglie Sep 6, 2024
f8c5363
Exclude python 3.9 with base requirements from pytest
mdeceglie Sep 6, 2024
9188488
Delete legacy notebook
mdeceglie Sep 10, 2024
2b4748f
update the nanoseconds pandas alias
mdeceglie Sep 10, 2024
ff5ee23
fix deprecations
mdeceglie Sep 11, 2024
df4e176
Fix mistake in filtering docstrings
mdeceglie Sep 11, 2024
0434744
fix deprecations
mdeceglie Sep 11, 2024
c1cacfc
update the nanoseconds pandas alias
mdeceglie Sep 10, 2024
3f3e93a
Delete legacy notebook
mdeceglie Sep 10, 2024
ab42b19
Call out aggregated filters in docstrings
mdeceglie Sep 11, 2024
9857ef9
Add allowed filter keys to TrendAnalysis docstring
mdeceglie Sep 11, 2024
7d3929d
pd deprecation fixes in filtering.py
martin-springer Sep 11, 2024
e7fa479
Fix deprecations
mdeceglie Sep 11, 2024
a60cfbe
Overhaul trend analysis notebook
mdeceglie Sep 11, 2024
8eb38c8
pd deprecation fixes in availability.py
martin-springer Sep 11, 2024
f2b7f9d
fix pd fillna downcasting warning
martin-springer Sep 11, 2024
2d2c7c4
exclude py 3.9 min requirements from tests
martin-springer Sep 11, 2024
2ae914e
pd deprecations in tests
martin-springer Sep 11, 2024
78ac2ba
update actions/upload-artifact to v4
martin-springer Sep 11, 2024
e3d51ea
update actions/upload-artifact to v4
martin-springer Sep 11, 2024
3aac61a
Merge branch 'add-new-python-versions-to-testing-matrix' of https://g…
martin-springer Sep 11, 2024
13d8d1b
revert deploy update
martin-springer Sep 11, 2024
3b1d6ad
remove leftover print statement
martin-springer Sep 11, 2024
97e5599
Update README.md
mdeceglie Sep 17, 2024
521cfaf
Docs overview page update
mdeceglie Sep 17, 2024
a256ee1
Deal with pandas future warnings
mdeceglie Sep 17, 2024
9a6546e
Notebook overhaul
mdeceglie Sep 17, 2024
cc8c100
Merge branch 'new_notebooks' of https://github.com/NREL/rdtools into …
mdeceglie Sep 17, 2024
3be8231
Update sphinx docs for notebooks
mdeceglie Sep 17, 2024
f1a9170
update nbval action
mdeceglie Sep 17, 2024
e2f4295
update example data url
mdeceglie Sep 20, 2024
ec6cc81
Update NSRDB notebook to use online file
mdeceglie Sep 20, 2024
34c1c1e
update minimum pandas version
mdeceglie Sep 20, 2024
397e513
update setup.py to agree with requirements-min.txt
mdeceglie Sep 20, 2024
7e66423
fix long lines
mdeceglie Sep 20, 2024
c849ca9
fix typo from last commit
mdeceglie Sep 20, 2024
7530443
add comma to nbval workflow
martin-springer Sep 25, 2024
66e6dad
update actions/upload-artifact@v4
martin-springer Sep 25, 2024
4e38389
revert requirements min
martin-springer Sep 25, 2024
cde4aa1
increase min statsmodel version
martin-springer Sep 25, 2024
30200ac
bump min matplotlib version
martin-springer Sep 25, 2024
7ef685b
bump min numpy version
martin-springer Sep 25, 2024
769f493
bump min scipy version
martin-springer Sep 25, 2024
9c0c72b
bump min h5py version
martin-springer Sep 25, 2024
7c06342
bump min scitkit-learn
martin-springer Sep 25, 2024
99077c0
bumping min statsmodels version further up
martin-springer Sep 25, 2024
80e59f2
bump min pandas further
martin-springer Sep 25, 2024
d534011
bump min pandas further
martin-springer Sep 25, 2024
57e5131
fix for pandas new ME alias to allow pandas<2
martin-springer Sep 25, 2024
ab2be45
update file url in notebooks
martin-springer Sep 25, 2024
9fd5163
limit nbval to nbval<=0.9.6
martin-springer Sep 25, 2024
4223d04
bump minimum pvlib requirement
martin-springer Oct 10, 2024
df11d0f
re-run notebooks
martin-springer Oct 10, 2024
88f8541
update versions in readthedocs
martin-springer Oct 10, 2024
7a17492
update documentation requirements
martin-springer Oct 10, 2024
b0a730d
add tz to test_hour_angle_filter (pvlib 0.11.1)
martin-springer Oct 10, 2024
69ef31b
fix hour_angle_filter test
martin-springer Oct 10, 2024
6615004
re-run notebooks on linux
martin-springer Oct 10, 2024
a39bb06
add date and time stamp to nbval sanitization rules
martin-springer Oct 11, 2024
5f9d474
update github actions
martin-springer Oct 11, 2024
e53ab5d
Merge branch 'aggregated_filters_for_trials' into add-new-python-vers…
martin-springer Oct 11, 2024
7636ad3
update changelog
martin-springer Oct 11, 2024
06eff91
bump min pvlib requirement in setup.py
martin-springer Oct 14, 2024
a92032c
update rollup_period docstrings in availability.py
martin-springer Oct 14, 2024
841cbec
Merge pull request #428 from NREL/add-new-python-versions-to-testing-…
mdeceglie Oct 14, 2024
665a524
Merge branch 'aggregated_filters_for_trials' into new_notebooks
mdeceglie Oct 14, 2024
bf53a17
Change version name in availability example
mdeceglie Oct 14, 2024
11639e6
remove experimental warning from availability
mdeceglie Oct 15, 2024
e4cfddf
remove availability is experimental warning from plotting module
mdeceglie Oct 15, 2024
97b2b1e
Remove extra line (style fix)
mdeceglie Oct 15, 2024
4b30122
add availability warning removal to change log
mdeceglie Oct 15, 2024
ad95657
Run and polish notebooks
mdeceglie Oct 15, 2024
a37ff1b
add ability to seed CircularBlockBootstrap
mdeceglie Oct 16, 2024
69e6798
add missing comma
mdeceglie Oct 16, 2024
892dd53
Run notebooks with bootstrap seed
mdeceglie Oct 16, 2024
09c215b
updated the xgboost model + removed experimental filter warnings
Oct 16, 2024
232fb55
change minimum version of arch to 5.0
mdeceglie Oct 16, 2024
66c3f1a
updated model to v1.6.0
Oct 16, 2024
b00d6ff
change approach to pandas future warning in CODS
mdeceglie Oct 16, 2024
a21b261
Merge branch 'aggregated_filters_for_trials' into xgboost-update
kperrynrel Oct 16, 2024
7672ff3
fixing up unit test to not look for experimental filtering warning
Oct 16, 2024
7f1e7da
Merge branch 'xgboost-update' of https://github.com/kperrynrel/rdtool…
Oct 16, 2024
3fa4fef
update min version of xgboost
mdeceglie Oct 16, 2024
a816d43
add to change log
mdeceglie Oct 16, 2024
a46b348
Merge pull request #431 from kperrynrel/xgboost-update
mdeceglie Oct 16, 2024
db3ccdd
Merge branch 'aggregated_filters_for_trials' into new_notebooks
mdeceglie Oct 16, 2024
2ddfed6
run notebooks
mdeceglie Oct 16, 2024
d6025f8
remove verbose cods output
mdeceglie Oct 16, 2024
e916cd3
Review changes
mdeceglie Oct 17, 2024
62ff1d9
Merge pull request #429 from NREL/new_notebooks
mdeceglie Oct 17, 2024
a4fa291
remove sub-daily check code
mdeceglie Oct 17, 2024
9a8a979
documentation minor fixes
mdeceglie Oct 17, 2024
ce0a810
Update contributors
mdeceglie Oct 17, 2024
fbaa49b
review changes
mdeceglie Oct 21, 2024
4c28f83
add closing backtick
mdeceglie Oct 21, 2024
16e23e6
roll back sphinx version
mdeceglie Oct 21, 2024
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
6 changes: 6 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Ignoring Paths
# --------------
# which folders/files to ignore
ignore:
- setup.py
- versioneer.py
5 changes: 4 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@
# see https://flake8.pycqa.org/en/latest/user/options.html

[flake8]
# E203 is not PEP8 compliant https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#slices
# Is excluded from flake8's own config https://flake8.pycqa.org/en/latest/user/configuration.html
extend-ignore = E203
max-line-length = 99
max-doc-length = 99
per-file-ignores =
# rdtools.x.y imported but unused
__init__.py:F401
# invalid escape sequence '\s'
versioneer.py:W605
exclude =
exclude =
docs
.eggs
build
33 changes: 0 additions & 33 deletions .github/workflows/deploy.yaml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/flake8.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: [3.12]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0 # fetch all branches, needed so we can diff against the target branch
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install flake8
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/nbval.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ jobs:
fail-fast: false # don't cancel other matrix jobs when one fails
matrix:
notebook-file: [
'TrendAnalysis_example_pvdaq4.ipynb',
'degradation_and_soiling_example_pvdaq_4.ipynb',
'TrendAnalysis_example.ipynb',
'TrendAnalysis_example_NSRDB.ipynb',
'degradation_and_soiling_example.ipynb',
'system_availability_example.ipynb'
# can't run the DKASC notebook here because it requires pre-downloaded data
]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: Install notebook environment
run: |
python -m pip install --upgrade pip wheel
Expand All @@ -36,7 +36,7 @@ jobs:
mkdir docs/artifacts
jupyter nbconvert --to html --execute --ExecutePreprocessor.timeout=600 --allow-errors --output artifacts/${{ matrix.notebook-file }}.html docs/${{ matrix.notebook-file }}
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: executed_notebooks
name: executed_notebook_${{ matrix.notebook-file }}
path: docs/artifacts
50 changes: 50 additions & 0 deletions .github/workflows/publish-to-pypi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Publish Python distribution to PyPI and TestPyPI

on: push

jobs:
build:
name: Build distribution
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
name: >-
Publish Python distribution to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/rdtools
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
18 changes: 9 additions & 9 deletions .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,27 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
env: [
'-r requirements.txt .[test]',
'-r requirements-min.txt .[test]',
'--upgrade --upgrade-strategy=eager .[test]'
]
exclude:
- python-version: 3.8
- python-version: "3.9"
env: "-r requirements.txt .[test]"
- python-version: "3.10"
env: '-r requirements-min.txt .[test]'
- python-version: 3.9
- python-version: "3.11"
env: '-r requirements-min.txt .[test]'
- python-version: "3.10"
- python-version: "3.12"
env: '-r requirements-min.txt .[test]'
# required numpy is not available on python 3.7, so exclude:
- python-version: 3.7
env: '-r requirements.txt .[test]'
fail-fast: false

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install ${{ matrix.env }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/requirements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: Install notebook environment
run: |
python -m pip install --upgrade pip wheel
Expand Down
4 changes: 2 additions & 2 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 2

build:
os: "ubuntu-22.04"
os: "ubuntu-24.04"
tools:
python: "3.7"
python: "3.12"

python:
install:
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Code coverage:
RdTools is an open-source library to support reproducible technical analysis of
time series data from photovoltaic energy systems. The library aims to provide
best practice analysis routines along with the building blocks for users to
tailor their own analyses.
Current applications include the evaluation of PV production over several years to obtain
rates of performance degradation and soiling loss. RdTools can handle
both high frequency (hourly or better) or low frequency (daily, weekly,
etc.) datasets. Best results are obtained with higher frequency data.
tailor their own analyses. Current applications include the evaluation of PV
production over several years to obtain rates of performance degradation and
soiling loss. RdTools can handle both high frequency (hourly or better) or low
frequency (daily, weekly, etc.) datasets. Best results are obtained with higher
frequency data.

RdTools can be installed automatically into Python from PyPI using the
command line:
Expand All @@ -27,7 +27,7 @@ pip install rdtools

For API documentation and full examples, please see the [documentation](https://rdtools.readthedocs.io).

RdTools currently is tested on Python 3.7+.
RdTools currently is tested on Python 3.9+.

## Citing RdTools

Expand All @@ -36,8 +36,8 @@ and the specific DOI coresponding to that version from [Zenodo](https://doi.org/

- Michael G. Deceglie, Ambarish Nag, Adam Shinn, Gregory Kimball,
Daniel Ruth, Dirk Jordan, Jiyang Yan, Kevin Anderson, Kirsten Perry,
Mark Mikofski, Matthew Muller, Will Vining, and Chris Deline
RdTools, version {insert version}, Compuer Software,
Mark Mikofski, Matthew Muller, Will Vining, and Chris Deline,
RdTools, version {insert version}, Computer Software,
https://github.com/NREL/rdtools. DOI:{insert DOI}

The underlying workflow of RdTools has been published in several places.
Expand Down
Loading