GEOLib is a Python package that wraps four D-Serie models; D-Stability, D-Settlement, D-SheetPiling and D-Foundations. It does this on a file based level, by producing the required input files and reading the output files, calling the numerical model as a subprocess in between.

It is therefore mainly a data transformation package, parsing files such as *.sli (in the case of D-Settlement) to a dict-like format in Python, and serialize from this internal format back to *.sli again. Other formats such as json [1] are easily derived and are used in the webservices.

All other functionality, such as conversion from common formats, any calculations such as interpolation or interpretations will not be part of this package and instead be implemented in the GEOLib+ package.


All exposed models are subclassed from a BaseModel that defines the generic functions, such as parsing, metadata, executing etc. The individual subclasses then define model specific functions, such as add_head_line().

Each model has a datastructure attribute that is a close representation of the input (or output) structure. This structure is automatically type validated and can easily be serialized by using .dict() or .json(). While it is possible to edit this datastructure directly, is only meant to be manipulated using the interface on the model level, integrity can’t otherwise be guaranteed.


For translating the requirements on the publicwiki from blocks like [SOIL] to this package we advise to read the tutorials and make use of the search function. The tutorials cover all that’s needed to create a valid, calculatable model for each supported D-Serie product. The search function combined with the API Reference documentation covers the remaining parts.