From 10b94083669f1f9f833b446faf535bec049cd1ed Mon Sep 17 00:00:00 2001 From: Rob Hammond <13874373+RHammond2@users.noreply.github.com> Date: Tue, 18 Jan 2022 16:38:14 -0700 Subject: [PATCH] V2.3 (#182) * bump the version * update the copyright year * update the readme and contributing guidelines * update credits --- CHANGELOG.md | 2 +- LICENSE.txt | 2 +- contributing.md | 37 +++++++++++++++++++++++--------- operational_analysis/__init__.py | 4 ++-- readme.md | 10 ++++++--- sphinx/conf.py | 2 +- sphinx/credit.rst | 5 +++++ 7 files changed, 44 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0e47f4e..5b8233b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog All notable changes to this project will be documented in this file. If you make a notable change to the project, please add a line describing the change to the "unreleased" section. The maintainers will make an effort to keep the [Github Releases](https://github.com/NREL/OpenOA/releases) page up to date with this changelog. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [UNRELEASED] +## [2.3 - 2022-01-18] - Replaced hard-coded reanalysis dates in plant analysis with automatic valid date selection and added optional user-defined end date argument. Fixed bug in normalization to 30-day months. - Toolkit added for downloading reanalysis data using the PlanetOS API - Added hourly resolution to AEP calculation diff --git a/LICENSE.txt b/LICENSE.txt index 754f8971..75a9a8d4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020, Alliance for Sustainable Energy LLC, All rights reserved. +Copyright (c) 2022, Alliance for Sustainable Energy LLC, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/contributing.md b/contributing.md index 80b672f0..5fbda2ea 100644 --- a/contributing.md +++ b/contributing.md @@ -77,13 +77,30 @@ All code should be paired with a corresponding unit or integration test. OpenOA uses pytest and the built in unittest framework. For instructions on running tests, please see the [Readme](https://github.com/NREL/OpenOA/tree/develop#Testing). -## Deploying a Package to PyPi - -The repository is equipped with a github action to build and publish new versions to PyPi. -A maintainer can invoke this workflow by pushing a tag to the NREL/OpenOA reposiory with prefix "v", such as "v1.1.0". -The action is defined in `.github/workflows/tags-to-pypi.yml`. - -``` -git tag -a v1.2.3 -m "Tag messgae for v1.2.3" -git push origin v1.2.3 -``` +## Release Process + + - Bump version number and metadata in + - operational_analysis/__init__.py + - operational_analysis/setup.py + - sphinx/config.py + - Bump version numbers of any dependencies in + - setup.py + - requirements.txt + - sphinx/requirements.txt + - Update the changelog, removing the UNRELEASED section and converting it into a release heading. + - Make a pull request into develop with these updates + - Note: Ensure all tests pass and the documentation is building correctly prior to merging + - Merge develop into main through the git command line + ``` + git checkout main + git merge develop + git push + ``` + - Tag the new release version: + ``` + git tag -a v1.2.3 -m "Tag messgae for v1.2.3" + git push origin v1.2.3 + ``` + - Deploying a Package to PyPi + - The repository is equipped with a github action to build and publish new versions to PyPi. A maintainer can invoke this workflow by pushing a tag to the NREL/OpenOA reposiory with prefix "v", such as "v1.1.0". + - The action is defined in `.github/workflows/tags-to-pypi.yml`. diff --git a/operational_analysis/__init__.py b/operational_analysis/__init__.py index ee43e85b..132d1a9d 100644 --- a/operational_analysis/__init__.py +++ b/operational_analysis/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.2" +__version__ = "2.3" """ When bumping version, please be sure to also update parameters in sphinx/conf.py """ @@ -10,7 +10,7 @@ def setup_logging(default_path="logging.json", default_level=logging.INFO, env_key="LOG_CFG"): - """Setup logging configuration """ + """Setup logging configuration""" path = default_path value = os.getenv(env_key, None) if value: diff --git a/readme.md b/readme.md index ca8b05b3..3a72c7f2 100644 --- a/readme.md +++ b/readme.md @@ -43,9 +43,7 @@ If you use this software in your work, please cite our JOSS article with the fol ### Requirements - * Python 3.6-3.8 with pip. - -OpenOA should be compatible with newer versions of Python, but one of its dependencies, Shapely, does not yet have binary wheels in pip for Python 3.9 on Mac. + * Python 3.6+ with pip. We strongly recommend using the Anaconda Python distribution and creating a new conda environment for OpenOA. You can download Anaconda through [their website.](https://www.anaconda.com/products/individual) @@ -96,6 +94,12 @@ pip install -e "./OpenOA[develop]" pre-commit install ``` +Occasionally, you will need to update the dependencies in the pre-commit workflow, which will provide an error when this needs to happen. When it does, this can normally be resolved with the below code, after which you can continue with your normal git workflow: +``` +pre-commit autoupdate +git add .pre-commit-config.yaml +``` + #### Example Notebooks and Data The example data will be automaticaly extracted as needed by the tests. To manually extract the example data for use with the example notebooks, use the following command: diff --git a/sphinx/conf.py b/sphinx/conf.py index 96d65168..8c54fcd1 100644 --- a/sphinx/conf.py +++ b/sphinx/conf.py @@ -79,7 +79,7 @@ # General information about the project. project = "OpenOA" -copyright = "2021, NREL" +copyright = "2022, NREL" author = "NREL PRUF OA Team" diff --git a/sphinx/credit.rst b/sphinx/credit.rst index 80f95d98..1a14d41a 100644 --- a/sphinx/credit.rst +++ b/sphinx/credit.rst @@ -5,15 +5,20 @@ Credit ****** Alphabetically: +Nathan Agarwal, +Nicola Bodini, Anna Craig, Jason Fields, +Rob Hammond, Travis Kemper, Joseph Lee, Monte Lunacek, John Meissner, Mike Optis, Jordan Perr-Sauer, +Sebastian Pfaffel, Caleb Phillips, +Charlie Plumley, Eliot Quon, Sheungwen Sheng, Eric Simley, and