[Twisted-Python] Twisted Plugins - Implementation Discussion

Glyph Lefkowitz glyph at twistedmatrix.com
Thu Apr 7 20:09:39 EDT 2011


On Apr 7, 2011, at 7:54 PM, Stephen Thorne wrote:

> On 2011-04-07, Stefano Debenedetti wrote:
>> On Apr 7, 2011, at 1:08 AM, Tim Allen wrote:
>>> If you need a non-Turing-complete config language and rule out .ini and
>>> XML, I'm not sure what's left. JSON, perhaps.
>> 
>> I bet a lot of people have a deja-vu feeling about a config file
>> syntax debate so I'll propose an alternative approach: RDF.
> 
> 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?
> 
> We don't really need SparQL or anything complicated, just the ability
> to resolve some simple triples.
> 
> I do not like angle brackets, but I have always had a fond affection for
> n3.

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.

-glyph




More information about the Twisted-Python mailing list