Everything should be made as simple as possible, but no simpler.
This is a dashboard of my active Python open-source projects on Github, mostly small- to medium-sized libraries that try to do one useful thing as clearly and thoroughly as possible.
(No AI was used in the writing or maintenance of any of these libraries.)
🌟 means "Stars"
👁 means "Subscribers"
🟢 means "Release version"
🕰 means "Most recent non-version commit"
(Last update 2026/02/03, 17:25:01 by https://github.com/rec/multi)
🧿 safer 🧿 (🌟 176 👁 2)
A safer writer for files and streams 26/02/03🟢Update version to v5.3.0
26/02/03🕰Many changes from the new toolchain |
🗃 tdir 🗃 (🌟 4)
Create and fill a temporary directory 26/02/03🟢Update version to v1.9.0
26/02/03🕰Accept suggestions from new toolchain |
🖋 editor 🖋 (🌟 10)
Open the default text editor 26/02/03🟢Update version to v1.7.0
26/02/03🕰Accept suggestions from new toolchain |
✂️ psplit ✂️
Split git patch files 26/02/03🟢Update version to v1.1.0
26/02/03🕰Accept suggestions from new toolchain |
🗜 gitz 🗜 (🌟 37 👁 2)
Tiny useful git commands, some dangerous 26/02/03🟢Update version to v1.8.0
26/02/03🕰Accept suggestions from new toolchain |
🎨 nc 🎨 (🌟 4)
Named colors in Python 26/02/03🟢Update version to v1.1.0
26/02/03🕰Accept suggestions from new toolchain |
🗝 dtyper 🗝 (🌟 20 👁 3)
Fix and improve `typer` 26/02/03🟢Update version to v2.6.0
26/02/03🕰Accept suggestions from new toolchain |
🏫 clsprop 🏫 (🌟 2)
Just like @property but for classes 26/02/03🟢Update version to v1.4.0
26/02/02🕰Fix tools.classifiers section in pyproject.toml |
🧵 threa 🧵 (🌟 2)
Better threads 26/02/03🟢Update version to v1.10.0
26/02/02🕰Fix tools.classifiers section in pyproject.toml |
⛏ sproc ⛏ (🌟 12)
Subprocesseses for subhumanses 26/02/03🟢Update version to v2.5.0
26/02/03🕰Accept suggestions from new toolchain |
🍱 zoialib 🍱 (🌟 4 👁 2)
A patch librarian for the Empress ZOIA 26/02/03🟢Update version to v0.7.0
26/02/03🕰Remove unused variable |
🌱 xmod 🌱 (🌟 5)
Turn any object into a module 26/02/03🟢Update version to v1.9.0
26/02/03🕰Accept suggestions from new toolchain |
🛎 impall 🛎 (🌟 8)
Test-import all modules 26/02/03🟢Update version to v1.6.0
26/02/03🕰Accept suggestions from new toolchain |
🗂 datacls 🗂 (🌟 3)
Take the edge off `dataclass` 26/02/03🟢Update version to v4.9.0
26/02/02🕰Fix tools.classifiers section in pyproject.toml |
🐜 abbrev 🐜 (🌟 4)
Expand abbreviations 26/02/03🟢Update version to v1.3.0
26/02/03🕰Accept suggestions from new toolchain |
🎴 dek 🎴 (🌟 4)
The decorator-decorator 26/02/03🟢Update version to v1.5.0
26/02/03🕰Move test_dek.py to test/ |
🎶 tuney 🎶
Turn text into music (#noAI) 26/02/03🟢Update version to v0.2.0
26/02/02🕰Return to using single quotes |
🌐 nmr 🌐
Name all canonical things 26/02/03🟢Update version to v0.10.0
26/02/03🕰Accept suggestions from new toolchain |
🎙 recs 🎙 (🌟 3 👁 2)
The Universal Recorder 26/02/03🟢Update version to v0.11.0
26/02/03🕰Update to version 0.10.0 |
🔉 vl8 🔉 (🌟 3)
Perturbed audio 26/02/03🟢Update version to v0.3.0
26/02/03🕰Accept suggestions from new toolchain |
💡 litoid 💡
Sequence DMX lighting 26/02/03🟢Update version to v0.2.0
26/02/03🕰Accept suggestions from new toolchain |
🗣 def_main 🗣
A decorator for main 26/02/03🟢Update version to v0.12.0
26/02/03🕰Remove .envrc |
📓 hardback 📓
Hardcopy backups of digital data 26/02/03🟢Update version to v0.10.0
26/02/03🕰Accept suggestions from new toolchain |
📦 backer 📦
Continuously back up files 26/02/03🟢Update version to v0.8.0
26/02/03🕰Accept suggestions from new toolchain |
🥞 pullman 🥞
Manage ghstack pull requests 26/02/03🟢Update version to v0.11.0
26/02/03🕰Accept suggestions from new toolchain |
🔧 fixo 🔧
Semi-automatic rule based editing of Python code 26/02/03🟢Update version to v0.2.0
26/02/03🕰Accept suggestions from new toolchain |
🏺 fil 🏺 (🌟 3)
Read/write JSON/TOML/Yaml/txt 26/02/03🟢Update version to v1.5.0
26/02/03🕰Accept suggestions from new toolchain |
🔢 plur 🔢
Simple universal word pluralizer 26/02/03🟢Update version to v1.1.0
26/02/03🕰Move test_plur.py to test/ |
🍇 cfgs 🍇 (🌟 3)
XDG standard config files 26/02/03🟢Update version to v0.14.0
26/02/03🕰Accept suggestions from new toolchain |
🌊 wavemap 🌊 (🌟 10 👁 2)
Memory map WAVE or raw audio files 26/02/03🟢Update version to v2.1.0
26/02/03🕰Accept suggestions from new toolchain |
🛍 loady 🛍 (🌟 6 👁 2)
Load Python code and data from git 26/02/03🟢Update version to v1.9.0
26/02/03🕰Accept suggestions from new toolchain |
🏃 runs 🏃 (🌟 3 👁 2)
Run a block of text as a subprocess 26/02/03🟢Update version to v1.3.0
26/02/03🕰Move test_runs.py to test/ |
🐘 fortune 🐘
A Mastodon bot for /usr/games/fortune 26/02/03🟢Update version to v0.2.0
26/02/03🕰Accept suggestions from new toolchain |
📚 multi 📚
Manage all my other projects 23/02/02🟢Update to version v0.1.0
26/02/03🕰Release all projects (fix #35) |
⬜🟩🟦🟥 blocks 🟥🟦🟩⬜
Solve a block puzzle 26/02/03🟢Update version to v1.1.0
26/02/03🕰Accept suggestions from new toolchain |
❓ test ❓
Tiny bits of experimental code 26/02/02🕰Add python/fix_error_messages.py |
⚫ dotfiles ⚫
My dotfiles 26/01/29🕰Many changes |






