Skip to content

Config

mail_intake.config

Global configuration models for Mail Intake.

This module defines the top-level configuration object used to control mail ingestion behavior across adapters, authentication providers, and ingestion workflows.

Configuration is intentionally explicit, immutable, and free of implicit environment reads to ensure predictability and testability.

MailIntakeConfig dataclass

MailIntakeConfig(provider: str = ..., user_id: str = ..., readonly: bool = ..., credentials_path: Optional[str] = ..., token_path: Optional[str] = ...)

Global configuration for mail-intake.

This configuration is intentionally explicit and immutable. No implicit environment reads or global state.

Design principles: - Immutable once constructed - Explicit configuration over implicit defaults - No direct environment or filesystem access

This model is safe to pass across layers and suitable for serialization.

credentials_path class-attribute instance-attribute

credentials_path: Optional[str] = None

Optional path to provider credentials configuration.

provider class-attribute instance-attribute

provider: str = 'gmail'

Identifier of the mail provider to use (e.g., "gmail").

readonly class-attribute instance-attribute

readonly: bool = True

Whether ingestion should operate in read-only mode.

token_path class-attribute instance-attribute

token_path: Optional[str] = None

Optional path to persisted authentication tokens.

user_id class-attribute instance-attribute

user_id: str = 'me'

Provider-specific user identifier. Defaults to the authenticated user.