gemseo.disciplines.factory module#

A factory of disciplines.

class DisciplineFactory[source]#

Bases: BaseFactory

A factory of disciplines.

Return type:

Any

create(discipline_name, **options)[source]#

Create an Discipline from its name.

Parameters:
  • discipline_name (str) -- The name of the discipline

  • **options -- The options of the discipline, both the options to be passed to the constructor and the options that are generic to all the disciplines.

Returns:

The discipline.

Raises:

TypeError -- If the class cannot be instantiated.

get_options_grammar(name, write_schema=False, schema_path=None)[source]#

Get the options default values for the given class name.

Parameters:
  • name (str) -- The name of the class.

  • write_schema (bool) --

    Whether to write the schema files

    By default it is set to False.

  • schema_path (str | None) -- the output json file path. If None: input.json or output.json depending on grammar type.

Returns:

The JSON grammar of the options.

Return type:

JSONGrammar

failed_imports: dict[str, str]#

The class names bound to the import errors.