diff --git a/tools/repo_stats/models.py b/tools/repo_stats/models.py index 6b13d5bc4..f999be9c0 100644 --- a/tools/repo_stats/models.py +++ b/tools/repo_stats/models.py @@ -40,6 +40,10 @@ class RepoStats(BaseModel): num_warnings: int | None + def __repr__(self): + """Returns a string representation of the model.""" + return ",".join(f"0{d=}" for d in self.model_dump().items()) + class Contributor(BaseModel): """Model for contributors.""" diff --git a/tools/repo_stats/requirements.txt b/tools/repo_stats/requirements.txt index 45f322845..edb115445 100644 --- a/tools/repo_stats/requirements.txt +++ b/tools/repo_stats/requirements.txt @@ -8,3 +8,4 @@ pydantic==2.9.2 requests==2.32.3 numpy==2.1.3 pillow==11.0.0 +loguru==0.7.3 diff --git a/tools/repo_stats/scraper.py b/tools/repo_stats/scraper.py index 3c9e61a20..dbcbd7ec6 100644 --- a/tools/repo_stats/scraper.py +++ b/tools/repo_stats/scraper.py @@ -1,7 +1,6 @@ import csv import datetime import json -import logging import os from pathlib import Path @@ -9,6 +8,7 @@ import requests from dotenv import load_dotenv from google.cloud.storage import Client +from loguru import logger from models import GroupInfo, RepoContent, Report, RepoStats from typer import Typer @@ -17,9 +17,6 @@ GH_TOKEN = os.getenv("GH_TOKEN") or os.getenv("GITHUB_TOKEN") headers = {"Authorization": f"Bearer {GH_TOKEN}"} -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger(__name__) - def upload_data(file_name: str) -> None: """Uploads the repo stats data to GCS.""" @@ -163,7 +160,6 @@ def main(): group_number=group.group_number, repo_api=group.repo_api, default_branch=group.default_branch ) num_warnings = report.check_answers - else: num_contributors = None num_prs = None @@ -211,6 +207,7 @@ def main(): actions_passing=actions_passing, num_warnings=num_warnings, ) + logger.info(f"Repo Stats: {repo_stat}") repo_stats.append(repo_stat) logger.info("Writing repo stats to file")