Replies: 2 comments 2 replies
-
I missed this RFC earlier, thanks for writing this up! I agree with most pros and cons, it would be nice to also add the pros and cons of the current setup to make a decision if and how we would like to see this changed. I've tried to add these below and also an additional hybrid option to include the predifined_catalogs, but still host the actual catalogs online. Also we can (and should) make sure that the data catalog also works if no predefined catalogs are found. Current setupPros
Cons
Package only predefined catalogsThe actual catalog files will still be hosted in git. Pros
Cons
|
Beta Was this translation helpful? Give feedback.
-
Besides the discussion on where we want to host the file, and how we want to keep compatibility working, we can also consider when the catalog must be updated. For example, by making a CLI command to |
Beta Was this translation helpful? Give feedback.
-
To determine which catalogs to read, hydromt currently accesses the
predefined_catalogs.yml
file from the main branch on GitHub. This file includes catalogs like the Deltares data catalog. This means that thepredefined_catalogs.yml
is a single point failure for the entire system. We have already experienced an outage because of this recently which concerns me. Not to mention that if we ever need to update the schema ofpredefined_catalogs.yml
for any reason this will mean a breaking change for literally all active users. Given that we are making breaking changes in v1, let us consider this an opportunity to adjust this as necessary as well to allow ourselves more flexibility in the future. Below, I will list possibilities with some pros and cons:Packaging the data catalogs with releases
This basically just involves including the predefined catalog.yml and any relevant catalogs as artifacts in the python package.
Pros:
Cons:
Packaging the data catalogs as their own python packages and specifying them as dependencies
Pros:
Cons:
Adding release branches to the HydroMT git repo.
This is similar to the current approach except that we would have dedicated release branches that the catalogs would be pulled from. think
hydromt/data-version-x.y
this could be done in conjunction for having release branches for the code as well so we could still release patches for previous versions, but they do not necessarily have to go together.Pros
Cons
Building a service exposed through a REST api that resolves these issues for the user
Pros
Cons
@deltamarnix did I miss anything from our discussion earlier?
Beta Was this translation helpful? Give feedback.
All reactions