Itzï 26.6 is released

30 June 2026 • Laurent Courty

The release of Itzï 26.6 marks the tenth anniversary of Itzï’s first publication on PyPI, on 30 June 2016. This anniversary edition introduces hotstart checkpointing and resume support, and improves the robustness of mass balance and flow routing.

It also introduces a new providers API, opening the door to input and output formats beyond GRASS, starting with xarray and Icechunk, and to more cloud-native computing workflows. The promise is exciting, but the API is still unstable and not ready for prime time yet, so it remains undocumented for now.

It also strengthens validation and testing, while simplifying the internal configuration and simulation setup code.

Update now with uv (a Docker image is available too):

uv tool upgrade itzi

Save regular hotstart files by adding a section in the config file:

[hotstart]
# Wallclock duration between records.
wallclock_step = 00:10:00
save_file = my_hotstart.zip

Resume a simulation:

itzi run --resume-from my_hotstart.zip my_simulation.ini

Improvements

  • Add hotstart checkpoints and resume support, with a new --resume-from CLI option.
  • Continuity error is now checked regularly during the simulation, even when output intervals are long.
  • Flow routing is now more robust in steep-slope and shallow-flow cases.

Corrected bugs

  • Force a time-step break when an input map changes, preventing incorrect mass balance accounting.
  • Statistics output now works correctly with raster masks.
  • Prevent division by zero in the Froude computation.
  • Detect empty input rasters when loaded.
  • Check the temporal type of existing STRDS at initialization, failing early on mismatches.
  • Relative swmm_inp paths are now resolved relative to the configuration file directory, if not found in the current working directory.

Internals

  • Refactor ConfigReader to build validated configuration models.
  • Introduce SimulationBuilder and decouple SimulationRunner from configuration parsing.
  • Replace several internal dataclasses with Pydantic BaseModel and improve type hints and validation.
  • Add new input and output API, along with xarray, NumPy, Icechunk and CSV providers.
  • Move messaging to Python’s logging framework.
  • Improve GRASS session cleanup on exit.
  • Add an optional cloud dependency extra for xarray and icechunk support.
  • Update supported Python versions to 3.12 and 3.13.
  • Expand the automated test suite, especially for hotstart, timed inputs, statistics, cloud-style providers, and non-square cells.