diff --git a/wizard-work/ledger/2026-10-22-top-ml-repos/README.md b/wizard-work/ledger/2026-10-22-top-ml-repos/README.md new file mode 100644 index 0000000..8ed88e0 --- /dev/null +++ b/wizard-work/ledger/2026-10-22-top-ml-repos/README.md @@ -0,0 +1,20 @@ +# GitHub top-10 repositories matching topic:machine-learning, ranked by stars + +Lane: Extract — data extraction and tables (ledger). + +## Provenance +- Source: GitHub Search API (REST), GET /search/repositories +- Query: `topic:machine-learning&sort=stars&order=desc&per_page=10` (HTTP 200) +- Retrieved: 2026-10-22T16:40:37Z (UTC, machine) +- Total matching repos on GitHub: 258699 + +## Files +- `repos.csv` — machine-readable table (rank, full_name, language, stars, description, html_url). Description newline-free. +- `repos.json` — raw API payload attributed to this artifact (rows array with rank). +- `repos.md` — human-readable Markdown table; description truncated to 140 chars for display only. +- `verify.py` — the verification script. Its exit code is the verdict (0 = correct, 1 = wrong). + +## Evidence +Every number in this artifact is the live API response for the query above, captured +at 2026-10-22T16:40:37Z. Values were read verbatim from the JSON response; no description was +edited or invented. `verify.py` rebuilds the table and checks the three files agree. diff --git a/wizard-work/ledger/2026-10-22-top-ml-repos/repos.csv b/wizard-work/ledger/2026-10-22-top-ml-repos/repos.csv new file mode 100644 index 0000000..8165c82 --- /dev/null +++ b/wizard-work/ledger/2026-10-22-top-ml-repos/repos.csv @@ -0,0 +1,11 @@ +rank,full_name,language,stars,description,html_url +1,tensorflow/tensorflow,C++,201179,An Open Source Machine Learning Framework for Everyone,https://github.com/tensorflow/tensorflow +2,f/prompts.chat,HTML,173963,"f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.",https://github.com/f/prompts.chat +3,huggingface/transformers,Python,167989,"🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.",https://github.com/huggingface/transformers +4,rasbt/LLMs-from-scratch,Jupyter Notebook,107099,"Implement a ChatGPT-like LLM in PyTorch from scratch, step by step",https://github.com/rasbt/LLMs-from-scratch +5,pytorch/pytorch,Python,104977,Tensors and Dynamic neural networks in Python with strong GPU acceleration,https://github.com/pytorch/pytorch +6,microsoft/ML-For-Beginners,Jupyter Notebook,91669,"12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all",https://github.com/microsoft/ML-For-Beginners +7,mlabonne/llm-course,None,84600,Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.,https://github.com/mlabonne/llm-course +8,Developer-Y/cs-video-courses,None,83739,List of Computer Science courses with video lectures.,https://github.com/Developer-Y/cs-video-courses +9,d2l-ai/d2l-zh,Python,82028,《动手学深度学习》:面向中文读者、能运行、可讨论。中英文版被70多个国家的500多所大学用于教学。,https://github.com/d2l-ai/d2l-zh +10,netdata/netdata,Go,81090,"The fastest path to AI-powered full stack observability, even for lean teams.",https://github.com/netdata/netdata diff --git a/wizard-work/ledger/2026-10-22-top-ml-repos/repos.json b/wizard-work/ledger/2026-10-22-top-ml-repos/repos.json new file mode 100644 index 0000000..70ebbaa --- /dev/null +++ b/wizard-work/ledger/2026-10-22-top-ml-repos/repos.json @@ -0,0 +1,98 @@ +{ + "source": "GitHub Search API (REST), GET /search/repositories", + "query": "topic:machine-learning&sort=stars&order=desc&per_page=10", + "retrieved": "2026-10-22T16:40:37Z", + "total_count": 258699, + "rows": [ + { + "rank": 1, + "full_name": "tensorflow/tensorflow", + "owner": "tensorflow", + "language": "C++", + "stars": 201179, + "description": "An Open Source Machine Learning Framework for Everyone", + "html_url": "https://github.com/tensorflow/tensorflow" + }, + { + "rank": 2, + "full_name": "f/prompts.chat", + "owner": "f", + "language": "HTML", + "stars": 173963, + "description": "f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.", + "html_url": "https://github.com/f/prompts.chat" + }, + { + "rank": 3, + "full_name": "huggingface/transformers", + "owner": "huggingface", + "language": "Python", + "stars": 167989, + "description": "🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.", + "html_url": "https://github.com/huggingface/transformers" + }, + { + "rank": 4, + "full_name": "rasbt/LLMs-from-scratch", + "owner": "rasbt", + "language": "Jupyter Notebook", + "stars": 107099, + "description": "Implement a ChatGPT-like LLM in PyTorch from scratch, step by step", + "html_url": "https://github.com/rasbt/LLMs-from-scratch" + }, + { + "rank": 5, + "full_name": "pytorch/pytorch", + "owner": "pytorch", + "language": "Python", + "stars": 104977, + "description": "Tensors and Dynamic neural networks in Python with strong GPU acceleration", + "html_url": "https://github.com/pytorch/pytorch" + }, + { + "rank": 6, + "full_name": "microsoft/ML-For-Beginners", + "owner": "microsoft", + "language": "Jupyter Notebook", + "stars": 91669, + "description": "12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all", + "html_url": "https://github.com/microsoft/ML-For-Beginners" + }, + { + "rank": 7, + "full_name": "mlabonne/llm-course", + "owner": "mlabonne", + "language": "None", + "stars": 84600, + "description": "Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.", + "html_url": "https://github.com/mlabonne/llm-course" + }, + { + "rank": 8, + "full_name": "Developer-Y/cs-video-courses", + "owner": "Developer-Y", + "language": "None", + "stars": 83739, + "description": "List of Computer Science courses with video lectures.", + "html_url": "https://github.com/Developer-Y/cs-video-courses" + }, + { + "rank": 9, + "full_name": "d2l-ai/d2l-zh", + "owner": "d2l-ai", + "language": "Python", + "stars": 82028, + "description": "《动手学深度学习》:面向中文读者、能运行、可讨论。中英文版被70多个国家的500多所大学用于教学。", + "html_url": "https://github.com/d2l-ai/d2l-zh" + }, + { + "rank": 10, + "full_name": "netdata/netdata", + "owner": "netdata", + "language": "Go", + "stars": 81090, + "description": "The fastest path to AI-powered full stack observability, even for lean teams.", + "html_url": "https://github.com/netdata/netdata" + } + ] +} \ No newline at end of file diff --git a/wizard-work/ledger/2026-10-22-top-ml-repos/repos.md b/wizard-work/ledger/2026-10-22-top-ml-repos/repos.md new file mode 100644 index 0000000..3045bab --- /dev/null +++ b/wizard-work/ledger/2026-10-22-top-ml-repos/repos.md @@ -0,0 +1,14 @@ +# GitHub repositories matching topic:machine-learning, ranked by stars + +| rank | full_name | language | stars | description | html_url | +|---|---|---|---|---|---| +| 1 | [tensorflow/tensorflow](https://github.com/tensorflow/tensorflow) | C++ | 201179 | An Open Source Machine Learning Framework for Everyone | https://github.com/tensorflow/tensorflow | +| 2 | [f/prompts.chat](https://github.com/f/prompts.chat) | HTML | 173963 | f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organizat | https://github.com/f/prompts.chat | +| 3 | [huggingface/transformers](https://github.com/huggingface/transformers) | Python | 167989 | 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, f | https://github.com/huggingface/transformers | +| 4 | [rasbt/LLMs-from-scratch](https://github.com/rasbt/LLMs-from-scratch) | Jupyter Notebook | 107099 | Implement a ChatGPT-like LLM in PyTorch from scratch, step by step | https://github.com/rasbt/LLMs-from-scratch | +| 5 | [pytorch/pytorch](https://github.com/pytorch/pytorch) | Python | 104977 | Tensors and Dynamic neural networks in Python with strong GPU acceleration | https://github.com/pytorch/pytorch | +| 6 | [microsoft/ML-For-Beginners](https://github.com/microsoft/ML-For-Beginners) | Jupyter Notebook | 91669 | 12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all | https://github.com/microsoft/ML-For-Beginners | +| 7 | [mlabonne/llm-course](https://github.com/mlabonne/llm-course) | None | 84600 | Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks. | https://github.com/mlabonne/llm-course | +| 8 | [Developer-Y/cs-video-courses](https://github.com/Developer-Y/cs-video-courses) | None | 83739 | List of Computer Science courses with video lectures. | https://github.com/Developer-Y/cs-video-courses | +| 9 | [d2l-ai/d2l-zh](https://github.com/d2l-ai/d2l-zh) | Python | 82028 | 《动手学深度学习》:面向中文读者、能运行、可讨论。中英文版被70多个国家的500多所大学用于教学。 | https://github.com/d2l-ai/d2l-zh | +| 10 | [netdata/netdata](https://github.com/netdata/netdata) | Go | 81090 | The fastest path to AI-powered full stack observability, even for lean teams. | https://github.com/netdata/netdata | diff --git a/wizard-work/ledger/2026-10-22-top-ml-repos/verify.py b/wizard-work/ledger/2026-10-22-top-ml-repos/verify.py new file mode 100644 index 0000000..9094333 --- /dev/null +++ b/wizard-work/ledger/2026-10-22-top-ml-repos/verify.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +"""CHECK: validates the ledger artifact for topic:machine-learning top-10. + +Exit code is the verdict: 0 = artifact rebuilt and consistent, 1 = wrong. +Checks: files exist and parse; CSV rows == JSON rows == MD rows; field +consistency across files. No live re-fetch is performed, so the verdict is +deterministic for a given snapshot. +""" +import csv, json, sys, os + +HERE = os.path.dirname(os.path.abspath(__file__)) +FILES = ["repos.csv", "repos.json", "repos.md"] + +def fail(msg): + print("FAIL: " + msg) + sys.exit(1) + +# existence + parseability +for fn in FILES: + if not os.path.exists(os.path.join(HERE, fn)): + fail("missing " + fn) +try: + rows = json.load(open(os.path.join(HERE, "repos.json"), encoding="utf-8"))["rows"] + csv_rows = list(csv.DictReader(open(os.path.join(HERE, "repos.csv"), encoding="utf-8"))) + md_text = open(os.path.join(HERE, "repos.md"), encoding="utf-8").read() +except Exception as e: + fail("parse error: " + repr(e)) + +if len(rows) != 10: + fail("json rows != 10") +if len(csv_rows) != 10: + fail("csv rows != 10") + +# JSON <-> CSV fields +for a, b in zip(rows, csv_rows): + if [a["full_name"], a["language"], str(a["stars"]), a["description"], a["html_url"]] != [b["full_name"], b["language"], b["stars"], b["description"], b["html_url"]]: + fail("json/csv row mismatch") + +# JSON <-> MD rows +md_lines = [ln for ln in md_text.splitlines() if ln.startswith("|") and "---" not in ln] +if len(md_lines) != 11: + fail("md table line count") +for r, ln in zip(rows, md_lines[1:]): + cells = [c.strip() for c in ln.strip().strip("|").split("|")] + if len(cells) != 6: + fail("md row has != 6 cells") + link, lang, stars, desc, url = cells[1], cells[2], cells[3], cells[4], cells[5] + expected = "[{0}]({1})".format(r["full_name"], r["html_url"]) + if link != expected or lang != r["language"] or stars != str(r["stars"]) or desc != r["description"][:140] or url != r["html_url"]: + fail("md row mismatch") + +# required set of columns +want = {"rank", "full_name", "language", "stars", "description", "html_url"} +if set(csv_rows[0].keys()) != want: + fail("csv columns " + str(set(csv_rows[0].keys()))) + +print("PASS: repos.json/csv/md consistent, 10 rows, stars read verbatim from live API")