PyMetrics is a self-hostable platform that turns any Python repository
into 50+ software-metric columns and ships them as CSV/Parquet-ready tables
for dashboards, research, or downstream ML.
Accepts a GitHub URL, clones it in a sandbox, and produces per-file,
per-class, and per-function metrics.
Combines Radon (raw, CC, MI, Halstead), PyDriller (git history), and
Pylint (optional) into a single table.
Streams live progress over Server-Sent Events; results land in SQLite.
Exports CSV / ZIP artifacts under descriptive repo/ref/date folders.
Explains metric definitions and source references directly from the dashboard.
Why it exists
Metrics pipelines are everywhere and yet nowhere: every lab re-implements
“clone → measure → aggregate” in a notebook that no one can reproduce.
PyMetrics makes the pipeline a reproducible service and ships a curated
dataset pipeline so readers can reproduce and publish a CC-BY-4.0 corpus.
Both the analyzer and the dataset are citable. See CITATION.cff at the
repository root, or copy the BibTeX entry from the dataset landing page on
Kaggle.