Skip to main content

LogStream

Log streams are used to organize logs within a project on the Galileo platform. They provide a way to categorize and group related logs, making it easier to analyze and monitor specific parts of your application or different environments (e.g., production, staging, development). Arguments
  • created_at (datetime.datetime): The timestamp when the log stream was created.
  • created_by (str): The identifier of the user who created the log stream.
  • id (str): The unique identifier of the log stream.
  • name (str): The name of the log stream.
  • project_id (str): The ID of the project this log stream belongs to.
  • updated_at (datetime.datetime): The timestamp when the log stream was last updated.
  • additional_properties (dict): Additional properties associated with the log stream.
Examples

enable_metrics

Enable metrics directly on this log stream instance. This is the most intuitive and clean way to enable metrics when you already have a LogStream object. The method leverages the log stream’s existing project_id and id attributes, eliminating the need for redundant parameter specification and reducing the potential for errors. This approach is ideal for object-oriented workflows where you’re working with LogStream instances directly, and it provides the clearest semantic meaning: “enable these metrics on this specific log stream.” Arguments
  • metrics (builtins.list[Union[GalileoMetrics, Metric, LocalMetricConfig, str]]): List of metrics to enable on this log stream. Supports multiple input formats:
    • GalileoMetrics enum values: Built-in metrics like GalileoMetrics.correctness
    • Metric objects: Custom metrics with optional version specifications
    • LocalMetricConfig objects: Client-side metrics with custom scoring functions
    • String names: Built-in metric names like “correctness” or “toxicity”
Raises
  • ValueError: - If this LogStream instance lacks required id or project_id attributes
  • If any specified metrics are unknown or unavailable
  • If there are issues with metric configuration or registration
  • GalileoHTTPException: If there are network or API errors when communicating with Galileo services
Returns
  • builtins.list[LocalMetricConfig]: List of local metric configurations that must be computed client-side. Server-side metrics are automatically registered with Galileo and don’t need to be returned since users don’t interact with them.
Examples Basic usage with built-in metrics:
Advanced usage with custom metrics:
Notes Requirements:
  • The LogStream instance must have valid id and project_id attributes
  • These are automatically set when retrieving LogStream objects via LogStreams methods
Recommended Usage:
  • Use this method when you already have a LogStream object
  • More intuitive than specifying project/log stream names again
  • Cleaner object-oriented design pattern

LogStreams

create

Creates a new log stream. Exactly one of project_id or project_name must be provided. Arguments
  • name (str): The name of the log stream.
  • project_id (Optional[str]): The ID of the project to create the log stream in. Defaults to None.
  • project_name (Optional[str]): The name of the project to create the log stream in. Defaults to None.
Raises
  • ValueError: If neither or both project_id and project_name are provided, or if the project is not found.
  • HTTPValidationError: If the server validation fails.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • LogStream: The created log stream.

enable_metrics

Enable metrics for a log stream by configuring scorers. The project name can be provided via the ‘project_name’ parameter or the GALILEO_PROJECT environment variable. The log stream name can be provided via the ‘log_stream_name’ parameter or the GALILEO_LOG_STREAM environment variable. Arguments
  • log_stream_name (Optional[str]): The name of the log stream. Takes precedence over the GALILEO_LOG_STREAM environment variable. Defaults to None.
  • project_name (Optional[str]): The name of the project. Takes precedence over the GALILEO_PROJECT environment variable. Defaults to None.
  • metrics (builtins.list[Union[GalileoMetrics, Metric, LocalMetricConfig, str]]): List of metrics to enable. Can include:
    • GalileoMetrics enum values (e.g., GalileoMetrics.correctness)
    • Metric objects with name and optional version
    • LocalMetricConfig objects for custom local metrics
    • String names of built-in metrics
Raises
  • ValueError: If log stream or project cannot be found, or if metrics are unknown.
Returns
  • tuple[builtins.list[ScorerConfig], builtins.list[LocalMetricConfig]]: A tuple containing the configured scorer configs and local metric configs.
Examples

get

