factory module¶
A factory to instantiate a derived class of BaseGrammar
.
- class gemseo.core.grammars.factory.GrammarFactory[source]¶
Bases:
BaseFactory
[BaseGrammar
]A factory of
BaseGrammar
.- Return type:
Any
- create(class_name, name, **options)[source]¶
Create a grammar.
- Parameters:
class_name (str) – The name of a class deriving from
BaseGrammar
.name (str) – The name to be given to the grammar.
**options (Any) – The options to be passed to the initialization.
- Returns:
The instance of the class.
- Raises:
TypeError – If the class cannot be instantiated.
- Return type:
- 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[T]
- get_default_option_values(name)¶
Return the constructor kwargs default values of a class.
- get_default_sub_option_values(name, **options)¶
Return the default values of the sub options of a class.
- Parameters:
- Returns:
The JSON grammar.
- Return type:
- get_library_name(name)¶
Return the name of the library related to the name of a class.
- get_options_doc(name)¶
Return the constructor documentation of a class.
- get_options_grammar(name, write_schema=False, schema_path='')¶
Return the options JSON grammar for a class.
Attempt to generate a JSONGrammar from the arguments of the __init__ method of the class.
- Parameters:
name (str) – The name of the class.
write_schema (bool) –
If
True
, write the JSON schema to a file.By default it is set to False.
schema_path (Path | str) –
The path to the JSON schema file. If
None
, the file is saved in the current directory in a file named after the name of the class.By default it is set to “”.
- Returns:
The JSON grammar.
- Return type:
- get_sub_options_grammar(name, **options)¶
Return the JSONGrammar of the sub options of a class.
- Parameters:
- Returns:
The JSON grammar.
- Return type:
- is_available(name)¶
Return whether a class can be instantiated.
- update()¶
Search for the classes that can be instantiated.
- The search is done in the following order:
The fully qualified module names
The plugin packages
The packages from the environment variables
- Return type:
None