[Twisted-Python] Twisted Plugins - Implementation Discussion

David david at silveregg.co.jp
Fri Apr 22 01:44:37 MDT 2011


On 04/22/2011 12:13 PM, Mikhail Terekhov wrote:
> On Thu, Apr 21, 2011 at 9:01 PM, David <david at silveregg.co.jp
> <mailto:david at silveregg.co.jp>> wrote:
>
>     On 04/22/2011 06:21 AM, anatoly techtonik wrote:
>      > On Thu, Apr 21, 2011 at 4:48 AM, Kevin Horn<kevin.horn at gmail.com
>     <mailto:kevin.horn at gmail.com>>  wrote:
>      >>
>      >> cluster****.  So he rewrote distutils with an eye on keeping
>     things nice for
>      >> everyone.  Project managers, distro packagers, users installing
>     software,
>      >> etc.  This is distutils2.  In Python 3.3 and up it will be called
>      >> "packaging".  Once people start using it, it will make a lot of
>     the current
>      >> packaging headaches in the Python world go away.
>      >
>      > Are you sure about that? Where is the list of stories it will solve
>      > when people start using it, so I can check that my cases are covered
>      > by distutils2 insurance plan?
>
>     [OT]
>     You can take a look at bento, which is my own response to the distutils
>     issues we have in the scipy community (but I would expect twisted and
>     most big python libraries to have similar issues):
>
>     http://cournape.github.com/Bento/
>
>     It is designed from the ground up with the idea of reliable
>     customization and complex build supports. It can already build numpy and
>     scipy with a near 50 % reduction in LOC compared to our setup.py, and
>     more reliably thanks to using a real build tool in the backend (waf, but
>     you can add support for a different one if you want).
>
> That is nice indeed. But why to invent yet another scripting language for
> info files or good old python is not good enough?

The point is to have a mini DSL which is near static, so that it can 
safely be analysed server-side. *IF* you need more power (like numpy), 
then there is the notion of hook file which are straight python files 
(no restriction, except it has to be under the control of bento).

Note that languages which are arguably more powerful than python, like 
Haskell, use the same thing: Cabal, the "haskell distutils" uses the 
same format. Actually, I shamelessly copied their format for bento.info

> BTW are bento and waf sources included in that 50% reduction?

Waf, no, but bento+bento script is smaller than 
numpy.distutils+setup.py. If you count distutils itself, then I would 
not be surprised that waf+bento+bento script < 
distutils+numpy.distutils+setup.py, but that would need checking. And 
bento/waf have clear boundaries (different project, different 
maintainers, different histories), wheras numpy.distutils/distutils 
definitly does not have that.

cheers,

David




More information about the Twisted-Python mailing list