Retrieves a log stream by id or name. Arguments
  • id (Optional[str]): The id of the log stream. Defaults to None.
  • name (Optional[str]): The name of the log stream. Defaults to None.
  • project_id (Optional[str]): The ID of the project. Defaults to None.
  • project_name (Optional[str]): The name of the project. Defaults to None.
Raises
  • ValueError: If neither or both id and name are provided, or if neither or both project_id and project_name are provided.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Optional[LogStream]: The log stream if found, None otherwise.

list

Lists log streams. Exactly one of project_id or project_name must be provided. Returns a single page of results. Use starting_token (from next_starting_token on a prior response) to fetch subsequent pages. Arguments
  • project_id (Optional[str]): The ID of the project to list log streams for.
  • project_name (Optional[str]): The name of the project to list log streams for.
  • limit (Union[Unset, int]): The maximum number of log streams to return per page. Defaults to 100.
  • starting_token (Union[Unset, int]): The pagination token to start from. Defaults to 0 (first page).
Raises
  • ValueError: If neither or both project_id and project_name are provided, if the named project is not found, if the server returns a validation error, or if the response is unexpectedly empty.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • builtins.list[LogStream]: A page of log streams.

create_log_stream

Creates a new log stream. Exactly one of project_id or project_name must be provided. Arguments
  • name (str): The name of the log stream.
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • LogStream: The created project.

enable_metrics

Enable metrics for a log stream with flexible parameter and environment variable support. This unified function supports both explicit parameters and environment variable fallbacks, making it perfect for all use cases - from production CI/CD pipelines to development testing. Flexible Usage Patterns:
  • Environment-only: Just pass metrics, names from env vars (production/CI)
  • Explicit parameters: Specify project/log stream names directly (development)
  • Mixed approach: Combine explicit params with environment fallbacks

Environment Variables (Optional Fallbacks)

GALILEO_PROJECT : str The name of the Galileo project (used when project_name not provided) GALILEO_LOG_STREAM : str The name of the log stream (used when log_stream_name not provided) Arguments
  • log_stream_name (Optional[str]): The name of the log stream. Takes precedence over GALILEO_LOG_STREAM environment variable. If None, will use GALILEO_LOG_STREAM env var. Defaults to None.
  • project_name (Optional[str]): The name of the project. Takes precedence over GALILEO_PROJECT environment variable. If None, will use GALILEO_PROJECT env var. Defaults to None.
  • metrics (builtins.list[Union[GalileoMetrics, Metric, LocalMetricConfig, str]]): List of metrics to enable on the log stream. Can include:
    • GalileoMetrics enum values (e.g., GalileoMetrics.correctness)
    • Metric objects with name and optional version for custom metrics
    • LocalMetricConfig objects for client-side custom scoring functions
    • String names of built-in metrics (e.g., “correctness”, “toxicity”)
Raises
  • ValueError: If log stream or project cannot be found, or if any specified metrics are unknown.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • builtins.list[LocalMetricConfig]: List of local metric configurations that must be computed client-side. Server-side metrics are automatically registered with Galileo and don’t need to be returned since users don’t interact with them.
Examples

get_log_stream

Retrieves a log stream by name. Exactly one of project_id or project_name must be provided. Arguments
  • name (Optional[str]): The name of the log stream. Defaults to None.
  • project_id (Optional[str]): The ID of the project. Defaults to None.
  • project_name (Optional[str]): The name of the project. Defaults to None.
Raises
  • ValueError: If neither or both project_id and project_name are provided.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Optional[LogStream]: The log stream if found, None otherwise.

list_log_streams

Lists log streams. Exactly one of project_id or project_name must be provided. Returns a single page of results. Use starting_token (from next_starting_token on a prior response) to fetch subsequent pages. Arguments
  • project_id (str): The id of the project.
  • project_name (str): The name of the project.
  • limit (Union[Unset, int]): The maximum number of log streams to return per page. Defaults to 100.
  • starting_token (Union[Unset, int]): The pagination token to start from. Defaults to 0 (first page).
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • builtins.list[LogStream]: A page of log streams.