Replace timml and ttim with timflow#187
Conversation
There was a problem hiding this comment.
Pull request overview
This PR replaces direct TimML/TTim backend references with the new timflow package, while updating user-facing documentation and plugin UI text to reflect the new backend name.
Changes:
- Replaces
timml/ttimdependencies and imports withtimflowsteady/transient imports. - Updates backend version reporting and install dialog/version display for
timflow. - Refreshes README/docs/plugin text and lockfile entries for the backend rename.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/write_backend_versions.py |
Writes timflow and gistim versions. |
README.md |
Updates backend description and install instructions. |
pyproject.toml |
Replaces TimML/TTim dependencies with timflow. |
plugin/qgistim/widgets/tim_widget.py |
Renames install button text. |
plugin/qgistim/widgets/install_dialog.py |
Updates install dialog labels and version rows. |
plugin/qgistim/README.txt |
Updates plugin readme backend description. |
plugin/qgistim/core/server_handler.py |
Updates backend module docstring. |
plugin/qgistim/core/formatting.py |
Generates scripts using timflow steady/transient imports. |
plugin/qgistim/core/elements/aquifer.py |
Replaces no-op return with pass. |
pixi.toml |
Replaces TimML/TTim pixi dependencies with timflow. |
pixi.lock |
Updates resolved dependencies for timflow. |
gistim/compute.py |
Uses timflow steady/transient modules for computation. |
gistim/__main__.py |
Removes old TimML PyInstaller import workaround. |
docs/tutorial_Rijsenhout.qmd |
Updates tutorial wording for timflow. |
docs/install.qmd |
Updates install instructions for timflow server. |
docs/index.qmd |
Updates documentation landing page backend description. |
docs/developer.qmd |
Updates developer PyInstaller/backend install notes. |
.vscode/launch.json |
Adds a VS Code debug launch configuration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Path in %APPDATA% was spelled wrongly Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| maintainers = [{ name = "Huite Bootsma", email = "huite.bootsma@deltares.nl" }] | ||
| requires-python = ">=3.11" | ||
| dependencies = ['pandas', 'timml>=6.3.0', 'ttim>=0.8.0', 'xarray', 'numpy'] | ||
| dependencies = ['pandas', 'timflow>=0.2.0', 'xarray', 'numpy'] |
There was a problem hiding this comment.
This is not entirely right: timflow only import and uses lmfit for curve fitting. We don't do any curve fitting in the qgis plugin, so we can ignore lmfit. We might want to consider including the timflow[parallel] dependencies (currenlty only tqdm), to allow multi-threaded computation of the output grid, for quicker plotting of results.
| pandas = "*" | ||
| timml = ">=6.3.0" | ||
| ttim = ">=0.8.0" | ||
| timflow = ">=0.2.0" |
There was a problem hiding this comment.
Same here, this is not entirely right: timflow only import and uses lmfit for curve fitting. We don't do any curve fitting in the qgis plugin, so we can ignore lmfit. We might want to consider including the timflow[parallel] dependencies (currenlty only tqdm), to allow multi-threaded computation of the output grid, for quicker plotting of results.
| for package in ["timflow", "gistim"]: | ||
| self.version_widgets[package][1].setText(versions.get(package)) |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
I adapted this into a state where I think we are completely migrated now. Changes from my side:
- merge master into branch
- Do not call deprecated timflow elements anymore, but use the new ones with clearer names
- Rename objects in the plugin to these names as well
- Renamed buttons in the widget to the new names as well.
- Update metadata (incl version number)
- Rename every mention of
timmlandttimin the code base tosteadyandtransient - Rename every mention of
"timml"and"ttim"in strings in the code base to"steady-state"and"transient". These strings will also show in the geopackage names created by the plugin. - Update documentation
Because I've updated the names of elements and temporal regimes (timml -> steady), this means geopackages created by the previous version of QGIS-Tim do not work anymore. I don't think that is a major issue, as models are quite quick to set up. However, we could consider creating an update script or something.
Update: I see I can't ask you for a review. I'll close this PR and open a separate one then.
timflow works with
from timflow import steady as timml