Hi all,

I am working on a new yt frontend for the Enzo-P code.  Enzo-P outputs runtime parameters in a libconfig format and I am looking for a reliable package to read this.

yt has a libconfig-style reader in yt/utilities/pyparselibconfig, but it does not seem to parse Enzo-P parameter files correctly.  I have tried a few other python libconfig parsers that do parse them correctly, so I believe the problem is with the yt module.  For what it's worth, the only use of yt's libconfig parser is in the Enzo frontend for a certain style of Enzo-3.0 data, but it doesn't look like this is being tested, nor do we host any sample data of this format.

I have a PR open for the Enzo-P frontend here that makes use of an external package, called libconf.  I've implemented this as an on-demand import, so it will only be required if you're actually loading Enzo-P data.

The pros for libconf are that it's pure python, pip installable, has a permissive MIT license, and works in both python 2 and 3.  The con is of course that this adds a new dependency.  Personally, I would prefer not having to maintain our own module to do this, but I'm open to other opinions.

What are people's thoughts on adding this dependency?