Skip to content
View rec's full-sized avatar
πŸ₯
coding
πŸ₯
coding

Organizations

@pi3d

Block or report rec

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rec/README.md

Tom Ritchford

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

ResumΓ©: .pdf .md

My GitHub stats

I am retired! (unless...)

We moved to Normandy. My job suddenly vanished. AI bores me. I took early retirement! Life is good.

So I'm spending my time on music and digital audio programm. I'm still open to work in digital audio, MIDI, music, lighting control or other things I find personally entertaining.

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

Pinned Loading

  1. tfile tfile Public

    πŸ“ tiny C++11 file utilities πŸ“

    C++ 24 4

  2. swirly swirly Public

    Tom Swirly's Javascript libraries for Max.

    Max 48 5

  3. echomesh echomesh Public

    An array of noisy, reactive little computers.

    C++ 37 21