Client

This module contains functionality related to the the client module for augmentation.langfuse.

Client

LangfuseClientFactory

Bases: SingletonFactory

Factory class for creating and managing Langfuse client instances.

This class implements the Singleton pattern through inheriting from SingletonFactory, ensuring only one Langfuse client instance exists throughout the application.

Attributes:
  • _configuration_class (Type) –

    The configuration class used for creating Langfuse client instances. In this case, it is LangfuseConfiguration.

Source code in src/augmentation/langfuse/client.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class LangfuseClientFactory(SingletonFactory):
    """
    Factory class for creating and managing Langfuse client instances.

    This class implements the Singleton pattern through inheriting from SingletonFactory,
    ensuring only one Langfuse client instance exists throughout the application.

    Attributes:
        _configuration_class (Type): The configuration class used for creating
            Langfuse client instances. In this case, it is LangfuseConfiguration.
    """

    _configuration_class: Type = LangfuseConfiguration

    @classmethod
    def _create_instance(cls, configuration: LangfuseConfiguration) -> Langfuse:
        """
        Creates a new Langfuse client instance.

        Args:
            configuration (LangfuseConfiguration): Configuration object containing
                Langfuse API credentials and URL settings.

        Returns:
            Langfuse: A configured Langfuse client instance ready for use with the
                provided credentials and host.
        """
        return Langfuse(
            secret_key=configuration.secrets.secret_key.get_secret_value(),
            public_key=configuration.secrets.public_key.get_secret_value(),
            host=configuration.url,
        )