Designing Config Files: The Conflicting Needs of Programmers and Users
2024-07-10 , Terrace 2A

When your programs are configuration driven and used by PM/PO/Scientists etc you have to think slightly differently about how configuration files are used in your projects. For example, users may want to change/create configs on the fly and they may want to see all settings in one file without having to go through layers of indirection and library “configs” to see what their experiment/program will do.

Rather than discussing config file formats (I’ll assume toml but it’s applicable for other formats), this talk will focus more on my ideas/tips on: how to structure config files, how to allow non technical people to contribute to config files, how to minimise potentially explosive number of config files, how to expose more control in config files, tools for testing these configs and checking if values are actually used, hints for good practices to make debugging problems easier.


Expected audience expertise:

Beginner

See also: Presentation (1.6 MB)

Hello! I'm Steven.

I'm currently a software engineer at Oxford Nanopore doing cool DNA things 🧬 I've worked in and around Python for 10 years, including teaching it! I've been to a few EuroPython's now (but this is my first time speaking at a conference 🫣)

I have a bizarre list of hobbies: Aerial silks, (flying) trapeze, ice skating, pottery, knitting/crochet, climbing, ...