Client pour la plate-forme d'analyse UMAMI Open Source, Open Source, basée sur httpx et pydantic .
umami-analytics est destiné à ajouter des données personnalisées à votre instance umami (auto-hébergé ou SaaS). De nombreux événements umami peuvent être fournis directement à partir de HTML via leurs attributs data-* . Cependant, certains ne le peuvent pas. Par exemple, si vous avez un événement qui est déclenché dans votre application mais qui n'a pas d'action HTML claire, vous pouvez ajouter des événements personnalisés. Ceux-ci apparaîtront au bas de votre page analtytique Umami pour un site Web.
Un exemple est un événement d'achat qui se produit au fond du code Python plutôt qu'en HTML à la formation Python Talk. C'est à quoi ressemble notre section d'événements pour un jour de week-end typique (heure du Pacifique):
L'API UMAMI est étendue et une grande partie est destinée à ce que leur code frontal puisse fonctionner. Vous ne voulez probablement pas ou n'en avez pas besoin. umami-analytics ne couvre que le sous-ensemble dont la plupart des développeurs auront besoin d'actions SaaS communes telles que l'ajout d'événements personnalisés. Cela dit, les PR sont Weclome.
Voir l'exemple d'utilisation ci-dessous pour l'API Python autour de ces fonctionnalités.
? Async est pris en charge mais n'est pas requis pour votre code Python. Pour les fonctions qui accèdent au réseau, il existe une variante func() et func_async() qui fonctionne avec async et await de Python.
Just 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 ()Cette liste de code est un code PSUEDO très haute fidélité. Si vous voulez un exemple réellement exécutable, consultez l'exemple du client dans le dépôt.
Voir la documentation de l'API pour que les points de terminaison restants soient ajoutés. Les PR sont les bienvenus. Mais veuillez d'abord ouvrir un problème pour voir si la fonctionnalité proposée correspond à la direction de cette bibliothèque.
Apprécier.