Grounded.Tools.ContainerIOC module

class Grounded.Tools.ContainerIOC.ContainerIOC(config_file: str)[source]

Bases : object

Cette classe permet de faire le lien entre la ligne de commande et le code. Il s’agit d’un conteneur d’inversion de dépendance. Celle-ci est fortement inspiré du conteneur builder de Symfony (framework php). Cette classe permet l’instanciation de modules dynamiquement à partir de la configuration par défaut de l’application stockée dans un fichier yaml

get(name: str, **kwargs)[source]

Cette fonction permet d’accéder à différentes variables stockées dans le conteneur. Elle se charge également de l’instantiation des différents modules à partir de valeurs par défaut contenu dans un fichier yaml. Ces valeurs par défaut peuvent être écrasé par l’utilisateur s’il les spécifie dans les paramètres kwargs.

Args:

name (str): nom du service/variable souhaité **kwargs : arguments utilisés lors de l’instanciation d’un service

Returns: Une variable/Un service

set(name, value)[source]

Cette méthode permet d’insérer un nouvel objet dans le conteneur.

Args:

name: nom de l’objet qui sera utilisé par la suite pour y accéder value: objet à insérer

exception Grounded.Tools.ContainerIOC.DependencyNotFoundError(dependency_name)[source]

Bases : Exception

Grounded.Tools.ContainerIOC.create_instance(class_path, args)[source]
Grounded.Tools.ContainerIOC.load_from_yaml(file_path) dict[source]