telespec
Explainable spectral analysis and anomaly detection for irregular network telemetry.
Unlike interpolate-then-FFT pipelines, telespec applies a floating-mean generalized Lomb-Scargle periodogram directly to observed timestamps and calibrates significant peaks using a permutation bootstrap. It turns latency, throughput, jitter, loss, or request-count series into plain-language, evidence-backed findings.
Install
pip install "telespec[ui]"
For development:
git clone https://github.com/akshajbachu/telespec.git
cd telespec
uv sync --extra dev
Try it
telespec demo -o demo.csv
telespec analyze-file demo.csv --column latency
telespec view
The dashboard is private and local at http://127.0.0.1:8765.
Python
from telespec import analyze
from telespec.io import read_csv
telemetry = read_csv("metrics.csv", timestamp="timestamp", value="latency_ms")
result = analyze(telemetry, bootstrap_iterations=200)
for finding in result.findings:
print(finding.summary)
Reproducible validation
uv run python benchmarks/run_all.py --quick regenerates benchmarks/results/results.json
and every SVG under benchmarks/results/. The full run evaluates frequency recovery
under missing/jittered samples, false-alarm calibration, synthetic anomaly detection,
and selected expert-labeled NAB series. Metrics are generated from code; no numbers are
handwritten.
Latest full reproducible run:
- At 60% missing observations, median frequency error was 0.57% for GLS versus 1.27% for interpolate+FFT.
- Synthetic level shift F1: 0.644 (telespec), 0.000 (3-sigma), 0.678 (EWMA).
- Synthetic variance burst F1: 0.678 (telespec), 1.000 (3-sigma), 1.000 (EWMA).
- Synthetic spikes F1: 0.678 (telespec), 0.833 (3-sigma), 0.833 (EWMA).
- Synthetic periodicity F1: 0.667 (telespec), 0.919 (3-sigma), 0.919 (EWMA).
- NAB macro F1 across 5 selected series: 0.187.
Design promises
- Irregular sampling is measured and surfaced.
- Interpolation is explicit and never used for the primary periodogram.
- Every peak has a global bootstrap false-alarm probability.
- Every anomaly is an interval with evidence and a plain-English reason.
- Limitations and benchmark losses are reported alongside wins.
Documentation
Full documentation is at akshajbachu.github.io/telespec, including the methodology, validation protocol, and release guide.
Contributing
Contributions are welcome. See CONTRIBUTING.md for development setup and checks, and the Code of Conduct. Report security issues privately as described in SECURITY.md. Release history is in CHANGELOG.md.
Citation
If you use telespec in research, please cite it. GitHub's Cite this
repository button (from CITATION.cff) provides APA and
BibTeX entries.
License
telespec is released under the MIT License.
Metadata
Release files for telespec 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| telespec-0.1.0.tar.gz | 1.2 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| telespec-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / telespec-0.1.0.tar.gz
| Download URL | telespec-0.1.0.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2932fc5f5b08cf1800deb605f3dd4e7d7d55a2a34dd2182008cc89850efa9d71
|
|
BLAKE2b-256 checksum How to use checksums |
cd9471bd9598962797468a02ce2de95caa821f4eda5bd70fbd78f3f2883fe87b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logRelease files / telespec-0.1.0-py3-none-any.whl
| Download URL | telespec-0.1.0-py3-none-any.whl |
|---|---|
| Size | 91.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
abbf8965ab3d8dc3378fddc05919741e88ffae90a51f885c41acd3de3e4c7514
|
|
BLAKE2b-256 checksum How to use checksums |
208a0771df2fc3c0625e7ded362c713386d2596f87a2034194133b3ccb3ae46c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logSecurity for telespec 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for telespec-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.