Open SnippenE opened 2 months ago
Add Ribasim to Julia Package Manager
Since the Julia General registry requires semver, we'll need to split out the version number of Ribasim.jl from the other 2024.x.y version numbers. And then bump the major version each time we make a breaking release. Also we should document and annotate with public
what is part of our API, and what is internal.
Add Ribasim Core to Conda Forge
Right now we have Ribasim Python registered in conda-forge under the name ribasim
. To add the core executables to conda-forge, the build should be faster and smaller. Work to make this possible is in progress in Julia, with juliac
. So it is best to wait with this until we can use this, probably 2025.
I will discuss this with Marnix, but I think this is already the case
- [ ] Add Link to Github on download portal
I added another bullet, publish Ribasim QGIS plugin. If our QGIS plugin stays more or less as is, it meets all requirements to publish it. If we want to use Ribasim Python in our plugin or bundle the executable, users need to probably use QGIS from conda-forge, e.g. pixi add qgis ribasim
. In that case we wouldn't meet requirements to publish our QGIS plugin.
@Huite what's your call on this? Should we go ahead and publish?
Since the version numbers are linked, we might need to release QGIS plugins under new version numbers with no code changes. Considering the plugin registration is a manually curated process this is not ideal. But perhaps once we slow down / stabilize development that is not a big issue?
@Jingru923 the download portal is https://download.deltares.nl/en/ribasim. That currently doesn't contain any information about this project, only Ribasim 7.
@Jingru923 the download portal is https://download.deltares.nl/en/ribasim. That currently doesn't contain any information about this project, only Ribasim 7.
I thought he meant the log that comes from our release pipeline.
in our automatic release pipeline:
I agree that Ribasim 9 should be on the page but I am doubting that if it is part of pipeline's outcome
I agree that Ribasim 9 should be on the page but I am doubting that if it is part of pipeline's outcome
Yeah it wouldn't be part of the pipeline but a one time action to link to the latest release just like we do in https://deltares.github.io/Ribasim/install.html
Regarding the QGIS plugin: there's no specific need to publish it right now. The main thing about the QGIS plugin repo is discoverability and ease of installation. I think those benefits are currently offset by the downsides of either having to re-upload the same plugin with a new version or having outdated (with regards to version) but identical plugin (with regards to code) online -- at some point the code is going to change, and then it won't be clear whether it needs a reupload and things get muddled.
Regarding discoverability: people need to download the whole shebang from the Github pages anyway. Regarding ease of installation: still good, just click the zip.
I'd say it's better to publish it on the long term. E.g. when you can move to some semblance of stability with e.g. two releases per year?
Also worth noting: for stuff like imod-python, the primary way of getting it is through conda-forge. So there's a de facto less centralized way of downloading "all the stuff" which makes it more urgent (to me at least) to have the QGIS plugin published. For Ribasim, you would click the download links on the Github / Deltares page.
I have written a document for the Software Distribution Plan, I want our products to be in line with each other and not have all kinds of exceptions to the rule. I'm alright with postponing the QGIS plugin to a later date if that is more fitting, but I would like to have it there for sure. I will send @Huite the document.
I fully concur! I should've been more specific: I reckon a better time to publish it would be in half a year or so -- so still within the year goals.
I made a PR on deltaforge's repo https://github.com/Deltares/deltaforge/pull/18 When it's reviewed and merged by @JoerivanEngelen , Ribasim Python will be on Deltaforge
I removed the label v1.0 as the remaining todos are planned for later/next year.
I played around a bit with juliac
as mentioned in https://github.com/Deltares/Ribasim/issues/1632#issuecomment-2238517053. Type unstable code is not supported. We have some of that ourselves, like get_value_ptr
, that can probably be fixed. But for instance JuMP is not type stable. I don't know if it is feasible to use a lower level interface that is type stable, but this may be quite some work. I parked the effort over at https://github.com/Deltares/Ribasim/tree/trimming.
To align with the other Hydrology suite products additions are needed in our automatic release pipeline:
Requested by @deltamarnix / PMT Hydrology (see Software Distribution Plan )
Related issue: #1583