Configuration

Settings and configuration management.

CiviSettings

class civicrm_py.CiviSettings[source]

Bases: object

CiviCRM API client settings.

Can be configured via environment variables or passed directly.

Environment Variables:

CIVI_BASE_URL: Base URL for CiviCRM API (e.g., https://example.org/civicrm/ajax/api4) CIVI_API_KEY: API key for authentication CIVI_SITE_KEY: Site key for authentication (optional for some setups) CIVI_TIMEOUT: Request timeout in seconds (default: 30) CIVI_VERIFY_SSL: Whether to verify SSL certificates (default: True) CIVI_DEBUG: Enable debug logging (default: False) CIVI_MAX_RETRIES: Maximum number of retries (default: 3) CIVI_AUTH_TYPE: Authentication type (api_key, jwt, basic) (default: api_key)

base_url: str
api_key: str | None
site_key: str | None
timeout: int
verify_ssl: bool
debug: bool
max_retries: int
auth_type: Literal['api_key', 'jwt', 'basic']
jwt_token: str | None
username: str | None
password: str | None
__post_init__()[source]

Validate settings after initialization.

classmethod from_env()[source]

Create settings from environment variables.

Returns:

CiviSettings instance configured from environment.

Raises:

ValueError – If required environment variables are missing.

Return type:

CiviSettings

__init__(base_url, api_key=None, site_key=None, timeout=30, verify_ssl=True, debug=False, max_retries=3, auth_type='api_key', jwt_token=None, username=None, password=None)

get_settings

civicrm_py.get_settings()[source]

Get cached settings instance from environment.

Returns:

Cached CiviSettings instance.

Return type:

CiviSettings