Skip to content

create_run_summary.py

Purpose: Create a run summary TOML file from event data files

Use case: Recording measurement metadata, organizing measurement sessions

Features:

  • Analyzes JSONL event files in a directory
  • Extracts device information and metadata from event data
  • Saves structured summary in TOML format
  • Timestamps are converted to the local timezone (configurable via KAZUNOKO_TZ)

Required input: JSONL event files produced by get_events.py or get_runs.py

Usage:

# Create summary for a measurement directory
uv run examples/create_run_summary.py ./20251221_run126

# With verbose output
uv run examples/create_run_summary.py ./20251221_run126 --verbose

# Custom file pattern
uv run examples/create_run_summary.py ./20251221_run126 --pattern "*.jsonl"

# Overwrite existing summary
uv run examples/create_run_summary.py ./20251221_run126 --overwrite

# Use a specific timezone
KAZUNOKO_TZ=Asia/Tokyo uv run examples/create_run_summary.py ./20251221_run126

CLI Options:

Option Default Description
READ_FROM (required) Directory containing event JSONL files
--pattern events*.jsonl Glob pattern to filter input files
--overwrite off Overwrite existing summary file
--verbose / --quiet --quiet Show or suppress status messages
--log-level error Log level (debug/info/error)

Environment Variables:

Variable Default Description
KAZUNOKO_TZ system timezone IANA timezone name for timestamps (e.g. Asia/Tokyo)

Output file: READ_FROM/summary.toml

[metadata]
created_at = "2024-12-16T09:48:41+09:00"
directory = "20251221_run126"
total_events = 5000

[device]
mac_address = "AA:BB:CC:DD:EE:FF"
firmware = "1.17.0"

[[files]]
filename = "events_aabbccddeeff_2024-12-16_09h48m41s_0000000.jsonl"
events = 1000