$ show lukasmasuch/best-of-ml-python
This repository is a curated, ranked list of open-source Python machine learning libraries, known as 'Best-of Machine Learning with Python'. It functions primarily as a data curation and ecosystem analysis project. The core artifact is a `projects.yaml` file containing structured metadata for over 900 projects, including GitHub identifiers, package manager references, licenses, and category classifications. An automated GitHub Action workflow periodically fetches live metrics (stars, downloads) from GitHub and package registries, recalculates a quality score, and regenerates the `README.md` and changelog files in the `history/` directory. The repository serves as a comprehensive, living directory of the Python ML landscape, tracking trends, identifying dead or inactive projects, and providing a structured, versioned dataset for ecosystem analysis. While it produces a human-readable README, its true value lies in the structured data and the automated curation pipeline, making it a hybrid of a data repository and a content generation system.
The LLM identified 3 files worth highlighting for reuse:
The central data source defining the entire curated list. It contains a structured schema for each project (GitHub ID, PyPI ID, Conda ID, category, labels, license, description) and the generator configuration (categories, labels, thresholds). This YAML file is the single source of truth, making the list auditable, version-controllable, and easily extensible. The pattern of defining a curated catalog via a structured YAML file with external metric enrichment is highly reusable for any domain-specific 'awesome' or 'best-of' list.
The `history/` directory contains a comprehensive time-series dataset of the Python ML ecosystem, with weekly snapshots of project scores, star counts, and status changes. The `_changes.md` files provide a human-readable diff (Trending Up/Down, Added Projects) that is automatically generated. This pattern of maintaining a full historical record alongside a living document is an excellent model for any project tracking metrics over time, enabling trend analysis and rollback.
A well-structured GitHub Actions workflow that automates the entire update process. It runs on a schedule, creates a branch, invokes an external action to fetch metrics and regenerate the list, commits changes, opens a pull request, and drafts a release. This demonstrates a mature, hands-off maintenance pattern for data-driven content repositories. The workflow structure (scheduled trigger, branch creation, auto-commit, PR creation) is a reusable template for any project that needs periodic automated data updates.