Skip to content

Commit

Permalink
Merge branch 'development' into dependabot/pip/docs/jinja2-3.1.5
Browse files Browse the repository at this point in the history
  • Loading branch information
mdeceglie authored Dec 30, 2024
2 parents b219a2b + c59708a commit 525d4a9
Show file tree
Hide file tree
Showing 67 changed files with 162,806 additions and 158,995 deletions.
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
7 changes: 7 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +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 =
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ rdtools.egg-info*
.\#*

*.pickle

# ignore vscode settings
.vscode/
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
46 changes: 46 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Deceglie"
given-names: "Michael G."
orcid: "https://orcid.org/0000-0001-7063-9676"
- family-names: "Anderson"
given-names: "Kevin"
- family-names: "Shinn"
given-names: "Adam"
- family-names: "Ambarish"
given-names: "Nag"
- family-names: "Mikofski"
given-names: "Mark"
orcid: "https://orcid.org/0000-0001-8001-8582"
- family-names: "Springer"
given-names: "Martin"
orcid: "https://orcid.org/0000-0001-6803-108X"
- family-names: "Yan"
given-names: "Jiyang"
- family-names: "Perry"
given-names: "Kirsten"
- family-names: "Villamar"
given-names: "Sandra"
- family-names: "Vining"
given-names: "Will"
- family-names: "Kimball"
given-names: "Gregory M."
orcid: "https://orcid.org/0000-0003-1075-1417"
- family-names: "Ruth"
given-names: "Daniel"
- family-names: "Moyer"
given-names: "Noah"
- family-names: "Nguyen"
given-names: "Quyen"
- family-names: "Jordan"
given-names: "Dirk"
orcid: "https://orcid.org/0000-0002-2183-7489"
- family-names: "Muller"
given-names: "Matthew"
- family-names: "Deline"
given-names: "Chris"
orcid: "https://orcid.org/0000-0002-9867-8930"
title: "RdTools"
doi: 10.5281/zenodo.1210316
url: "https://github.com/NREL/rdtools"
20 changes: 10 additions & 10 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,17 +27,17 @@ 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

To cite RdTools, please use the following along with the version number
and the specific DOI coresponding to that version from [Zenodo](https://doi.org/10.5281/zenodo.1210316):

- 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,
- Michael G. Deceglie, Kevin Anderson, Adam Shinn, Ambarish Nag, Mark Mikofski,
Martin Springer, Jiyang Yan, Kirsten Perry, Sandra Villamar, Will Vining,
Gregory Kimball, Daniel Ruth, Noah Moyer, Quyen Nguyen, Dirk Jordan,
Matthew Muller, 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

0 comments on commit 525d4a9

Please sign in to comment.