Client¶
The main entry points for interacting with CiviCRM.
CiviClient¶
- class civicrm_py.CiviClient[source]¶
Bases:
objectAsync client for CiviCRM API v4.
- Usage:
- async with CiviClient(settings) as client:
response = await client.request(“Contact”, “get”, {“limit”: 10})
- Or with environment variables:
- async with CiviClient.from_env() as client:
response = await client.request(“Contact”, “get”)
- __init__(settings=None, *, base_url=None, api_key=None, site_key=None, timeout=30, verify_ssl=True, debug=False, max_retries=3)[source]¶
Initialize CiviClient.
Either provide a CiviSettings instance or individual parameters. If neither settings nor base_url is provided, will attempt to load from environment variables.
- Parameters:
settings (CiviSettings | None) – Pre-configured CiviSettings instance.
base_url (str | None) – CiviCRM API base URL.
api_key (str | None) – API key for authentication.
site_key (str | None) – Optional site key.
timeout (int) – Request timeout in seconds.
verify_ssl (bool) – Whether to verify SSL certificates.
debug (bool) – Enable debug logging.
max_retries (int) – Maximum retry attempts.
- classmethod from_env()[source]¶
Create client from environment variables.
- Returns:
CiviClient configured from environment.
- Return type:
- property settings: CiviSettings¶
Get client settings.
- async request(entity, action, params=None)[source]¶
Make API request.
- Parameters:
- Returns:
API response with values and metadata.
- Raises:
CiviConnectionError – On network error.
CiviTimeoutError – On request timeout.
CiviAuthError – On authentication failure.
CiviAPIError – On API error response.
- Return type:
- async get(entity, *, select=None, where=None, order_by=None, limit=None, offset=None)[source]¶
Get entities with optional filtering.
- Parameters:
- Returns:
API response.
- Return type:
SyncCiviClient¶
- class civicrm_py.SyncCiviClient[source]¶
Bases:
objectSync client for CiviCRM API v4.
- Usage:
- with SyncCiviClient(settings) as client:
response = client.request(“Contact”, “get”, {“limit”: 10})
- __init__(settings=None, *, base_url=None, api_key=None, site_key=None, timeout=30, verify_ssl=True, debug=False, max_retries=3)[source]¶
Initialize SyncCiviClient.
- Parameters:
settings (CiviSettings | None) – Pre-configured CiviSettings instance.
base_url (str | None) – CiviCRM API base URL.
api_key (str | None) – API key for authentication.
site_key (str | None) – Optional site key.
timeout (int) – Request timeout in seconds.
verify_ssl (bool) – Whether to verify SSL certificates.
debug (bool) – Enable debug logging.
max_retries (int) – Maximum retry attempts.
- property settings: CiviSettings¶
Get client settings.