Umami Analytics
Umami Analytics Client for Python
Installation
pip install umami
API overview
Configuration
One-time setup. set_url_base() is required before any operation; Cloud users call set_cloud_api_key() instead.
set_url_base: Set the base URL of your self-hosted Umami instanceset_website_id: Set the default website ID used for subsequent callsset_hostname: Set the default hostname used when sending events and page viewsset_cloud_api_key: Authenticate against Umami Cloud with an API key instead of login()clear_cloud_api_key: Exit Cloud mode and return to self-hosted/token behaviorenable: Enable event and page view trackingdisable: Disable event and page view tracking
Authentication
Required for the query endpoints and verify_token. Not needed to send events.
login: Log into a self-hosted Umami instance and retrieve a temporary auth tokenlogin_async: Log into a self-hosted Umami instance and retrieve a temporary auth tokenis_logged_in: Whether a credential is currently set locallyverify_token: Verify that the currently stored credential is still validverify_token_async: Verify that the currently stored credential is still valid
Sending events
Send custom events, revenue, and page views. No login required — only a URL base and a website id/hostname.
new_event: Create a new custom event in Umami for the given website_id and hostnamenew_event_async: Create a new custom event in Umami for the given website_id and hostnamenew_revenue_event: Create a new revenue event in Umami. This is a convenience wrapper aroundnew_revenue_event_async: Create a new revenue event in Umami. This is a convenience wrapper aroundnew_page_view: Create a new page view event in Umami for the given website_id and hostnamenew_page_view_async: Create a new page view event in Umami for the given website_id and hostname
Querying stats
Read analytics back out. Requires login (or a Cloud API key).
websites: All the websites that are registered in your Umami instancewebsites_async: All the websites that are registered in your Umami instancewebsite_stats: Retrieves the statistics for a specific website over a date rangewebsite_stats_async: Retrieves the statistics for a specific website over a date rangeactive_users: Retrieves the number of currently-active visitors for a specific websiteactive_users_async: Retrieves the number of currently-active visitors for a specific website
Health
Check Umami server connectivity.
heartbeat: Check whether the configured Umami server is reachable and healthyheartbeat_async: Check whether the configured Umami server is reachable and healthy
Response models
Pydantic models returned by the query functions.
models.WebsitesResponsemodels.Websitemodels.WebsiteStatsmodels.WebsiteStatsCmpmodels.LoginResponsemodels.Usermodels.WebsiteUser
Errors
Exception hierarchy. ValidationError is the base; OperationNotAllowedError is raised when required state (url_base, login) is missing.
errors.ValidationErrorerrors.OperationNotAllowedError
Resources
- Full documentation
- llms.txt — Indexed API reference for LLMs
- llms-full.txt — Comprehensive documentation for LLMs
- Source code
Source: mikeckennedy/umami-python — distributed by TomeVault.