[Twisted-Python] Progress report on splitting packages
exarkun at divmod.com
exarkun at divmod.com
Tue Apr 20 11:09:36 MDT 2004
On Tue, 20 Apr 2004 11:53:29 -0400, Itamar Shtull-Trauring <itamar at itamarst.org> wrote:
>Three suggestions so far:
>
> 1. Separate namespaces for each project.
>
> twisted.internet
> conch
Advantages:
Easy on developers
No distutils tricks required
Disadvantages:
Litters the top-level namespace
Less uniquely named packages must be renamed
>
> 2. Keep all projects and core under twisted.
>
> twisted.internet
> twisted.conch
>
Advantages:
Easy on users.
Keeps the top-level namespace clean.
Keeps Twisted projects conceptually tied together.
Disadvantages:
Distutils tricks required
Missing projects confuse users ("importing twisted.conch failed? But I have Twisted installed :(")
> 3. Separate namespace for projects, e.g. 't' or 'tmlabs' (Zope3 was
> considering using 'z', though it like it won't happen in the end -
> http://mail.zope.org/pipermail/zope3-dev/2004-April/010469.html)
>
> twisted.internet
> t.conch or tmlabs.conch
>
Advantages:
Keeps the top-level namespace clean.
Keeps Twisted projects conceptually tied together.
Disadvantages:
May require distutils tricks.
Missing projects confuse users, but probably less than in #2
Amendments to the above advantage/disadvantage lists welcome.
I mentioned "distutils tricks" a couple times. So far I have heard both that distutils can and cannot do this. I suspect that it can, but I would like to hear details on how this would work. In particular, I would like to know whether "twisted.foo" would exist before the "foo" project was installed, and if it would, both what it would consist of and how it would be treated when twisted core is being upgraded after the "foo" project has been installed (can it cleanly avoid overwriting things?).
I am not sure which of these I support yet, but I think I am leaning towards #3.
Jp
More information about the Twisted-Python
mailing list