[Mailman-Developers] python 3
Barry Warsaw
barry at list.org
Sat Mar 24 00:15:29 CET 2012
On Mar 23, 2012, at 08:19 PM, Andrea Crotti wrote:
>Someone told me that I should poke Barry about Python3 support, so here
>I am ;)
>
>It's clearly something that can be done really soon, but I think it's
>worth to start thinking about it.
Probably you meant s/can/can't/ ... but still, it may not be so dire. It
won't happen for Mailman 3.0 but I think it should definitely be a goal for
Mailman 3.1 (which will *not* take another 4 years :).
I've tried to be very careful in writing Mailman 3 so that *its* code should
be relatively easy to port to Python 3. No doubt there will be gotchas, but I
am definitely keeping that in mind as I go.
>In particular I noticed that lazr.config have been untouched since 2009,
>which makes me think that is less likely that they will be ported to
>Python 3.
>
>Is it a valid assumption or there is a porting plan?
>
>Are there any other blocking factors in general from libraries or other
>issues??
Really, we need to get our dependency stack ported. I'm committed to making
Mailman 3 a Python 3 application as soon as it's possible. Martin von Loewis
was working on porting Storm at Pycon, which obviously is a critical
component, but I don't think he quite finished.
We need restish.io ported, along with its dependency stack, as well as several
of the still-unported Zope libraries, and *their* dependency stacks. By
looking in buildout's eggs directory, you can get a good sense of what is
currently required:
flufl.bounce-2.1-py2.7.egg/
flufl.enum-3.3.1-py2.7.egg/
flufl.i18n-1.1-py2.7.egg/
flufl.lock-2.2-py2.7.egg/
flufl.password-1.2-py2.7.egg/
httplib2-0.7.4-py2.7.egg/
lazr.config-1.1.3-py2.7.egg/
lazr.delegates-1.2.0-py2.7.egg/
lazr.smtptest-1.3-py2.7.egg/
mimeparse-0.1.3-py2.7.egg/
restish-0.12.1-py2.7.egg/
setuptools-0.6c12dev_r88846-py2.7.egg/
six-1.1.0-py2.7.egg/
storm-0.19-py2.7-linux-x86_64.egg/
WebOb-1.2b3-py2.7.egg/
z3c.recipe.scripts-1.0.1-py2.7.egg/
z3c.recipe.tag-0.4.1-py2.7.egg/
zc.buildout-1.5.2-py2.7.egg/
zc.recipe.egg-1.3.2-py2.7.egg/
zc.recipe.testrunner-1.4.0-py2.7.egg/
zope.component-3.12.0-py2.7.egg/
zope.configuration-3.8.0-py2.7.egg/
zope.event-3.5.1-py2.7.egg/
zope.exceptions-3.6.1-py2.7.egg/
zope.i18nmessageid-3.6.1-py2.7-linux-x86_64.egg/
zope.interface-3.8.0-py2.7-linux-x86_64.egg/
zope.schema-4.0.1-py2.7.egg/
zope.testing-3.10.3-py2.7.egg/
zope.testrunner-4.0.4-py2.7.egg/
The flufl packages are of course ported. :)
Not all of that will be needed. For example, I do want to eventually get rid
of zc.buildout, zope.testing, and zope.testrunner, so some of those
dependencies will go away as a result of that.
The best way to help is to work with those upstreams to get official Python 3
support in their libraries. If you're looking for guidance, start with storm,
WebOb, restish, lazr.*, and the unported zope.* libraries (minus .testing and
.testrunner, and possibly .i18nmessageid).
The email6 package availability will probably help us a lot too. Help
R. David Murray on that package, or just pay him money to finish it. :)
Cheers,
-Barry
More information about the Mailman-Developers
mailing list