Skip to content

Extending GEMSEO

Create new features

All kind of GEMSEO features can be extended by deriving base classes, e.g. disciplines, algorithms, formulations, post-processors, surrogate models, etc. Through this simple derivation action, GEMSEO is able to detect the new class automatically and use it. The only condition is that the base class has a factory, i.e. a creator of objects from a base class or any of its subclasses. There are three sources of modules that can be searched by a factory:

  • the fully qualified module names associated with the factory,
  • the environment variable "GEMSEO_PATH" containing the directories including the Python modules,
  • GEMSEO plugins, i.e. packages which have declared a setuptools entry point.

Read more

Please read this page of the gemseo documentation for more information about factories.

Package new features

You may want to create a plugin from your Python modules, either public or private. For this purpose, we recommend that you use copier-gemseo, a Copier template for creating a Python package that uses GEMSEO. This way, you will benefit from development environment and documentation facilities common to gemseo and its plugins, and your users will benefit from a familiar package structure and documentation.

Read more

Please read this page for more information about copier-gemseo.