PyMetrics includes a companion dataset pipeline for curated, pinned Python repositories. The generation scripts live in dataset/; generated artifacts are designed to be published on Kaggle or another dataset host, not committed to this repository.
dataset/repos.yaml; tool versions are locked in dataset/PROVENANCE.md.cp .env.example .env
docker compose up -d
python dataset/build.py --base-url http://localhost:8000 --concurrency 4
python dataset/validate.py --output-dir dataset/output --strict
python dataset/merge.py --output-dir dataset/output --release-dir dataset/release --version v1
python dataset/make_cards.py --release-dir dataset/release --version v1
Generate the EDA artifacts:
pip install -r dataset/notebooks/requirements.txt
jupyter nbconvert --execute dataset/notebooks/01_exploratory_analysis.ipynb
pymetrics_v1_file.parquet — one row per Python file.pymetrics_v1_class.parquet — CK / OO metrics per class.pymetrics_v1_function.parquet — CC + Halstead per function.pymetrics_v1_summary.parquet — one row per repository.DATA_DICTIONARY.md, schema.json, PROVENANCE.md, LICENSE.md.notebooks/01_exploratory_analysis.ipynb — descriptive EDA (no modeling).See the dataset’s own README for column groupings, example queries, and citation.
authors is a count, not an identity.