[Discuss] Application config files

Steve Litt slitt at troubleshooters.com
Fri Jul 12 14:07:20 EDT 2019


On Fri, 12 Jul 2019 13:40:01 -0400
Dan Ritter <dsr at randomstring.org> wrote:

> Jerry Feldman wrote: 
> > I have an application that I wrote where I am using a .ini style
> > file for config. I chose that as an afterthought but maybe JSON,
> > YAML, or TOML might be better formats. I set it up that way because
> > I thought my target audience might be more familiar with .ini.
> > Right now the code has no capability to save the preferences, but
> > that should be an option, so a more Linuxish config file might be
> > better. I'm personally very comfortable with both YAML and JSON.
> > Opinions? (My code is Python3/GTK3).  
> 
> It usually doesn't matter.
> 
> If it's short, .ini is perfectly fine.
> 
> If it's a potentially long config file, the best thing you can
> do is make it capable of reading a directory worth of files
> to include in the main config, so that replacing a small bit
> without affecting the rest is easy.
> 
> include /opt/application/config.d/*

I agree with Dan. Here's why...

JSON is out from the get-go: It's not meant to be read and written by
humans.

YAML is absolutely wonderful, best thing around, and I use it a lot on
programs used by me, myself and I. But YAML is beyond the expertise of
many people, and the absence of a colon could screw everything up.

Ini files suck but everyone understands them, and as Dan said, if you
want your hierarchy to go deeper than 2 levels, refer to a directory
full of ini files.

If I'd seen this thread 3 years ago, I'd have structured the data for
UMEN2 as a tree of ini files.

http://www.troubleshooters.com/projects/umenu2/


SteveT

Steve Litt 
July 2019 featured book: Troubleshooting Techniques
     of the Successful Technologist
http://www.troubleshooters.com/techniques


More information about the Discuss mailing list