<div dir="ltr">One more thing: sys.platform != 'win32' is how you write "not windows"</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 30, 2013 at 10:13 AM, Daniel Holth <span dir="ltr"><<a href="mailto:dholth@gmail.com" target="_blank">dholth@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"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Wed, Jan 30, 2013 at 9:58 AM, Jim Fulton <span dir="ltr"><<a href="mailto:jim@zope.com" target="_blank">jim@zope.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>On Wed, Jan 30, 2013 at 9:46 AM, Daniel Holth <<a href="mailto:dholth@gmail.com" target="_blank">dholth@gmail.com</a>> wrote:<br>
> My markerlib implements the PEP. <a href="https://bitbucket.org/dholth/markerlib" target="_blank">https://bitbucket.org/dholth/markerlib</a><br>
><br>
> The parsing is simpler than you might expect. There is no monkey patching.<br>
><br>
> It is a (non-API) part of distribute since about last August.<br>
<br>
</div></div>But we're not implementing the PEP. The PEP is only tangentially<br>
related to this use case.  I'd be happy to be PEP informed, but not if<br>
it makes things awkward.<br>
<br>
It's much easier to say "these are python expressions with the<br>
following variables available" than to say "you can use the<br>
expressions described in PEP 426 plus additional variables", where,<br>
BTW, you can't say ``not windows``, which is probably one of the 2<br>
most common expressions you'd want to use.  Note that many or most<br>
buildout users would have no reason to be familiar with the PEP.<br>
<br>
This isn't a criticism of the PEP. The PEP was developed for<br>
some use case that's different than this one.  Well, I'm guessing<br>
because the PEP doesn't actually state the problems it's addressing.<br></blockquote><div><br></div></div></div><div>The PEP is a little weird, especially the inconsistent _ versus . separators. Markerlib is a little more permissive than the spec.<br>

<br>Variable names can contain . when you are using eval().<br><br></div><div>The ast module is really cool. It can be used to implement powerful limited evaluation with very little code (but only in Python 2.6+).<br><br>

</div><div>Happy building.<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>Daniel Holth<br></div></font></span></div></div></div>
</blockquote></div><br></div>