uvx pattern for two tiers of open work

2025-06-30

There are two tiers of open-source projects for me now.

Historically whenever I felt that tools might be useful to me I naturally assumed they might be useful to other people, so taking the effort of putting it up on pypi made sense. Nowadays though, I am making more and more personal tools. It is all thanks to Claude and It has made me rethink the distribution of my work. Some tools are really meant for "just me" which makes pypi a bad target. Users might expect a proper amount of maintenance when you claim a name there because you're squatting a name that someone might want to use.

Fix for the second trier

If all you're building is a CLI it turns out that a Github repository is really all you need thanks to a nice uvx pattern. For example, this cli that contains my custom blog writing tool can run with this one-liner:

uvx --with git+https://github.com/koaning/draft draft --help

It takes care of all the dependencies and I don't have to worry about package versions of distributions. Feels like the best way for me to share open-source work that doesn't really fall in the "first tier" of open-work category. It is still open, but it suggests much lower expectations and does a lot better job at explaining that I am the primary target audience.

Pun on README

This pattern has also led me to add a small joke on some repos.

pasted_image_1751013425843
You're not really installing it, right?

I would encourage more people to do this. Partially to preserve the namespace on pypi but also because I would love it if more people would share their brainfarts with the world.