eWaterCycle/ewatercycle

Make V2 Release

Closed this issue · 7 comments

  • Remove plugins from main repo
  • Drop dependency on ESMValTool (keep ESMValCore only, #337)
  • Make v2-beta release of ewatercycle

Move plugins to their own repo

  • hype
  • lisflood
  • marrmot
  • pcrglobwb
  • wflow

For each model:

  • Copy to own repo
  • Diagnostics script from ESMValTool to plugin repo
  • Documentation --> example notebooks
  • CI --> run tests with v2-beta (later v2)
  • Publish on PyPI
  • Zenodo
  • RSD entries (list on project output page and/or related to ewatercycle software page, no separate software page for each plugin)
  • Link to plugin from ewatercycle main docs ("Endorsed plugins")

Finally:

  • Update documentation user-guide to use plugins (and document their installation at the top of the notebook)
  • Make V2 release of ewatercycle
  • Publish plugins on PyPI with correct ewatercycle version
  1. Make repo

At https://github.com/new?template_name=ewatercycle-leakybucket&template_owner=eWaterCycle

* set owner to eWaterCycle
* set name to ewatercycle-hype
  1. Remove plugin guide + demo notebook
git rm plugin_guide.md
git rm demo_containerized_model.ipynb 
  1. Search & replace (case sensitive)

    1. Hype -> Hype
    2. leakybucket -> hype
  2. Rename dir

git mv src/ewatercycle_leakybucket/ src/ewatercycle_hype
  1. Update description in pyproject.toml

  2. Copy files from core to plugin

cp ../ewatercycle/src/ewatercycle/plugins/hype/*py src/ewatercycle_hype/
cp -r ../ewatercycle/docs/plugins/hype docs
rm docs/index.rst
cp -r ../ewatercycle/tests/plugins/hype tests/

Commit with link to commit of version

https://github.com/eWaterCycle/ewatercycle/commit/ad99ebfbe9b83917ad079e7ee9e28bd761c79576
  1. Update readme

  2. Add forcing entry point to pyproject.toml

[project.entry-points."ewatercycle.forcings"]
HypeForcing = "ewatercycle_hype.forcing:HypeForcing"
  1. Put back version

In "src/ewatercycle_leakybucket/__init__.py"

__version__ = "0.1.0"

And remove version field from pyproject.toml

  1. Depend on ewatercycle>=2.0.0

Edit pyproject.toml

  1. Enable Zenodo integration

On https://zenodo.org/account/settings/github/
flip the switch for ewatercycle-hype

  1. Update imports in python files

Rename ewatercycle.plugins.hype to ewatercycle_hype

  1. Run tests locally
# mamba install
pip install ../ewatercycle
pip install -e .
pip install pytest
pytest
  1. Add CI

  2. RSD

Create entry

Invite maintainers Stefan,Bart,Peter

https://github.com/eWaterCycle/ewatercycle-hype

  • Copy to own repo
  • [x] Diagnostics script from ESMValTool to plugin repo
  • Documentation --> example notebooks
  • CI --> run tests with v2-beta (later v2)
  • Publish on PyPI
  • Zenodo
  • RSD entries (list on project output page and/or related to ewatercycle software page, no separate software page for each plugin)
  • Link to plugin from ewatercycle main docs ("Endorsed plugins")

https://github.com/eWaterCycle/ewatercycle-lisflood

  • Copy to own repo
  • [ ] Diagnostics script from ESMValTool to plugin repo
  • Documentation --> example notebooks
  • CI --> run tests with v2-beta (later v2)
  • Publish on PyPI
  • Zenodo
  • RSD entries (list on project output page and/or related to ewatercycle software page, no separate software page for each plugin)
  • Link to plugin from ewatercycle main docs ("Endorsed plugins")

https://github.com/eWaterCycle/ewatercycle-marrmot

  • Copy to own repo
  • [ ] Diagnostics script from ESMValTool to plugin repo
  • Documentation --> example notebooks
  • CI --> run tests with v2-beta (later v2)
  • Publish on PyPI
  • Zenodo
  • RSD entries (list on project output page and/or related to ewatercycle software page, no separate software page for each plugin)
  • Link to plugin from ewatercycle main docs ("Endorsed plugins")

https://github.com/eWaterCycle/ewatercycle-pcrglobwb

  • Copy to own repo
  • [ ] Diagnostics script from ESMValTool to plugin repo
  • Documentation --> example notebooks
  • CI --> run tests with v2-beta (later v2)
  • Publish on PyPI
  • Zenodo
  • RSD entries (list on project output page and/or related to ewatercycle software page, no separate software page for each plugin)
  • Link to plugin from ewatercycle main docs ("Endorsed plugins")

Had to rename existing private repo

https://github.com/eWaterCycle/ewatercycle-wflow

  • Copy to own repo
  • [ ] Diagnostics script from ESMValTool to plugin repo
  • Documentation --> example notebooks
  • CI --> run tests with v2-beta (later v2)
  • Publish on PyPI
  • Zenodo
  • RSD entries (list on project output page and/or related to ewatercycle software page, no separate software page for each plugin)
  • Link to plugin from ewatercycle main docs ("Endorsed plugins")

V2 was released successfully, including all model plugins.