On Sun, Sep 30, 2012 at 5:07 PM, Donald Stufft
On Sunday, September 30, 2012 at 8:59 AM, David Cournapeau wrote:
Note that all this work has already been done in Bento.
I understand the appeal of using an existing format like yaml, but it is not clear to me how one can handle conditional with it, and I think you want to handle conditionals in there (for platform-dependent dependencies).
Bento also has a command to convert setup.py-based projects to bento internal format, adapting it to use another format should not be too difficult.
David
Instead of conditionals the existing ideas use an environment marker, so instead of (pseudo format, I just woke up):
if python_version < 2.6: require: simplejson
You would do: require: simplejson; python_version < 2.6
Right, in that case, it would work, but in my experience, it is important to be able to apply conditionals to more than just requirements (packages definition and so on). I am not suggesting something very complicated (we don't want to re-create a language), but more something like cabal (see conditionals in http://www.haskell.org/cabal/users-guide/developing-packages.html#package-de...), or even RPM (http://www.rpm.org/max-rpm/s1-rpm-inside-conditionals.html). This has the advantage of using something that has already been battle-tested for several years. But again, syntax is a really minor point, and what matters the most are the features. I was not able to express what I wanted with yaml for bento, but would be more than happy to scrap the custom format if someone manages to. David