On Complexity and Antenna’s Future

Cybertailor has added me to Gemcall’s PyPI project yesterday, which means I will publish Gemcall 1.0.0 on PyPI shortly, allowing me to add it as a dependency to Antenna instead of just including the file in the repo.

To achieve this, I have to decide on how to handle virtual environments, dependencies, and packaging. Currently, I use `venv` and `setuptools` for both, Gemcall and Antenna, but maybe tools like `uv` are the way to go to be able to bootstrap everything in one go.

The goal is to keep it simple enough for others to install easily, while not being limited to certain platforms or installation options without automatic updates. To have a system-wide tool chain, which will manage all app-local environments. Unfortunately, some newer default Python tooling relies on user installations, which doesn’t go well with running daemons by users without home directories and the ability to log in.

I’ve already managed to increase the complexity of Antenna a lot by normalizing the database and adding type hinting. While this found and avoided a couple of potential bugs and will in the future, it created much more and noisier code. A complicated, but automated environment might help, or might make it harder. CGI path complexity and potential security risks have to be taken into account as well.

If I were to drop CGI functionality and daemonize Antenna, it would be easier to install and run, because it could be installed via PyPI without having to worry about CGI directories, but it would exclude pubnix and subdirectory installations. But given that Antenna is a service for others and not a supercharged feed reader, apps like comitium or CAPCOM would be better suited for pubnixes, while capsules running on VPSs having their own registered domains are better suited for hosting an Antenna instance on a domain or subdomain.

I think I will take a break for a day or two before making a decision, because daemonizing goes well with `uv`.

There also might be more ways to make Antenna more pythonic. If you know some and like to see them in Antenna, please let me know.

Pythonic All the Things!

And, yeah, unit tests will come, which, again, need tooling support.

Proxied content from gemini://michaelnordmeyer.com/transmissions/2026-05-08-on-complexity-and-antennas-future.gmi (external content)

Gemini request details:

Original URL
gemini://michaelnordmeyer.com/transmissions/2026-05-08-on-complexity-and-antennas-future.gmi
Status code
Success
Meta
text/gemini; lang=en-US
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.