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 |





