Skip to content

Commit

Permalink
Remove plugins (#385)
Browse files Browse the repository at this point in the history
* Remove plugin files and entrypoints

* Revert "Remove plugin files and entrypoints"

This reverts commit 4bc29ce.

* Remove plugin files and entrypoints (take 2)

* Fix tests

* add rtd deps

See https://blog.readthedocs.com/drop-support-system-packages/

* Remove entry points again

* No longer need subversion, now use urlopen+zipfile

* bump version to 2.0.0

* Add https://github.com/eWaterCycle/ewatercycle-hype to list of plugins

* Prepare 2.0.0b1 release

* Dedup heading

* Use micromamba in ci workflows

* Bump to 2.0.0b2

* Update CHANGELOG

* Set links to plugin repos

* Add plugins to installation instructions

* Fix README

* Prep for 2.0.0 release
  • Loading branch information
sverhoeven committed Oct 10, 2023
1 parent a68f012 commit e287ad5
Show file tree
Hide file tree
Showing 105 changed files with 50 additions and 14,188 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.4.1
current_version = 2.0.0

[bumpversion:file:src/ewatercycle/version.py]
search = __version__ = "{current_version}"
Expand Down
9 changes: 3 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,11 @@ jobs:
name: Run tests in conda environment ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
- uses: mamba-org/setup-micromamba@v1
with:
activate-environment: ewatercycle
environment-file: environment.yml
mamba-version: "*"
python-version: ${{ matrix.python-version }}
miniconda-version: "latest"
channels: conda-forge
cache-environment: true
init-shell: bash
- name: Install dependencies
shell: bash -l {0}
run: |
Expand Down
9 changes: 3 additions & 6 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,11 @@ jobs:
with:
fetch-depth: 0
- name: Set up Python
uses: conda-incubator/setup-miniconda@v2
uses: mamba-org/setup-micromamba@v1
with:
activate-environment: ewatercycle
environment-file: environment.yml
mamba-version: "*"
python-version: "3.10"
miniconda-version: "latest"
channels: conda-forge
cache-environment: true
init-shell: bash
- name: Install dependencies
shell: bash -l {0}
run: |
Expand Down
19 changes: 17 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ Formatted as described on [https://keepachangelog.com](https://keepachangelog.co

## [Unreleased]

## [2.0.0] (2023-10-10)

### Breaking changes

The eWatercycle package no longer contains models and their forcing and/or example parameter sets. Instead, models are now plugins that can be installed separately. See https://ewatercycle.readthedocs.io/en/latest/plugins.html for a list of endorsed plugins.

### Added

- Apptainer support ([#290](https://github.com/eWaterCycle/ewatercycle/issues/290))
Expand All @@ -27,14 +33,21 @@ Formatted as described on [https://keepachangelog.com](https://keepachangelog.co
- Instead of modifying an existing recipe now builds a ESMValTool recipe from scratch using a fluent interface
- DefaultForcing has overridable class methods for each step of the forcing generation process (build_recipe, run_recipe, recipe_output_to_forcing_arguments).
- eWaterCycleModel.parameters property type is ItemsView instead of dict.
- Rewrote adding models documentation to use the new plugin system ([#383](https://github.com/eWaterCycle/ewatercycle/pull/383)

### Deprecated

- Singularity support ([#290](https://github.com/eWaterCycle/ewatercycle/issues/290))

## Removed
### Removed

- Models live in their own repository as a eWatercycle plugin. ([#371](https://github.com/eWaterCycle/ewatercycle/issues/371))
- Removed parametersetdb module. XmlConfig moved to lisflood plugin. YamlConfig & IniConfig have been removed.

## [2.0.0] (2023-10-06)

Everthing listed at [2.0.0](2.0.0), but without the adding models part.

## [1.4.1] (2022-12-20)

### Fixed
Expand Down Expand Up @@ -192,7 +205,9 @@ Formatted as described on [https://keepachangelog.com](https://keepachangelog.co
- Empty Python project directory structure
- Added symlink based data files copier

[Unreleased]: https://github.com/eWaterCycle/ewatercycle/compare/1.4.1...HEAD
[Unreleased]: https://github.com/eWaterCycle/ewatercycle/compare/2.0.0...HEAD
[2.0.0]: https://github.com/eWaterCycle/ewatercycle/compare/2.0.0b2...2.0.0
[2.0.0b2]: https://github.com/eWaterCycle/ewatercycle/compare/1.4.1...2.0.0b2
[1.4.1]: https://github.com/eWaterCycle/ewatercycle/compare/1.4.0...1.4.1
[1.4.0]: https://github.com/eWaterCycle/ewatercycle/compare/1.3.0...1.4.0
[1.3.0]: https://github.com/eWaterCycle/ewatercycle/compare/1.2.0...1.3.0
Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ models.
- Supports observation data from [GRDC or
USGS](https://ewatercycle.readthedocs.io/en/latest/observations.html)
- Exposes [simple
interface](https://ewatercycle.readthedocs.io/en/latest/examples/ewatercycle_api_notebook.html)
interface](https://ewatercycle.readthedocs.io/en/latest/user_guide.html)
to quickly get up and running

## Install
Expand All @@ -47,6 +47,12 @@ The ewatercycle package is installed with
pip install ewatercycle
```

The ewatercycle package ships without any models. Models are packaged in [plugins](https://ewatercycle.readthedocs.io/en/latest/plugins.html). To install all endorsed plugins use

```shell
pip install ewatercycle-hype ewatercycle-lisflood ewatercycle-marrmot ewatercycle-pcrglobwb ewatercycle-wflow ewatercycle-leakybucket
```

Besides installing software you will need to create a configuration
file, download several data sets and get container images. See the
[system setup
Expand Down Expand Up @@ -111,8 +117,8 @@ ewatercycle.analysis.hydrograph(simulated_discharge_df.join(observations_df), re
model.finalize()
```

More examples can be found in the
[documentation](https://ewatercycle.readthedocs.io).
More examples can be found in the plugins listed in the
[documentation](https://ewatercycle.readthedocs.io/en/latest/plugins.html).

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
#
# The short X.Y version.
# The full version, including alpha/beta/rc tags.
version = "1.4.1"
version = "2.0.0"
release = version

# The language for content autogenerated by Sphinx. Refer to documentation
Expand Down
10 changes: 5 additions & 5 deletions docs/plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ how to add a new model as a plugin.

Each plugin has its own documentation. Below is a list of all known plugins:

* :doc:`Hype <plugins/hype/index>`
* :doc:`LISFLOOD <plugins/lisflood/index>`
* :doc:`MARRMoT <plugins/marrmot/index>`
* :doc:`PCRGlobWB <plugins/pcrglobwb/index>`
* :doc:`Wflow <plugins/wflow/index>`
* `Hype <https://github.com/eWaterCycle/ewatercycle-hype>`_
* `LISFLOOD <https://github.com/eWaterCycle/ewatercycle-lisflood>`_
* `MARRMoT <https://github.com/eWaterCycle/ewatercycle-marrmot>`_
* `PCRGlobWB <https://github.com/eWaterCycle/ewatercycle-pcrglobwb>`_
* `Wflow <https://github.com/eWaterCycle/ewatercycle-wflow>`_
* `LeakyBucket <https://github.com/eWaterCycle/ewatercycle-leakybucket>`_

.. note::
Expand Down
3 changes: 0 additions & 3 deletions docs/plugins/hype/data/README.md

This file was deleted.

Binary file removed docs/plugins/hype/data/Rhine_HYPE/Rhine_HYPE.dbf
Binary file not shown.
1 change: 0 additions & 1 deletion docs/plugins/hype/data/Rhine_HYPE/Rhine_HYPE.prj

This file was deleted.

Binary file removed docs/plugins/hype/data/Rhine_HYPE/Rhine_HYPE.shp
Binary file not shown.
Binary file removed docs/plugins/hype/data/Rhine_HYPE/Rhine_HYPE.shx
Binary file not shown.

0 comments on commit e287ad5

Please sign in to comment.