yera.cli.setup_handlers.anthropic

Anthropic provider setup handler.

Symbols

class AnthropicSetup — Handler for configuring Anthropic provider connections.

AnthropicSetup

Handler for configuring Anthropic provider connections.

This class implements the logic required to discover, prompt for, and validate the environment variables used to authenticate with Anthropic's API.

Methods

detect_config — Attempts to automatically detect an Anthropic API key from the environment.
ask_for_config — Interactively prompts the user to configure an Anthropic connection.
validate — Validates the provided Anthropic connection configuration.

AnthropicSetup.detect_config

detect_config() → AnthropicConnection | None

Attempts to automatically detect an Anthropic API key from the environment.

Checks for the presence of the default Anthropic environment variable. If found, it returns a connection configuration pointing to that variable.

Returns

type: AnthropicConnection | None

An AnthropicConnection instance if the default environment variable is detected; otherwise, None.

AnthropicSetup.ask_for_config

ask_for_config() → AnthropicConnection | None

Interactively prompts the user to configure an Anthropic connection.

First asks the user for confirmation to proceed, then prompts for the name of the environment variable that holds the API key.

Returns

type: AnthropicConnection | None

An AnthropicConnection instance containing the user-specified environment variable name, or None if the user declines the setup.

AnthropicSetup.validate

validate(
    config: AnthropicConnection,
) → None

Validates the provided Anthropic connection configuration.

This method ensures that the specified environment variable is actually set and that its value matches the expected format of an Anthropic API key (starting with 'sk-ant-' and meeting minimum length requirements).

Parameters

config
type: AnthropicConnection

The Anthropic connection configuration to validate.

Raises

ValueError

If the environment variable is not set or if the API key format is invalid.