← Back to all products

Event Tracker

$19

Lightweight event tracking system for custom events, user actions, and page views with SQLite or JSON storage.

📁 10 files
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 ...
Buy Now — $19 Back to Products