<div dir="ltr">I looked over libconf and it seems like a good library that I don't mind having as an optional dependency for yt. In particular, it's:<div><br></div><div>* Reasonably up-to-date and maintained (last release early this year)</div><div>* Pure python, supporting python 2 and 3, with a universal wheel available on pypi</div><div>* Permissively licensed.<br><div><br></div><div>While it would be nice if we could do this without adding a new dependency, if <span style="font-size:12.8px">pyparselibconfig isn't sufficient, and Britton doesn't want to work on fixing it, I think the suggested approach is fine (unless someone steps up to fix </span><span style="font-size:12.8px">pyparselibconfig).</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">If we do decide to go this route, I'd prefer it if we remove </span><span style="font-size:12.8px">pyparselibconfig and drop support in the Enzo frontend for libconfig parameter files in enzo-3.0. In the real world, I don't think many (any?) datasets were produced using that format, since the PR adding support for it was never merged, and I'd prefer we don't have known-buggy code in the codebase to trip up any possible future users.</span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 18, 2017 at 3:38 PM, Britton Smith <span dir="ltr"><<a href="mailto:brittonsmith@gmail.com" target="_blank">brittonsmith@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>I have a PR open for the Enzo-P frontend <a href="https://github.com/yt-project/yt/pull/1490" target="_blank">here</a> that makes use of an external package, called <a href="https://pypi.python.org/pypi/libconf" target="_blank">libconf</a>.  I've implemented this as an on-demand import, so it will only be required if you're actually loading Enzo-P data.</div><div><br></div><div>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.</div><div><br></div><div>What are people's thoughts on adding this dependency?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Britton</div></font></span></div>
<br>______________________________<wbr>_________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org">yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/<wbr>listinfo.cgi/yt-dev-spacepope.<wbr>org</a><br>
<br></blockquote></div><br></div>