calendaring_jmap: Package entry points#

calendaring_jmap.get_jmap_client(**kwargs) → JMAPClient | None[source]#

Create a JMAPClient from configuration.

Configuration is read in priority order:

  1. Explicit keyword arguments (url, username, password, …)

  2. Environment variables (JMAP_URL, JMAP_USERNAME, …)

  3. A YAML config file (~/.config/calendaring-jmap/calendar.yaml or equivalent)

Returns None if no configuration is found, rather than raising.

Example:

client = get_jmap_client(url="https://jmap.example.com/.well-known/jmap",
                          username="alice", password="secret")
calendaring_jmap.get_async_jmap_client(**kwargs) → AsyncJMAPClient | None[source]#

Create an AsyncJMAPClient from configuration.

Accepts the same arguments and reads configuration from the same sources as get_jmap_client(). Returns None if no configuration is found.

Example:

async with get_async_jmap_client(
    url="https://jmap.example.com/.well-known/jmap",
    username="alice", password="secret"
) as client:
    calendars = await client.get_calendars()

Everything else exported from calendaring_jmap (JMAPClient, AsyncJMAPClient, the calendar objects, and the error hierarchy) is documented on its own page; see the sidebar.