[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