[Twisted-Python] Twisted Plugins - Implementation Discussion

Stephen Thorne stephen at thorne.id.au
Thu Apr 7 21:21:07 EDT 2011


On 2011-04-07, Glyph Lefkowitz wrote:
> > I am +1 on this idea. I like rdf. My question is now: is there an rdf
> > parser lib that is available on python2.4+ which can either be gently
> > embedded within twisted, or used as a dependency?
> 
> You're welcome to try and do this; I'm not particularly interested in
> blocking it or holding it up, but I don't think that changing the
> input format actually solves any real problems.  I guess I will hold
> it up if you can't convince me that I'm wrong about that, and
> demonstrate an actual problem that it solves :-).  You still have to
> define all the same classes in order to get a plugin, unless we change
> some of that too - which has nothing to do with the metadata format at
> all.
> 
> I think the way to avoid caching issues in general is to generate the
> packaging metadata from the source earlier in advance (i.e. at
> development time, and check it in with the source code, like you would
> do with a Cython-generated C file or something), not to just mess
> around with it in a text editor.
> 
> I think that there is a benefit to sticking with a format that people
> very much dislike editing.  Having separately manually-edited metadata
> introduces an opportunity for the metadata to diverge from the reality
> of the code.  Making this easy to edit manually means making it more
> likely that people will think that they need to introduce some manual
> tweaks.  If it's a huge pain to actually generate the metadata without
> running a tool that inspects the code, it's less likely that someone
> will feel the need to get clever.

I was just thinking about this.

It would be very easy to write a single twisted/plugins/rdf_plugins.py
file that scans for non-python metadata defined plugins and creates
them.

That way twisted doesn't need to depend on an RDF lib, and this can
be a 'third party' outside-of-twisted package that if you want to use,
you just specify it as a dependancy along with the rest of the things
that your project depends on.

... I like this idea for a variety of reasons.

-- 
Regards,
Stephen Thorne
Development Engineer
Netbox Blue



More information about the Twisted-Python mailing list