Extend GEMSEO features

The simplest way is to create a subclass associated to the feature you want to extend, respectively:

  • for optimizers, inherit from OptimizationLibrary, and put the Python file in the src/gemseo/algos/opt package,

  • for DOEs, inherit from DOELibrary, and put the Python file in the src/gemseo/algos/doe package,

  • for surrogate models, inherit from MLRegressionAlgo, and put the Python file in the src/gemseo/mlearning/regression package,

  • for MDAs, inherit from MDA, and put the Python file in the src/gemseo/mda package,

  • for MDO formulations, inherit from MDOFormulation, and put the Python file in the src/gemseo/formulations package,

  • for disciplines, inherit from MDODiscipline, and put the Python file in the src/gemseo/problems/my_problem package, which you created.

GEMSEO features can be extended with external Python modules. All kinds of additional features can be implemented: disciplines, algorithms, formulations, post-processings, surrogate models, … There are 2 ways to extend GEMSEO with Python modules:

  • by creating a pip installable package with a setuptools entry point, see Factory for more details,

  • by setting the environment variable GEMSEO_PATH with the path to the directory that contains the Python modules, multiple directories can be separated by :.