Tom Ritchford
Everything should be made as simple as possible, but no simpler.
My Python open source projects
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.
🌟 means "Stars"
👁 means "Subscribers"
🟢 means "Release version"
🕰 means "Most recent non-version commit"
(Last update 2023/12/04, 17:44:42 by https://github.com/rec/multi)
Production-ready
�?�?�?�?�?�?�?�?�?�?�?�?�?🧿 safer 🧿 �? �? (🌟 173 �?👁 3)
�?�?�?�?�?�?A safer writer for files and streams 23/10/05🟢Update version to v4.10.1
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🗃 tdir 🗃 �? �? (👁 2)
�?�?�?�?�?Create and fill a temporary directory 23/10/05🟢Update version to v1.7.1
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🎨 nc 🎨 �? �? (🌟 4 �?👁 3)
�?�?�?�?�?�?�?�?�?�?�?�?�?Named colors in Python 23/03/08🟢Update to version v1.0.1
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?🗝 dtyper 🗝 �? �? (🌟 16 �?👁 2)
�?�?�?�?�?�?�?�?�?�?�?�?Fix and improve `typer` 23/10/05🟢Update version to v2.4.0
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🏫 clsprop 🏫
�?�?�?�?�?�?Just like @property but for classes 23/10/05🟢Update version to v1.2.0
23/10/05🕰Update minimum Python version to 3.8 |
�?�?�?�?�?�?�?�?�?�?�?�?�?🖋 editor 🖋 �? �? (🌟 9 �?👁 2)
�?�?�?�?�?�?�?�?�?�?Open the default text editor 23/10/05🟢Update version to v1.4.0
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🧵 threa 🧵 �? �? (🌟 2)
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?Better threads 23/11/27🟢Update version to v1.2.2
23/11/27🕰Fix an issue with thread.py |
�?�?�?�?�?�?�?�?�?�?�?�?�?⛏ sproc ⛏ �? �? (🌟 10 �?👁 2)
�?�?�?�?�?�?�?�?�?Subprocesseses for subhumanses 23/10/05🟢Update version to v2.3.0
23/10/18🕰Move .coveragerc into pyproject.toml |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🏺 fil 🏺 �? �? (🌟 3)
�?�?�?�?�?�?�?�?�?Read/write JSON/TOML/Yaml/txt 23/07/09🟢Update version to v1.3.0
23/10/18🕰Add coverage dependency |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🌱 xmod 🌱 �? �? (🌟 4 �?👁 2)
�?�?�?�?�?�?�?�?�?Turn any object into a module 23/10/05🟢Update version to v1.6.0
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?🛎 impall 🛎 �? �? (🌟 7 �?👁 2)
�?�?�?�?�?�?�?�?�?�?�?�?Test-import all modules 23/12/04🟢Update version to v1.5.0
23/12/04🕰Remove impall.py installation |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?🗜 gitz 🗜 �? �? (🌟 30 �?👁 3)
�?�?�?�?Tiny useful git commands, some dangerous 23/10/17🟢Update version to v1.6.2
23/10/18🕰Add coverage dependency |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?🗂 datacls 🗂 �? �? (🌟 2)
�?�?�?�?�?�?�?�?�?Take the edge off `dataclass` 23/10/05🟢Update version to v4.7.0
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🐜 abbrev 🐜 �? �? (🌟 3)
�?�?�?�?�?�?�?�?�?�?�?�?�?�?Expand abbreviations 23/10/05🟢Update version to v1.2.0
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🎴 dek 🎴 �? �? (🌟 3 �?👁 2)
�?�?�?�?�?�?�?�?�?�?�?�?The decorator-decorator 23/10/05🟢Update version to v1.3.0
23/10/18🕰Remove empty line in pyproject coverage section |
Beta
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🏺 fil 🏺 �? �? (🌟 3)
�?�?�?�?�?�?�?�?�?Read/write JSON/TOML/Yaml/txt 23/07/09🟢Update version to v1.3.0
23/10/18🕰Add coverage dependency |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🔢 plur 🔢
�?�?�?�?�?�?�?�?Simple universal word pluralizer 23/10/05🟢Update version to v0.4.0
23/10/18🕰Add coverage dependency |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🍇 cfgs 🍇 �? �? (🌟 2 �?👁 2)
�?�?�?�?�?�?�?�?�?�?�?XDG standard config files 23/10/05🟢Update version to v0.13.0
23/10/18🕰Move .coveragerc into pyproject.toml |
Experimental
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🎙 recs 🎙 �? �? (👁 2)
�?�?�?�?�?�?�?�?�?�?recs: the Universal Recorder 23/11/20🟢Update version to v0.2.0
23/12/04🕰Modify recs/cfg/app.py, recs/cfg/cfg.py |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🔉 vl8 🔉 �? �? (🌟 3 �?👁 2)
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?Perturbed audio 20/11/25🟢Version v0.2.0
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?💡 litoid 💡
�?�?�?�?�?�?�?�?�?�?�?�?�?Sequence DMX lighting 23/10/18🕰Add coverage dependency |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🌐 nmr 🌐
�?�?�?�?�?�?�?�?�?�?�?Name all canonical things 23/02/02🟢Update to version v0.9.1
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🗣 def_main 🗣
�?�?�?�?�?�?�?�?�?�?�?�?�?�?A decorator for main 23/02/02🟢Update to version v0.11.1
23/02/16🕰Update mkdocs documentation |
�?�?�?�?�?�?�?�?�?�?�?�?�?📓 hardback 📓 �? �? (👁 2)
�?�?�?�?�?�?�?�?Hardcopy backups of digital data 19/06/08🟢New version v0.9.0
23/10/18🕰Move .coveragerc into pyproject.toml |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?📦 backer 📦 �? �? (👁 2)
�?�?�?�?�?�?�?�?�?�?�?Continuously back up files 23/02/02🟢Update to version v0.7.2
23/10/18🕰Move .coveragerc into pyproject.toml |
Personal
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🐘 fortune 🐘
�?�?�?�?�?A Mastodon bot for /usr/games/fortune 23/04/24🕰Change description of project in pyproject.toml |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?📚 multi 📚 �? �? (👁 2)
�?�?�?�?�?�?�?�?�?�?Manage all my other projects 23/02/02🟢Update to version v0.1.0
23/10/18🕰Move projects' .coveragerc into pyproject.toml |
⬜🟩🟦🟥 blocks 🟥🟦🟩⬜ �? �? (👁 2)
�?�?�?�?�?�?�?�?�?�?�?�?�?�?Solve a block puzzle 23/02/02🟢Update to version v1.0.1
23/02/07🕰Added FUNDING.yml |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?❓ test ❓ �? �? (👁 2)
�?�?�?�?�?�?�?�?�?Tiny bits of experimental code 23/10/03🕰Several changes |
�?�?�?�?�?�?�?�?�?�?�?�?�?⚫ dotfiles ⚫ �? �? (👁 2)
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?My dotfiles 23/10/18🕰Remove empty line in pyproject coverage section |
Mothballed
�?�?�?�?�?�?�?�?�?�?�?�?�?�?🌊 wavemap 🌊 �? �? (🌟 5 �?👁 4)
�?�?�?�?�?�?�?Memory map WAVE or raw audio files 22/05/26🟢Version v2.0.1
23/10/18🕰Remove empty line in pyproject coverage section |
�?�?�?�?�?�?�?�?�?🛍 loady 🛍 �? �? (🌟 6 �?👁 3)
�?�?�?�?�?�?�?Load Python code and data from git 23/02/13🕰Remove loady/VERSION |
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?🏃 runs 🏃 �? �? (🌟 2 �?👁 3)
�?�?�?�?�?�?Run a block of text as a subprocess 20/11/17🟢Version v1.1.0
23/10/18🕰Remove empty line in pyproject coverage section |







