Xetrack Examples
February 6, 2026 · View on GitHub
Comprehensive examples demonstrating all features of xetrack.
Quick Start
Run all examples:
python examples/run_all.py
Run individual examples:
python examples/01_quickstart.py
python examples/02_track_functions.py
# ... etc
Examples Overview
1. Quickstart (01_quickstart.py)
Basic usage of xetrack:
- Creating a tracker
- Setting params
- Logging metrics
- Converting to DataFrame
- Multiple experiment types
Concepts: tracker, log(), params, to_df(), tables
2. Track Functions (02_track_functions.py)
Function execution tracking:
- Using
tracker.track()to monitor functions - Using
@tracker.wrap()decorator - System and network monitoring
- Tracking function time, args, kwargs
Concepts: track(), wrap(), system_params, network_params
3. Dataclass Auto-Unpacking (03_dataclass_unpacking.py)
Automatic field extraction:
- Frozen dataclass unpacking
- Pydantic BaseModel support
- Multiple dataclasses
- Nested structures (recursive)
Concepts: dataclasses, Pydantic, field extraction, nested configs
4. Track Assets (04_track_assets.py)
ML model storage:
- Storing models as assets
- Hash-based deduplication
- Retrieving models
- Using hashes for efficiency
Concepts: assets, model storage, deduplication, get()
Requirements: pip install scikit-learn
5. Function Caching (05_function_caching.py)
Transparent result caching:
- Enabling result caching
- Cache hits and misses
- Cache lineage tracking
- Different params create different caches
- Hashable vs unhashable arguments
Concepts: cache, lineage, performance optimization
Requirements: pip install xetrack[cache]
6. Logging Integration (06_logging_integration.py)
Structured logging:
- Logging to stdout
- Logging to files
- JSONL format for ML datasets
- Logger-only mode (no database)
- Reading logs back
Concepts: logs, JSONL, model monitoring, log files
7. Data Analysis (07_data_analysis.py)
Pandas integration:
- Converting to DataFrame
- Pandas-like operations
- Filtering, grouping, aggregation
- Head/tail operations
- Statistical summaries
Concepts: DataFrame, pandas, analysis, Reader
8. SQL Queries (08_sql_queries.py)
Direct database queries:
- SQL with SQLite engine
- SQL with DuckDB engine
- Complex queries and aggregations
- Window functions (DuckDB)
- Analytics queries
Concepts: SQL, SQLite, DuckDB, aggregations
Requirements (optional): pip install xetrack[duckdb]
9. Model Monitoring (09_model_monitoring.py)
Production monitoring:
- Logger-only mode for production
- Real-time inference monitoring
- Drift detection preparation
- High-frequency logging
- Structured logging for analytics
Concepts: production, monitoring, inference logging, drift detection
10. Dataclass Tracking (Detailed) (dataclass_tracking.py)
Original detailed dataclass example - comprehensive demonstration of dataclass/Pydantic features.
Data Organization
All examples store data in examples_data/:
examples_data/
├── quickstart.db # Example 1
├── functions.db # Example 2
├── dataclass.db # Example 3
├── assets.db # Example 4
├── cache.db # Example 5
├── cache_dir/ # Example 5 cache storage
├── logging.db # Example 6
├── logs/ # Example 6 log files
├── analysis.db # Example 7
├── sql_demo.db # Example 8
└── monitoring/ # Example 9 monitoring logs
Running Examples
Run All Examples
cd xetrack
python examples/run_all.py
Run Specific Example
python examples/01_quickstart.py
Clean Up Data
rm -rf examples_data/
Requirements
Core examples (1-3, 6-9):
- Only require base xetrack installation
pip install xetrack
Optional dependencies:
- Example 4 (Assets):
pip install xetrack[assets]orpip install scikit-learn - Example 5 (Caching):
pip install xetrack[cache] - Example 8 (DuckDB):
pip install xetrack[duckdb]
Install all features:
pip install xetrack[assets,cache,duckdb]
Tips
- Examples are self-contained and can run independently
- Each example cleans up after itself (mostly)
- Check
examples_data/for generated databases and logs - Use examples as templates for your own projects
Troubleshooting
Import errors:
- Make sure xetrack is installed:
pip install xetrack - Install optional dependencies as needed
Permission errors:
- Ensure write access to
examples_data/directory - On first run, the directory will be created automatically
Database locked:
- Close any database viewers (DBeaver, SQLite Browser, etc.)
- Delete the specific
.dbfile and run again
Contributing
Found an issue or want to add an example?
- Report issues: https://github.com/xdssio/xetrack/issues
- Submit examples: PRs welcome!