I like Ansible, but I’m tired of writing YAML when what I want to write is Python.

progfiguration is an experimental system management package where you just write Python. It’s so nice to use, I love working with it so much. Just like psyopsOS, it’s easy for one person to fit it in their head and understand the whole thing.


  • Configure systems by just writing Python code
  • Extremely fast
  • As few dependencies as possible
  • Operating system independent (not the case currently)
  • Easy for one person to understand completely
  • Nodes can be configured without a centralized server, or even (if the configuration is written to do so) without network access at all


  • It’s just a Python package that you build the normal Python package way. It can be installed in a venv.
    • Because the Alpine Package Keeper can build Python packages very fast, that means it can also be an APK package. I use this to install it to the livecd filesystem in psyopsOS
    • It’s designed to work with zipapp, which means that you can just copy the result and have Python run it directly, just like a standalone script. (What a useful part of the standard library!) This is even faster than APK and much faster than building a pip package (which is also supported).
    • It has almost no dependencies. Currently, it just requires PyYAML, pytz, and requests.
  • It can build itself as a zipapp, copy itself to a remote server, and run itself in a single command: progfiguration deploy -n NODE apply
  • It keeps track of age keys for each node, which enables keeping encrypted secrets in the git repo.
    • Nodes can only decrypt their own secrets