Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.1.0 - 2026-02-06
Initial public release. User toolkit for EQ Wave power quality data.
Modules
- equser.data - Load CPOW and PMon Parquet files with automatic scaling, timestamp parsing
- equser.analysis - Waveform analysis: zero-crossing detection, AC cycle extraction
- equser.api - REST and WebSocket clients for EQ Synapse gateways (requires
[analysis]) - equser.plotting - Static matplotlib plots for PMon and CPOW data (requires
[analysis]) - equser.pmon - Live sensor acquisition and Avro-to-Parquet conversion (requires
[daq]) - equser.core - YAML configuration loading, XDG-compliant path resolution
- equser.utils - Logging with optional color, DateTime with floor-division
- equser.notebooks - Bundled reference notebooks with list/copy API
- equser.widgets - Interactive file selector for JupyterLab (requires
[jupyter]) - equser.snapshot - Waveform capture via gateway WebSocket
Dependency Tiers
- Base: numpy, pyarrow, pyyaml, argcomplete, colorlog (data loading, analysis, CLI)
- [daq]: avro, fastavro (live sensor acquisition)
- [analysis]: matplotlib, requests, websocket-client (plotting + API)
- [jupyter]:
[analysis]+ jupyterlab, duckdb, ipywidgets, ipykernel, nbconvert - [full]: all of the above
CLI
equser pmon acquire- Start power monitoring from EQ Wave sensorequser pmon convert- Convert Avro files to Parquetequser plot- Plot PMon or CPOW data filesequser notebooks list- List bundled reference notebooksequser notebooks copy- Copy reference notebooks to a directoryequser snapshot- Capture live waveform data to a Parquet file