/yggdrasil

A framework for connecting scientific models across languages and scales.

Primary LanguagePythonOtherNOASSERTION

tag version PyPI version GHA Build Status codecov PEP8 license platform

yggdrasil, originally created as a framework for the Crops in Silico (CiS) project, provides support for combining scientific models written in different programming languages. To combine two models, modelers add simple communications interfaces to the model code and provide simple declarative specification files that identify the models that should be run and the inputs and outputs those models expect.

The system uses the specification files to configure the communications channels and expose them to the models. The complexity of the particular communications system is managed by the framework, which performs communication setup, binds the communications to simple interfaces within the models, and manages execution of the models. The complexities of model registration and discovery, as well as the complexities of setup and management of the communications system are handled under-the-hood by the framework under direction of the model specification, freeing the domain scientist from implementing communications protocols or translating models to the same programming language.

Please refer to the package documentation for additional information about the package and directions for installing it.

Note

yggdrasil was previously known as cis_interface. While cis_interface can be installed from PyPI here, cis_interface will no longer be updated.

If you use yggdrasil in your research, please cite the accompanying paper:

Meagan Lang, yggdrasil: a Python package for integrating computational models across languages and scales, in silico Plants, Volume 1, Issue 1, 2019, diz001, https://doi.org/10.1093/insilicoplants/diz001