Matt, you are also correct.  Enzo-P ingests a non-libconfig style format, but outputs in both this native format and normal libconfig.  It would also be great to be able to parse the native format, but that would need to be written from scratch.

On Mon, Sep 18, 2017 at 1:43 PM, Matthew Turk <> wrote:
I'm okay with this.

I thought Enzo-P used a non-libconfig style (something about equations outside of quotation marks) but it sounds like that's no longer accurate.

On Sep 18, 2017 3:38 PM, "Britton Smith" <> wrote:
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?


yt-dev mailing list

yt-dev mailing list