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.

Content in all repositories owned by your account will be closed.
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 newly AI enhanced.

We moved to Normandy. My job suddenly vanished. I learned LLM coding.

I'm spending my time on digital audio programming, MIDI, music, lighting control or other things close to my heart, trying to establish a tiny empire.

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 2026/09/16, 20:40:56 by https://github.com/rec/multi)

Production-ready

             🧿 safer 🧿     (🌟 194  👁 2)
      A safer writer for files and streams
26/05/09🟢Update version to v5.4.0
26/07/06🕰Move safer evaluation to recs
                 🗃 tdir 🗃     (🌟 6)
     Create and fill a temporary directory
26/05/09🟢Update version to v1.10.0
26/05/08🕰Make project compatible with uv and poetry
              🖋 editor 🖋     (🌟 11)
          Open the default text editor
26/05/09🟢Update version to v1.8.0
26/05/08🕰Make project compatible with uv and poetry
                  ✂️ psplit ✂️
             Split git patch files
26/05/09🟢Update version to v1.2.0
26/05/08🕰Make project compatible with uv and poetry
              🗜 gitz 🗜     (🌟 37  👁 2)
    Tiny useful git commands, some dangerous
26/05/09🟢Update version to v1.9.0
26/05/08🕰Make project compatible with uv and poetry
                  ➰ rubband
Python bindings for Rubber Band audio pitch shifting and time stretching

26/09/16🕰Add an icon
                   🎨 nc 🎨     (🌟 4)
             Named colors in Python
26/05/09🟢Update version to v1.2.0
26/05/08🕰Make project compatible with uv and poetry
            🗝 dtyper 🗝     (🌟 21  👁 3)
            Fix and improve `typer`
26/06/03🟢Update version to v2.8.0
26/06/03🕰Maintain compatibility with `typer` (fix #14)
              🏫 clsprop 🏫     (🌟 2)
      Just like @property but for classes
26/05/09🟢Update version to v1.5.0
26/05/08🕰Make project compatible with uv and poetry
                🧵 threa 🧵     (🌟 2)
                 Better threads
26/05/09🟢Update version to v1.11.0
26/05/08🕰Make project compatible with uv and poetry
               ⛏ sproc ⛏     (🌟 12)
         Subprocesseses for subhumanses
26/05/09🟢Update version to v2.6.0
26/05/08🕰Make project compatible with uv and poetry
            🍱 zoialib 🍱     (🌟 4  👁 2)
     A patch librarian for the Empress ZOIA
26/05/09🟢Update version to v0.8.0
26/05/08🕰Make project compatible with uv and poetry
                 🌱 xmod 🌱     (🌟 5)
         Turn any object into a module
26/05/09🟢Update version to v1.10.0
26/05/09🕰Make project compatible with uv and poetry (fix #9)
               🛎 impall 🛎     (🌟 8)
            Test-import all modules
26/06/08🟢Update version to v2.0.0
26/06/08🕰Update type annotations to 3.10
               🐜 abbrev 🐜     (🌟 5)
              Expand abbreviations
26/05/09🟢Update version to v1.4.0
26/05/08🕰Make project compatible with uv and poetry
                  🎴 dek 🎴     (🌟 4)
            The decorator-decorator
26/05/09🟢Update version to v1.6.0
26/05/08🕰Make project compatible with uv and poetry

Beta

               🎙 recs 🎙     (🌟 5  👁 2)
             The Universal Recorder
26/05/09🟢Update version to v0.12.0
26/09/16🕰Update pyproject.toml dependencies
                     🛸 ufor 🛸
universal Format: portable definitions for time-based data

26/09/16🕰Add an icon
                     🚂 enge 🚂
 an audio synthesizer engine in Python and Rust

26/09/16🕰Add scoped LFO modulation for synths and samplers
                   🎪 showco 🎪
    Local show control for recs and streamo

26/09/16🕰Add showCo lighting cues with Go, Back, and persistent state
              🎶 tuney 🎶     (🌟 4  👁 2)
              Turn text into music
26/05/09🟢Update version to v0.3.0
26/09/16🕰Update pyproject.toml dependencies
                  🚰 streamo 🚰
          Stream audio to all services

26/09/16🕰Add emoji
                     🧚 lyte 🧚
     Python lighting player for all lights

26/09/16🕰Update pyproject.toml dependencies
                  🥞 pullman 🥞
          Manage ghstack pull requests
26/05/09🟢Update version to v0.12.0
26/05/08🕰Make project compatible with uv and poetry
                     🔧 fixo 🔧
Semi-automatic rule based editing of Python code
26/05/09🟢Update version to v0.3.0
26/05/08🕰Make project compatible with uv and poetry
                  🏺 fil 🏺     (🌟 3)
         Read/write JSON/TOML/Yaml/txt
26/05/09🟢Update version to v1.6.0
26/05/08🕰Make project compatible with uv and poetry
                   🔢 plur 🔢
        Simple universal word pluralizer
26/02/03🟢Update version to v1.1.0
26/05/08🕰Make project compatible with uv and poetry
                 🍇 cfgs 🍇     (🌟 3)
           XDG standard config files
26/02/03🟢Update version to v0.14.0
26/05/08🕰Make project compatible with uv and poetry

Experimental

                🖐️ fing 🖐️     (🌟 6)
A universal representation of fingering systems for winds, reeds, and brass
26/05/09🟢Update version to v0.3.0
26/05/08🕰Make project compatible with uv and poetry
                    🌐 nmr 🌐
           Name all canonical things
26/05/09🟢Update version to v0.11.0
26/05/08🕰Make project compatible with uv and poetry
                 🗣 def_main 🗣
              A decorator for main
26/02/03🟢Update version to v0.12.0
26/05/08🕰Make project compatible with uv and poetry
                 📓 hardback 📓
        Hardcopy backups of digital data
26/02/03🟢Update version to v0.10.0
26/05/08🕰Make project compatible with uv and poetry
                   📦 backer 📦
           Continuously back up files
26/02/03🟢Update version to v0.8.0
26/05/08🕰Make project compatible with uv and poetry

Mothballed

             🌊 wavemap 🌊     (🌟 10  👁 2)
       Memory map WAVE or raw audio files
26/05/09🟢Update version to v2.2.0
26/05/08🕰Make project compatible with uv and poetry
         🛍 loady 🛍     (🌟 6  👁 2)
       Load Python code and data from git
26/02/03🟢Update version to v1.9.0
26/05/08🕰Make project compatible with uv and poetry
               🏃 runs 🏃     (🌟 3  👁 2)
      Run a block of text as a subprocess
26/02/03🟢Update version to v1.3.0
26/05/08🕰Make project compatible with uv and poetry

Personal

                  🐘 fortune 🐘
     A Mastodon bot for /usr/games/fortune
26/05/09🟢Update version to v0.3.0
26/05/08🕰Make project compatible with uv and poetry
                    📚 multi 📚
          Manage all my other projects
23/02/02🟢Update to version v0.1.0
26/09/02🕰Modify multi/commands/bump_version.py, multi/commands/resume.py, multi/commands/update.py, pyproject.toml, uv.lock
    ⬜🟩🟦🟥 blocks 🟥🟦🟩⬜
              Solve a block puzzle
26/02/03🟢Update version to v1.1.0
26/05/08🕰Make project compatible with uv and poetry
                     ❓ test
         Tiny bits of experimental code

26/08/22🕰Modify python/jsonl.py
                 ⚫ dotfiles
                  My dotfiles

26/09/16🕰fixup! Add project-summary.md

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