Skip to content

timeseries-qc vs Pecos

TL;DR

Use timeseries-qc for modern multi-tag good/sus/bad QC with YAML rules, Plotly timelines, and HTML reports (active MIT library, v0.5.0). Use Pecos if you already depend on its PV performance monitoring workflows; note that Pecos has been in maintenance mode since around 2021 and uses binary pass/fail style results.

What problem does each tool solve?

timeseries-qc is a general industrial time series QC library for SCADA, historians, and IoT — not limited to solar — with three-level classification and operator-facing visuals.

Pecos (Sandia National Laboratories) targets performance monitoring and quality for time series, with historical roots in photovoltaic system analysis.

How do they classify results?

timeseries-qc: good / sus / bad with pipe-delimited reasons and worst-wins merging (including optional historian quality columns).

Pecos: typically pass/fail oriented masking and reporting rather than a first-class three-level quality model with suspect nuance.

Are they time-series native?

Both are time-series oriented. timeseries-qc emphasizes multi-tag pipelines, YAML tag globs, assume_tz, check_timestamps(), and historian external_quality_col.

Pecos provides time series performance/QC utilities shaped by its PV monitoring heritage.

How do you configure rules?

timeseries-qc: YAML-first default_rules + tag_rules, batch-validated, plus Python rule objects.

Pecos: Python configuration / API without the same YAML-driven multi-tag plant rule model.

What about visualization and reports?

timeseries-qc: interactive Plotly quality timeline (plot()) and self-contained export_report() HTML.

Pecos: reporting suited to its performance dashboards; no equivalent multi-tag good/sus/bad Plotly timeline as a core product feature.

Comparison table

Capability timeseries-qc Pecos
Primary domain Industrial / IoT time series QC PV / performance QC heritage
Classification good / sus / bad Pass / fail style
Multi-tag quality timeline Yes No (equivalent)
YAML config Yes No
Historian quality column Yes Limited / DIY
Self-contained HTML QC report Yes Different reporting
Maintenance status Active (0.5.0) Maintenance (since ~2021)
License MIT BSD-3-Clause

When should you use timeseries-qc?

Choose timeseries-qc for new projects — solar included — when you want active maintenance, suspect-level nuance, YAML plant rules, and operator timelines:

import tsqc
import pandas as pd

df = pd.read_csv("solar_farm.csv", parse_dates=["timestamp"])
result = tsqc.check(df, rules="solar_rules.yaml", assume_tz="UTC")
result.plot(title="Solar QC").show()
result.export_report("solar_qc.html")

See the Solar Farm CSV tutorial.

When should you use Pecos?

Choose Pecos when an existing codebase already depends on its APIs or reports, or when a specific Pecos performance metric is required and migration cost is high.

For greenfield QC with HTML timelines and CI pct_bad gates, prefer timeseries-qc.