gemseo / problems

Hide inherited members

disciplines_factory module

Factory to create disciplines.

class gemseo.problems.disciplines_factory.DisciplinesFactory[source]

Bases: BaseFactory

The DisciplinesFactory is used to create MDODiscipline objects.

Three types of directories are scanned to import the MDODiscipline classes:

  • the environment variable “GEMSEO_PATH” may contain the list of directories to scan,

  • the present directory (gemseo.problems) contains some benchmark test cases,

Return type:

Any

create(discipline_name, **options)[source]

Create an MDODiscipline 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_class(name)

Return a class from its name.

Parameters:

name (str) – The name of the class.

Returns:

The class.

Raises:

ImportError – If the class is not available.

Return type:

type

get_default_option_values(name)

Return the constructor kwargs default values of a class.

Parameters:

name (str) – The name of the class.

Returns:

The mapping from the argument names to their default values.

Return type:

dict[str, str | int | float | bool]

get_default_sub_option_values(name, **options)

Return the default values of the sub options of a class.

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

  • **options (str) – The options to be passed to the class required to deduce the sub options.

Returns:

The JSON grammar.

Return type:

JSONGrammar

get_library_name(name)

Return the name of the library related to the name of a class.

Parameters:

name (str) – The name of the class.

Returns:

The name of the library.

Return type:

str

get_options_doc(name)

Return the constructor documentation of a class.

Parameters:

name (str) – The name of the class.

Returns:

The mapping from the argument names to their documentation.

Return type:

dict[str, str]

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

get_sub_options_grammar(name, **options)

Return the JSONGrammar of the sub options of a class.

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

  • **options (str) – The options to be passed to the class required to deduce the sub options.

Returns:

The JSON grammar.

Return type:

JSONGrammar

is_available(name)

Return whether a class can be instantiated.

Parameters:

name (str) – The name of the class.

Returns:

Whether the class can be instantiated.

Return type:

bool

update()

Search for the classes that can be instantiated.

The search is done in the following order:
  1. The fully qualified module names

  2. The plugin packages

  3. The packages from the environment variables

Return type:

None

PLUGIN_ENTRY_POINT: ClassVar[str] = 'gemseo_plugins'

The name of the setuptools entry point for declaring plugins.

property class_names: list[str]

The sorted names of the available classes.

property disciplines: list[str]

The names of the available disciplines.

failed_imports: dict[str, str]

The class names bound to the import errors.