gemseo / core

namespaces module

Utility functions and classes to handle namespaces.

The namespaces implementation itself is mainly in grammars and discipline

gemseo.core.namespaces.remove_prefix_from_dict(data)[source]

Remove namespaces prefixes from mapping keys if any.

Parameters

data (Mapping[str, Any]) – The mapping which names may contain namespaces.

Returns

The mapping without prefixes in its keys.

Return type

dict[str, Any]

gemseo.core.namespaces.remove_prefix_from_list(names)[source]

Remove namespaces prefixes from names, if any.

Parameters
  • data – The names that may contain namespaces.

  • names (Iterable[str]) –

Returns

The names without prefixes in its keys.

Return type

list[str]

gemseo.core.namespaces.remove_prefix_from_name(name)[source]

Remove namespace prefix from the name.

Parameters
  • data – The container of data names, or a single data name.

  • name (str) –

Returns

The data names without prefixes.

Return type

str

gemseo.core.namespaces.split_namespace(data_name)[source]

Return the (namespace, name) pair from a data name.

For instance if data_name = my:namesp:ace:a and the separator is :, returns (my:namesp:ace,``a``).

If there is no namespace prefix in data_name, returns data_name.

In case data_name contains the namespace separator but empty name, or empty namespace, returns the (namespace, name) pair, containing eventually empty strings.

Parameters

data_name (str) – The data name containing the namespace name.

Returns

The namespace name and the data name.

Return type

list[str, str]

gemseo.core.namespaces.update_namespaces(namespaces, other_namespaces)[source]

Update namespaces with the key/value pairs from other, overwriting existing keys.

Parameters
  • namespaces (MutableMapping[str, Union[str, List[str]]]) – The namespaces to update.

  • other_ns – The namespaces to update from.

  • other_namespaces (MutableMapping[str, Union[str, List[str]]]) –

Return type

None