- FAQ about me (including links to talks and interviews)
- Blog (latest post published on 2025-03-07)
- Mastodon (with 3,366 followers)
- Bluesky (with 3,466 followers)
Last updated 2025-03-23.
Over the past 21 years, I have made some commit to 279 projects (some of which are my own).
(Grouped by commit count.)
≥ 103
≥ 102
- python/peps
- microsoft/vscode-python
- brettcannon/python-launcher
- microsoft/vscode-jupyter
- brettcannon/caniusepython3
- python/devguide
- microsoft/Pyjion
- gidgethub/gidgethub
- brettcannon/oplop
- brettcannon/desugar
- brettcannon/dotconfig
- python/the-knights-who-say-ni
- brettcannon/free-labour
- brettcannon/travelbrag
- pypa/packaging
- brettcannon/dotfiles
- Which-Film/which-film.info
≥ 101
- microsoft/pvscbot
- brettcannon/mousebender
- python/importlib_resources
- PyCQA/modernize
- brettcannon/release-often
- python/bedevere
- python/devinabox
- brettcannon/WWBD
- brettcannon/trips-history
- brettcannon/pep425
- brettcannon/microvenv
- brettcannon/check-for-changed-files
- brettcannon/py-pip
- brettcannon/python-azure-web-app-cookiecutter
- brettcannon/stdlib-stats
- brettcannon/cpython-wasi-build
- brettcannon/mnfy
- microsoft/vscode-docs-archive
- dabeaz/curio
- brettcannon/sans-io
- microsoft/vscode-docs
- brettcannon/modutil
- pypa/packaging.python.org
- brettcannon/time-clock
- brettcannon/find-duplicate-files
- brettcannon/riscv-harmony
- elixir-lang/elixir-lang.github.com
- brettcannon/flatten_filenames
- uranusjr/packaging-metadata-comparisons
- brettcannon/basicenum
- angular/angular.js
- python/core-workflow
- pypa/setuptools
- python-trio/trio
- microsoft/vscode-dev-containers
- dusty-phillips/rescript-zora
- Azure-Samples/Azure-MachineLearning-DataScience
- microsoft/vscode-python-devicesimulator
- brettcannon/pip-secure-install
- brettcannon/record-type
- Azure/msrest-for-python
- python-hyper/uritemplate
- emmatyping/python-wasm
- Azure/msrestazure-for-python
- microsoft/TypeScript-Handbook
- pypa/distutils
- brettcannon/defy-layout-scorer
- python/buildmaster-config
- orsenthil/cpython-hg-to-git
- python-hglib
≥ 100
- python3statement/python3statement.github.io
- benjaminp/six
- python/steering-council
- dusty-phillips/match-variant
- brettcannon/choose-a-font.dev
- brettcannon/importlib
- JuliaLang/julia
- python/cherry-picker
- lustre-labs/lustre
- brettcannon/nowhere-on-the-web
- python/blurb
- microsoft/vscode-anaconda-extension-pack
- rescript-lang/rescript-lang.org
- microsoft/vscode-telemetry-extractor
- eclipse-archived/ceylon-lang.org
- brettcannon/porting-to-python-3-notebook
- beeware/toga
- Azure/azure-sdk-for-python
- rust-lang/rust
- python/typeshed
- micktwomey/pyiso8601
- python/planet
- microsoft/vscode
- aosabook/500lines
- brettcannon/vscode-zephyr-asdl
- github/gitignore
- Homebrew/homebrew-core
- cookiecutter/cookiecutter
- pypa/pipenv
- Homebrew/legacy-homebrew
- square/dagger
- openlawlibrary/pygls
- WebAssembly/design
- Mariatta/github-bot-tutorial
- dotnet/docs
- badges/shields
- micropython/micropython
- python/psf-salt
- vstinner/misc
- inko-lang/inko
- jazzband/pip-tools
- thechangelog/show-notes
- microsoft/vscode-wiki
- brettcannon/cpython-wasi-buildbot
- astral-sh/ruff
- microsoft/vscode-docker
- kushaldas/pep582
- matplotlib/matplotlib
- jaraco/skeleton
- rustwasm/book
- beeware/liquid-demo
- larryhastings/appeal
- pyscript/pyscript
- microsoft/vscode-isort
- aio-libs/aiohttp
- WebAssembly/wasi-sdk
- MicrosoftDocs/visualstudio-docs
- sarugaku/resolvelib
- python/python-docs-theme
- asyncio-docs/asyncio-doc
- pypa/flit
- progit/progit2
- microsoft/language-server-protocol
- riverscuomo/apps
- MeeseeksBox/meeseeksbox.github.io
- conda/conda
- bloodyowl/rescript-test
- MPOS/php-mpos
- python/pyperformance
- buildout/buildout
- microsoft/sql-server-samples
- python/typing
- moby/mobywebsite
- kushaldas/pym
- ponylang/pony-tutorial
- python-hyper/h2
- bytecodealliance/wasmtime
- conda/ceps
- vibora-io/vibora
- gleam-lang/language-tour
- dabeaz/ply
- python/core-sprint
- microsoftarchive/msgraph-sdk-python
- python/pythonineducation.org
- microsoft/TypeScript-wiki
- Django
- getsentry/responses
- adafruit/Adafruit_CircuitPython_CircuitPlayground
- rust-lang/log
- WebAssembly/component-model
- score-spec/spec
- diogonfs/pyinit
- Lukasa/language-restructuredtext
- Azure/azure-cosmos-python
- pdm-project/pdm
- 11ty/11ty-website
- pypa/pipx
- scikit-learn/scikit-learn
- kushaldas/asaman
- oauthlib/oauthlib
- psf/fundable-packaging-improvements
- google/yapf
- conda/conda-build
- gleam-lang/gleam
- vscode-restructuredtext/vscode-restructuredtext
- regebro/supporting-python-3
- golang/go
- psf/webassembly
- absurdia/absurdia-py
- stellar/new-docs
- python/mypy
- sphinx-doc/sphinx
- realpython/python-guide
- GraphQLGuide/book
- microsoftgraph/microsoft-graph-docs-contrib
- livebook-dev/livebook
- lustre-labs/ui
- ericpalakovichcarr/pytest-pythonpath
- Azure/azure-functions-python-library
- stellar-deprecated/docs
- actions-rs/install
- twisted/klein
- chhantyal/py3readiness
- Fyrd/caniuse
- pypa/trove-classifiers
- wntrblm/nox
- aurelia/documentation
- ansible/ansible
- microsoft/PTVS
- nayafia/nayafia
- Quansight-Labs/free-threaded-compatibility
- mozilla-services/konfig
- jupyterlab/jupyterlab
- astral-sh/uv
- pypa/build
- riscv-software-src/riscv-tests
- gleam-lang/website
- pyvideo/data
- syl20bnr/spacemacs
- MicrosoftDocs/azure-docs
- extism/extism
- microsoft/vscode-tools-for-ai
- pablogsal/cpython_leaderboard
- pyvideo/old-pyvideo
- cometkim/rescript-vitest
- zwaldowski/match-label-action
- jupyter/notebook
- python/pythontestdotnet
- devcontainers/images
- PyCQA/pyflakes
- facebook/pyre-check
- conda/conda-docs
- jupyter/jupyter.github.io
- riverscuomo/new-albums
- victor-o-silva/python-links-from-link-header
- microsoftgraph/python-sample-pagination
- gleam-lang/otp
- Enderchief/gleam-tools
- microsoft/debugpy
- ebkalderon/tower-lsp
- okken/pytest-srcpaths
- topazproject/topaz
- Azure/azure-cli
- gitkraken/vscode-gitlens
- stellar/awesome-stellar
- microsoft/vscode-pylint
- cardoe/stderrlog-rs
- MagicStack/MagicPython
- bungcip/better-toml
- python/importlib_metadata
- palantir/python-language-server
- pypi/warehouse
- microsoft/vscode-extension-samples
- bagder/http2-explained
- w3c/ServiceWorker
- dusty-phillips/macabre
- spotify/pedalboard
- psf/black
- pycascades/welcome-wagon-2018
- lorenzofox3/zora
- brettcannon/character-frequency
- VSCodeVim/Vim
- rust-lang/rustfmt
- pyca/pyopenssl
- Homebrew/brew
- clearlydefined/website
- bitbldr/sprocket_docs
- python-poetry/tomlkit
- devcontainers/features
- vega/ipyvega
- casey/just
- microsoft/python-sample-vscode-django-tutorial
- Devid-Ba/Text-adventure
- markshannon/faster-cpython
- rocketreach/rocketreach_python
- pypa/setuptools-scm
- pytest-dev/pytest
- luabud/hello-vscodespaces
- mesonbuild/meson
- jupyter-book/mystmd.org
- briandealwis/ferret
- saschpe/mozilla-plugins
- hynek/build-and-inspect-python-package
- google/grumpy
- microsoft/az-partner-center-cli
- starship/starship
- PyPy
- defusedexpat
- expat
- Mercurial
- vim
I have (co-)authored 32 PEPs (5th most prolific).
(Listed from oldest to newest, although I may have become a co-author post-creation.)
# | Title | Status | Co-authors |
---|---|---|---|
4 | Deprecation of Standard Modules | 🏃 | Martin von Löwis |
2 | Procedure for Adding New Modules | 🏃 | Martijn Faassen |
11 | CPython platform support | 🏃 | Martin von Löwis |
12 | Sample reStructuredText PEP Template | 🏃 | David Goodger, Barry Warsaw |
3100 | Miscellaneous Python 3.0 Plans | ✅ | |
339 | Design of the CPython Compiler | 🤦 | |
348 | Exception Reorganization for Python 3.0 | ❌ | |
352 | Required Superclass for Exceptions | ✅ | Guido van Rossum |
360 | Externally Maintained Packages | ✅ | |
362 | Function Signature Object | ✅ | Jiwon Seo, Yury Selivanov, Larry Hastings |
3108 | Standard Library Reorganization | ✅ | |
3113 | Removal of Tuple Parameter Unpacking | ✅ | |
3122 | Delineation of the main module | ❌ | |
374 | Choosing a distributed VCS for the Python project | ✅ | Stephen J. Turnbull, Alexandre Vassalotti, Barry Warsaw, Dirkjan Ochtman |
401 | BDFL Retirement | ❌ | Barry Warsaw |
3003 | Python Language Moratorium | ✅ | Jesse Noller, Guido van Rossum |
399 | Pure Python/C Accelerator Module Compatibility Requirements | ✅ | |
512 | Migrating from hg.python.org to GitHub | ✅ | |
488 | Elimination of PYO files | ✅ | |
518 | Specifying Minimum Build System Requirements for Python Projects | ✅ | Nathaniel J. Smith, Donald Stufft |
519 | Adding a file system path protocol | ✅ | Koos Zevenhoven |
523 | Adding a frame evaluation API to CPython | ✅ | Dino Viehland |
8001 | Python Governance Voting Process | ✅ | Christian Heimes, Donald Stufft, Eric Snow, Gregory P. Smith, Łukasz Langa, Mariatta, Nathaniel J. Smith, Pablo Galindo Salgado, Raymond Hettinger, Tal Einat, Tim Peters, Zachary Ware |
594 | Removing dead batteries from the standard library | ✅ | Christian Heimes |
621 | Storing project metadata in pyproject.toml | ✅ | Dustin Ingram, Paul Ganssle, Pradyun Gedam, Sébastien Eustace, Thomas Kluyver, Tzu-ping Chung |
650 | Specifying Installer Requirements for Python Projects | 🤦 | Vikram Jayanthi, Dustin Ingram |
641 | Using an underscore in the version portion of Python 3.10 compatibility tags | ❌ | Steve Dower, Barry Warsaw |
665 | A file format to list Python dependencies for reproducibility of an application | ❌ | Pradyun Gedam, Tzu-ping Chung |
685 | Comparison of extra names for optional distribution dependencies | 👍 | |
751 | A file format to record Python dependencies for installation reproducibility | ✍ | |
758 | Allow ``except`` and ``except*`` expressions without parentheses | 👍 | Pablo Galindo |
760 | No More Bare Excepts | 🤦 | Pablo Galindo |
2/8
- Mercury
- Venus
- Earth
- Mars
- Jupiter
- Saturn
- Uranus
- Neptune