devhelm Python SDK (v1.3.0). Every list/get returns a Pydantic model; every body parameter accepts either a dict or the corresponding Pydantic request class.
Client initialization
The client is built on
httpx.Client. It is synchronous and thread-safe; share one instance across threads (see concurrency patterns).
Resource namespaces
The client exposes 17 resources. List/get/delete signatures return Pydantic DTOs fromdevhelm.types; mutations accept RequestBody[...] (dict or model instance).
client.monitors
Both
list() and list_page() accept optional server-side filter kwargs: enabled, type, managed_by, tags (comma-separated), search, and environment_id.
client.incidents
Incidents have no
delete method — they are resolved, not deleted.client.alert_channels
client.notification_policies
client.tags
client.environments
client.secrets
client.resource_groups
client.webhooks
client.api_keys
There is no
get(id) — fetch the list and filter, or store the ID from create().client.dependencies
alert_sensitivity is one of ALL, INCIDENTS_ONLY, MAJOR_ONLY, or AWARENESS (the API default). component_id subscribes to a single component instead of the whole service.
client.deploy_lock
client.maintenance_windows
client.services
Read-only access to the third-party service status catalog (GitHub, Stripe, AWS, …).client.status
client.status_pages
The largest namespace; root operations plus five sub-namespaces.
Sub-namespaces:
client.forensics
Read-only audit trail for the detection engine. See Incident Forensics for the conceptual overview.Pagination types
Page
CursorPage
Pydantic models
Every request and response is apydantic.BaseModel. The full set is re-exported from devhelm:
devhelm/__init__.py.
Next steps
Error handling
Exception types and retry patterns.
Concurrency patterns
Run the sync client concurrently in threads or asyncio.