Клиент для обеспечения конфиденциальности, с открытым исходным исходным исходным исходным кодом платформы аналитики Umami на основе httpx и pydantic .
umami-analytics предназначена для добавления пользовательских данных в ваш экземпляр Umami (самостоятельно или SaaS). Многие события Umami могут поставляться непосредственно из HTML через их атрибуты data-* . Однако некоторые не могут. Например, если у вас есть событие, которое запускается в вашем приложении, но у вас нет четкого HTML -действия, вы можете добавить пользовательские события. Они появятся в нижней части вашей страницы Umami Analytics для веб -сайта.
Одним из примеров является событие покупки , которое происходит глубоко внутри кода Python, а не в HTML на Talk Python Training. Это то, как выглядит наш раздел мероприятий в типичный день выходного дня (US Pacific Time):
API UMAMI обширный, и многое из этого предназначено для того, чтобы их код фронта был способен функционировать. Вы, вероятно, не хотите или не нуждаетесь в этом. umami-analytics охватывает только подмножество, которое большинство разработчиков понадобится для общих действий SaaS, таких как добавление пользовательских событий. Тем не менее, PRS - это Weclome.
См. Пример использования ниже для Python API вокруг этих функций.
? Async поддерживается, но не требуется для вашего кода Python. Для функций, которые получают доступ к сети, существует вариант func() и func_async() , который работает с async и await Python.
Просто pip install umami-analytics
import umami
umami . set_url_base ( "https://umami.hostedbyyouorthem.com" )
# Auth is NOT required to send events, but is for other features.
login = umami . login ( username , password )
# Skip the need to pass the target website in subsequent calls.
umami . set_website_id ( 'cc726914-8e68-4d1a-4be0-af4ca8933456' )
umami . set_hostname ( 'somedomain.com' )
# List your websites
websites = umami . websites ()
# Create a new event in the events section of the dashboards.
event_resp = umami . new_event (
website_id = 'a7cd-5d1a-2b33' , # Only send if overriding default above
event_name = 'Umami-Test' ,
title = 'Umami-Test' , # Defaults to event_name if omitted.
hostname = 'somedomain.com' , # Only send if overriding default above.
url = '/users/actions' ,
custom_data = { 'client' : 'umami-tester-v1' },
referrer = 'https://some_url' )
# Create a new page view in the pages section of the dashboards.
page_view_resp = umami . new_page_view (
website_id = 'a7cd-5d1a-2b33' , # Only send if overriding default above
page_title = 'Umami-Test' , # Defaults to event_name if omitted.
hostname = 'somedomain.com' , # Only send if overriding default above.
url = '/users/actions' ,
referrer = 'https://some_url' )
# Call after logging in to make sure the auth token is still valid.
umami . verify_token ()Этот список кодов очень высокой верности PSUedo Code. Если вам нужен действительно исполняемый пример, см. Пример клиента в репо.
См. Документацию API для добавления оставшихся конечных точек. PRS приветствуются. Но сначала откройте проблему, чтобы увидеть, подходит ли предложенная функция направлению этой библиотеки.
Наслаждаться.