rec - Overview

Tom Ritchford

Everything should be made as simple as possible, but no simpler.

ResumΓ©: .pdf .md

My GitHub stats

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.

(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)

Production-ready

             πŸ§Ώ 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/

Experimental

                    πŸŽΆ 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

Beta

                  πŸ₯ž 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

Mothballed

             πŸŒŠ 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/

Personal

                  πŸ˜ 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