← Back to all products
$19
Event Tracker
Lightweight event tracking system for custom events, user actions, and page views with SQLite or JSON storage.
JSONMarkdownPython
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 10 files
event-tracker/
├── LICENSE
├── README.md
├── examples/
│ └── sample_events.json
├── free-sample.zip
├── guide/
│ ├── 01_features.md
│ ├── 02_quick-start.md
│ ├── 03_event-schema.md
│ └── 04_faq.md
├── index.html
└── src/
└── event_tracker.py
📖 Documentation Preview README excerpt
Event Tracker
Lightweight event tracking system for custom events, user actions, and page views. Stores to SQLite or JSON with built-in querying and aggregation.
Features
- Custom events — Track any event with arbitrary properties
- User tracking — Associate events with user IDs and sessions
- Page views — Built-in shortcut for page view tracking
- SQLite storage — Indexed database with efficient querying
- JSON storage — Append-only JSONL files for streaming pipelines
- Aggregation — Group-by stats, counts, unique users, averages
- Time windows — Query events from the last 7d, 24h, 30m, etc.
- Batch tracking — Insert multiple events in a single transaction
- CLI and library — Use from the command line or import as a module
Requirements
- Python 3.10+
- No external dependencies (stdlib only)
Quick Start
# Track an event
python src/event_tracker.py track "signup" --user "user_123" --props '{"plan": "pro"}'
# Track a page view
python src/event_tracker.py track "page_view" --user "user_123" --props '{"page": "/pricing"}'
# Query recent events
python src/event_tracker.py query --last 7d
# Query by event name
python src/event_tracker.py query --event "signup" --limit 50
# View statistics
python src/event_tracker.py stats
# Count events
python src/event_tracker.py count --event "signup" --last 30d
Use as a Python Library
from event_tracker import SQLiteStore, track_event, track_page_view
store = SQLiteStore("my_events.db")
# Track custom events
track_event("purchase", user_id="user_456", properties={"amount": 49.99}, store=store)
track_page_view("/dashboard", user_id="user_456", store=store)
# Query events
events = store.query(event_name="purchase", limit=10)
stats = store.stats(group_by="event_name")
Storage Backends
... continues with setup instructions, usage examples, and more.
📄 Code Sample .py preview
src/event_tracker.py
#!/usr/bin/env python3
"""
Event Tracker — Analytics Hub (DataNest)
Lightweight event tracking system for custom events, user actions,
and page views. Stores events to JSON files or SQLite database
with built-in querying and aggregation.
Usage:
python event_tracker.py track "signup" --user "user_123" --props '{"plan":"pro"}'
python event_tracker.py query --event "signup" --last 7d
python event_tracker.py stats --group-by event_name
Dependencies: Python 3.10+ stdlib only (no pip packages)
License: MIT
"""
from __future__ import annotations
import argparse
import json
import logging
import sqlite3
import sys
import time
import uuid
from dataclasses import asdict, dataclass, field
from datetime import datetime, timedelta, timezone
from pathlib import Path
from typing import Any
# ---------------------------------------------------------------------------
# Constants
# ---------------------------------------------------------------------------
DEFAULT_DB_PATH = Path("events.db")
DEFAULT_JSON_PATH = Path("events.jsonl")
MAX_PROPERTY_SIZE = 4096 # Max bytes for event properties JSON
BATCH_SIZE = 100 # Flush batch writes at this count
logger = logging.getLogger("event_tracker")
# ---------------------------------------------------------------------------
# Data models
# ---------------------------------------------------------------------------
@dataclass
class Event:
"""A single tracked event."""
event_name: str
# ... 430 more lines ...