simonw
Simon Willison Joined May 2008 17,778 followers View on GitHub
- Stars
- 66,535
- across 660 public repos
- Rank
- #205
- of 323,845 users, top 0.06%
- Down 4 places this week
Repositories with 50+ stars
| Rank | Repository | Language | Stars |
|---|---|---|---|
| 4,269 | Access large language models from the command-line | Python | 12,752 |
| 4,789 | An open source multi-tool for exploring and publishing data | Python | 11,575 |
| 24,225 | Concatenate a directory full of files into a single prompt for use with LLMs | Python | 2,804 |
| 26,185 | A CLI utility for taking screenshots of websites, recording video demos and scraping sites using JavaScript | Python | 2,600 |
| 30,982 | Python CLI utility and library for manipulating SQLite databases | Python | 2,196 |
| 35,312 | Assorted useful tools, almost entirely generated using LLMs | HTML | 1,931 |
| 39,619 | Tools for publishing transcripts for Claude Code sessions | Python | 1,730 |
| 46,680 | Today I Learned | HTML | 1,469 |
| 54,385 | Create executable documents that demonstrate an agent's work | Go | 1,250 |
| 70,166 | Convert CSV files into a SQLite database | Python | 940 |
| 70,703 | The contents of /mnt/skills in Claude's code interpreter environment | 932 | |
| 81,447 | Research projects | Rust | 802 |
| 85,545 | CLI tool for interacting with the web | Go | 761 |
| 126,325 | CLI tool for exporting tables or queries from any SQL database to a SQLite file | Python | 496 |
| 130,279 | Use LLM to generate and execute commands in your shell | Python | 479 |
| 132,237 | Django app for building dashboards using raw SQL queries | Python | 471 |
| 133,779 | LLM plugin to access Google's Gemini family of models | Python | 465 |
| 138,229 | https://simonwillison.net/2020/Jul/10/self-updating-profile-readme/ | Python | 448 |
| 142,458 | The source code behind my blog | Python | 433 |
| 147,541 | Cookiecutter template for creating new Click command-line tools | Python | 416 |
| 148,535 | Datasette running in your browser using WebAssembly and Pyodide | CSS | 413 |
| 149,873 | Count and truncate text based on tokens | Python | 409 |
| 157,284 | LLM plugin for models hosted by OpenRouter | Python | 387 |
| 162,521 | Cutting-edge web scraping techniques workshop at NICAR 2025 | 373 | |
| 165,266 | CLI tool for stripping tags from HTML | Python | 366 |
| 174,554 | Python CLI tool and library for diffing CSV and JSON files | Python | 344 |
| 186,351 | Find the Python code for specified symbols | Python | 319 |
| 201,675 | LLM plugin for interacting with the Claude 3 family of models | Python | 291 |
| 217,906 | Plugin for LLM adding support for the GPT4All collection of models | Python | 266 |
| 218,613 | Template repository for setting up shot-scraper | 265 | |
| 223,630 | A tool for creating credentials for accessing S3 buckets | Python | 258 |
| 225,715 | Utilities functions for node.js that borrow some useful concepts from Django | JavaScript | 255 |
| 227,938 | LLM access to models by Anthropic, including the Claude series | Python | 252 |
| 228,680 | Support for MLX models in LLM | Python | 251 |
| 242,522 | Save OpenAI API results to a SQLite database | Python | 234 |
| 244,219 | Opinionated cookiecutter template for creating a new Python library | Python | 232 |
| 247,827 | Tools for analyzing Git history using SQLite | Python | 228 |
| 254,269 | LLM benchmark: Generate an SVG of a pelican riding a bicycle | Shell | 221 |
| 254,269 | Recovered cia.gov/the-world-factbook/about/archives/download/factbook-2020.zip from Internet Archive | HTML | 221 |
| 257,091 | LLM plugin providing access to Mistral models using the Mistral API | Python | 218 |
| 259,038 | Tracking fire data from www.fire.ca.gov | 216 | |
| 279,531 | Prices of various LLMs | HTML | 197 |
| 280,725 | Write and execute jq programs with the help of LLM | Python | 196 |
| 284,364 | LLM plugin for running models using MLC | Python | 193 |
| 290,586 | A tool for creating a repository of transcribed videos | Python | 188 |
| 295,793 | Ultra simple API for geocoding a single string against various web services. | Python | 184 |
| 308,393 | Python library for running a MicroPython sandbox using WebAssembly | Python | 175 |
| 311,313 | JavaScript port of EmilStenstrom/justhtml | JavaScript | 173 |
| 316,025 | CLI tool for running text through OpenAI Text to speech | Python | 170 |
| 325,500 | A modern library for integrating OpenID with Django - incomplete, but really nearly there (promise) | Python | 164 |
| 325,500 | Create a SQLite database containing metadata from Google Drive | Python | 164 |
| 346,538 | async alternatives to browser alert() and prompt() and confirm() | JavaScript | 152 |
| 360,103 | Experimental .transform(fn) method for Django QuerySets, for clever lazily evaluated optimisations. | Python | 145 |
| 360,103 | LLM plugin for running models using llama.cpp | Python | 145 |
| 364,293 | The official project website for Datasette | HTML | 143 |
| 366,332 | Tools for dumping/loading a SQLite database to diffable directory structure | Python | 142 |
| 368,455 | A memcached backed rate limiting decorator for Django. | Python | 141 |
| 377,324 | The Datasette macOS application | JavaScript | 137 |
| 377,324 | Wrap Go binaries in Python wheels | Python | 137 |
| 379,586 | Export Airtable data to YAML, JSON or SQLite files on disk | Python | 136 |
| 381,797 | Syntactic sugar for creating Python command line scripts by introspecting a function definition | Python | 135 |
| 384,080 | Template repository for setting up a new git scraper | Shell | 134 |
| 384,080 | CLI tool for exploring an MCP server | Python | 134 |
| 391,074 | Turtles all the way down | Python | 131 |
| 395,945 | Track changes to SQLite tables using triggers | Python | 129 |
| 400,912 | An API for identifying cougars v.s. bobcats v.s. other USA cat species | Jupyter Notebook | 127 |
| 400,912 | LLM plugin for pulling content from Hacker News | Python | 127 |
| 406,117 | Download ESM modules from npm and jsdelivr | Python | 125 |
| 406,117 | Generate captions for images with Salesforce BLIP | Python | 125 |
| 411,292 | Copilot-assisted Advent of Code 2022 to learn Rust | Rust | 123 |
| 413,988 | Tools for running OCR against files stored in S3 | Python | 122 |
| 413,988 | A plugin system for Django | Python | 122 |
| 430,814 | Access OpenAI models via an existing Codex subscription | Python | 116 |
| 439,944 | A geographical community site for Django developers. | Python | 113 |
| 446,215 | Datasette plugin providing an automatic GraphQL API for your SQLite databases | Python | 111 |
| 446,215 | Shell | 111 | |
| 465,950 | Codespaces with LLM pre-configured using GitHub models | 105 | |
| 465,950 | Scan for secrets in files you plan to share | Python | 105 |
| 476,973 | Datasette plugin that shows a map for any data with latitude/longitude columns | JavaScript | 102 |
| 476,973 | Objective-C | 102 | |
| 476,973 | SwiftUI presentation software, every slide is a URL | Swift | 102 |
| 480,762 | Request per second / SQLop per second monitoring for Django, using Redis for storage | Python | 101 |
| 508,070 | CLI tool for loading markdown files into a SQLite database | Python | 94 |
| 516,723 | Run models distributed as GGUF files using LLM | Python | 92 |
| 516,723 | Unofficial documentation for GitHub Spark, generated with GitHub Spark | TypeScript | 92 |
| 530,482 | Scrape HN to track links from specific domains | Python | 89 |
| 530,482 | A simple database migration system for SQLite, based on sqlite-utils | Python | 89 |
| 545,012 | Run the Moebius inpainting model in the browser | TypeScript | 86 |
| 560,671 | Utility for converting YAML files to SQLite | Python | 83 |
| 560,671 | SwiftUI menu bar app for monitoring application bandwidth use | Swift | 83 |
| 566,057 | LLM plugin for clustering embeddings | Python | 82 |
| 571,605 | Web interface for searching your code using ripgrep, built as a Datasette plugin | Python | 81 |
| 577,201 | Script for saving a JSON archive of your tweets. | Python | 80 |
| 577,201 | GitHub template repository for creating new Python libraries, using the simonw/python-lib cookiecutter template | 80 | |
| 594,829 | Generate embeddings for images and text using CLIP with LLM | Python | 77 |
| 607,115 | LLM plugin for embeddings using sentence-transformers | Python | 75 |
| 626,824 | Integration of jCrop with the Django admin | Python | 72 |
| 626,824 | Ask questions of your data with LLM assistance | Python | 72 |
| 626,824 | Keeping track of the latest versions of various GitHub Actions | Python | 72 |
| 633,659 | Scrape details about Code Interpreter to track any changes | Python | 71 |
Among 323,845 users
63k–100k stars: 125 users, including simonw
Stars along the bottom, and users in each band on a log scale
Where the stars are
Languages
- Python 48.7k stars, 73% · 100 repos
- HTML 4k stars, 6% · 6 repos
- Go 2k stars, 3% · 2 repos
- JavaScript 1k stars, 2% · 8 repos
- Rust 925 stars, 1% · 2 repos
- Shell 593 stars, 1% · 5 repos
- CSS 413 stars, 1% · 1 repo
- TypeScript 245 stars, <1% · 3 repos
and 3 more languages
When they were made
100 repos with 50+ stars, made between 2009 and 2026
Quick stats
- Next rank
- +174 stars to reach #204
- Next milestone
- +112,740 stars to reach the top 0.01%
- Public repos
- 660, 140 with 50+ stars
- Popular repos
- 9 over 1k stars, 2 over 10k stars
- Top repo
- llm, #4,269 of all repos, 19% of stars
- Smaller repos
- 6,040 stars from repos under 50