[Twisted-Python] Twisted Plugins - Implementation Discussion

Glyph Lefkowitz glyph at twistedmatrix.com
Tue Apr 19 12:06:38 MDT 2011


On Apr 19, 2011, at 12:13 PM, exarkun at twistedmatrix.com wrote:

> On 02:27 pm, marcin.kasperski at mekk.waw.pl wrote:
>>> Part of the discussion was about how to rewrite this in such a way 
>>> that
>>> no python code needs to be run in order to discover all the
>>> tapname+description combinations that are available to twistd, this is
>>> because of a perceived performance and sanity deficit in using 
>>> 'twistd'.
>> 
>> Have you considered using setuptools entry_points? They are de facto
>> standard and work fairly well for tools like paster or sqlalchemy...
> 
> I don't think setuptools entry_points are expressive enough to be used 
> here.
> However, regardless, due to problems with setuptools, I don't think 
> Twisted should gain a non-optional dependency on it (as it would be for 
> something as core as twistd plugins).

Strongly agreed on both counts.  For a long time I wished that we could be more 'standard' in this regard, but the more I learned about how entrypoints actually work, the less I like them.

> If distribute makes it into the 
> standard library (circa Python 3.3) then it might be reasonable to 
> consider depending on it, if it actually manages to fix the issues it 
> initially inherited from setuptools.

I don't believe 'distribute' is ever making it into the standard library.  The thing going into python 3.3 is 'packaging', which, obviously, is a copy (hopefully unmodified) of 'distutils2', which has nothing in common with 'distribute' except for its author.

'distribute' is a fork of setuptools that is actively maintained.  'distutils2' is a replacement for distutils (as I understand it, a rewrite) that does a bunch of things differently.

More info here: <https://bitbucket.org/tarek/distutils2/wiki/Home>.





More information about the Twisted-Python mailing list