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.