Skip to content

Dependencies

ABSESpy framework is based on many excellent open-source projects:

Package Version Purpose
python ">=3.11,<3.14" Core programming language used for development
netcdf4 ">=1.6" To read and write NetCDF and HDF5 files
hydra-core ">=1.3,<1.4" For managing application configurations
mesa ">=3.1.0" Agent-based scheduling and core utilities
mesa-geo ">=0.9.1" Spatially explicit layers and raster support
xarray ">=2023" To work with labelled multi-dimensional arrays
fiona ">1.8" For reading and writing vector data (shapefiles, etc)
rioxarray ">=0.13" Operating raster data and xarray
pendulum ">=3.0.0" For time control
geopandas ">=0,<1" For shapefile geo-data operating

Mesa / mesa-geo compatibilityΒΆ

ABSESpy declares lower bounds only for mesa and mesa-geo in pyproject.toml so downstream projects can upgrade within their own constraints. Raster initialization differences across mesa-geo releases are handled in code (e.g. abses/space/mesa_raster_compat.py with PatchModule).

CI runs a dependency compatibility job on Ubuntu that reinstalls the minimum supported mesa / mesa-geo pair and the latest published releases, then runs spatial regression tests. This does not guarantee every future mesa-geo major release will work without changes, but it catches regressions early.

If you upgrade mesa / mesa-geo and see errors during PatchModule / raster setup, check the installed versions (pip show mesa mesa-geo or uv pip list) and open an issue with the traceback.

Warning

The above table may not be up-in-date, please refer full dependencies and their versions in the pyproject.toml file.