Forge stats — événements génériques, schéma SQL, tracking et consultation.
Project description
forge-mvc-stats
Module stats pour Forge — événements génériques, schéma SQL, tracking et consultation.
Extrait du core Forge depuis la version 2.8.0 (ADR-004).
Installation
pip install forge-mvc-stats
# ou en mode developpement
pip install -e packages/forge-mvc-stats/
Usage
from forge_mvc_stats import make_event, track_event
# Créer un événement
event = make_event(
"page_view",
label="Vue de page",
category="traffic",
metadata={"path": "/contact"},
)
# Enregistrer dans la base (db.execute est fourni par l'application)
track_event(db.execute, event)
# Raccourci direct par nom
track_event(db.execute, "contact_click", label="Clic contact")
Consultation
from forge_mvc_stats import list_stats_events
# Lister les 50 derniers événements (fetch_all est fourni par l'application)
events = list_stats_events(my_fetch_all)
# Filtrer par nom ou catégorie
page_views = list_stats_events(my_fetch_all, name="page_view")
traffic = list_stats_events(my_fetch_all, category="traffic", limit=100)
Schéma SQL
from forge_mvc_stats import get_stats_events_schema_sql, STATS_EVENTS_TABLE
print(STATS_EVENTS_TABLE) # "forge_stats_events"
sql = get_stats_events_schema_sql() # CREATE TABLE IF NOT EXISTS forge_stats_events (...)
Cas d'usage
- Comptage de visites de pages
- Suivi de clics sur des liens ou boutons
- Mesure de soumissions de formulaires
- Traçage d'événements métier applicatifs
API publique
StatsEvent— dataclass d'événement (name, label, category, metadata)StatsEventError— exception de validationmake_event(name, label, category, metadata)— crée et valide un événementvalidate_event(event)— valide un événement existantnormalize_event_name(value)— normalise en snake_casevalidate_event_name(value)— valide un nom normaliséSTATS_EVENTS_TABLE— nom de la table SQL (forge_stats_events)STATS_EVENTS_COLUMNS— tuple des colonnesget_stats_events_schema_sql()— SQLCREATE TABLE IF NOT EXISTStrack_event(execute, event_or_name, ...)— enregistre un événement en baseget_track_event_sql()— SQLINSERTparamétréprepare_track_event_values(event)— tuple de paramètres prêts pourexecutelist_stats_events(fetch_all, name, category, limit)— liste des événements normalisésget_stats_events_admin_sql(name, category, limit)— SQLSELECTfiltréprepare_stats_events_admin_params(name, category, limit)— paramètres du SELECTnormalize_stats_event_row(row)— normalise une ligne brute (metadata JSON → dict)StatsAdminError— exception de consultation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forge_mvc_stats-1.0.0b10.tar.gz.
File metadata
- Download URL: forge_mvc_stats-1.0.0b10.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a1cd53993a29fa547ed89d227149d803d20546a7ef36869914e65491728b5e4
|
|
| MD5 |
5256c69c7ee688b09bea261b17098d57
|
|
| BLAKE2b-256 |
d77ec4f4d40944549e0cf68564d8a4fbe0b7af677f88a35cfe409ca7d08376fe
|
File details
Details for the file forge_mvc_stats-1.0.0b10-py3-none-any.whl.
File metadata
- Download URL: forge_mvc_stats-1.0.0b10-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d47cc8092358d691fba7d3e00ff9d4d20c87b2af5af45e380753520bef87ea7d
|
|
| MD5 |
1fba4fc783d305d95a5ff602f975bea8
|
|
| BLAKE2b-256 |
6ab2982c112d1b0050d160a850f654e1deeaef995aa005ccfe39313badedfc43
|