Discussion:
PyCon Zope sprint Python 3 progress report / roadmap.
Lennart Regebro
2011-03-15 18:05:24 UTC
Permalink
We are here in Atlanta porting Zope stuff, and I've updated the
roadmap, so I thought I'd post it on zope-dev and python-porting, so
people know things are happening, and that they should have been here,
because PyCon was awesome!

So yesterday we've finished the porting of some low-hanging fruits,
and they are now just hanging around waiting for releases. The
complete roadmap for zope.component porting is here:


Done and released:
==================

setuptools (ie distribute)
zope.interface
zope.event
zope.exceptions
zope.testrunner


Low hanging fruit:
==================

zope.i18nmessageid: Done - not released
setuptools - Done
TODO: Trunk supports Python 3, not yet released.

zope.hookable: Done - not released
setuptools - Done
zope.testing - [test] Done, not released
TODO: Trunk supports Python 3, not yet released.

zope.proxy: Done - not released
setuptools - Done
zope.interface - Done
TODO: Trunk supports Python 3, not yet released.

zope.testing: Done - not released
setuptools - Done
zope.interface - Done
zope.exceptions - Done
TODO: Trunk supports Python 3, not yet released.

zope.testrunnner: Done
setuptools - Done
zope.interface - Done
zope.exceptions - Done
zope.testing - [test] Done, not released
TODO: Some cleanup needed after releasing zope.testing for Python 3.

Mid hanging fruit:
==================

zope.configuration:
setuptools - Done
zope.interface - Done
zope.i18nmessageid - Done, not released
zope.schema

transaction:
zope.interface - Done

zc.lockfile:
setuptools - Done

ZConfig:
None

zdaemon:
None

manuel:
setuptools - Done
zope.testrunner - Done, waiting for zope.testing.
zope.testing - [test] Done, not released

High hanging fruit:
===================
zc.buildout: In Progress
setuptools - Done
zope.testing - [test] Done, not released

zope.component:
setuptools - Done
zope.interface - Done
zope.event - Done
zope.testing - [test] Done, not released
zope.testrunner - [test] Almost done, waiting for zope.testing.
zope.hookable - [hook] [test] Done, not released
zope.i18nmessageid - [zcml] Done, not released
zope.proxy - [security]
zope.location - [security] (Note semi-circular dependency)
zope.security - [security] (Note semi-circular dependency)
zope.configuration - [zcml]
ZODB3 - [persistentregistry] [test]
COMMENT: Loads of tests, mostly doctests means this is a pain to port. Also
there is loads of magic which also may be a pain to port. Lastly, to run all
the tests, we need a lot of extra modules, and some of those require
zope.component. So we need to run only some tests under Python 3, and add
tests once we port the other modules.


zope.component dependencies
===========================

Optional packages for zope.component. Should be ported directly after
zope.component. I don't know how difficult these are to port.

zope.schema:
setuptools - Done
zope.interface - Done
zope.event - Done
zope.testing - [test] Done, not released
z3c.recipe.sphinxdoc - [docs]
COMMENT: Sphinx isn't ported yet. That's only for docs though, so no biggie.
Possibly we'll have to avoid zc.buildout because of that.

zope.location:
setuptools - Done
zope.interface - Done
zope.proxy
zope.schema
zope.component - (Note semi-circular dependency)

zope.security: (Uses a c-module)
setuptools - Done
zope.interface - Done
zope.i18nmessageid - Done, not released
zope.proxy
zope.component - (Note semi-circular dependency)
zope.location
zope.schema
zope.testing - [test] Done, not released

ZODB3:
zope.event - Done
zope.interface - Done
transaction
zc.lockfile
ZConfig
zdaemon
zope.testing - [test] Done, not released
manuel - [test]
COMMENT: Once zope.testing and zc.buildout are done, merging Martins work
might not be too painful.
_______________________________________________
Zope-Dev maillist - Zope-***@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
https://mail.zope.org/mailman/listinfo/zope-announce
https://mail.zope.org/mailman/listinfo/zope )
Barry Warsaw
2011-03-15 20:36:38 UTC
Permalink
Lennart, great to see ztk packages getting ported to Python 3. I'm planning
on starting a serious Mailman 3 porting project once zope.component is
ported.
Post by Lennart Regebro
COMMENT: Loads of tests, mostly doctests means this is a pain to port.
I'm sure you know this, but doctests can be automatically converted via 2to3
by adding the following to your setup.py (assuming you use distribute):

setup(
...
# Auto-conversion to Python 3.
use_2to3=True,
convert_2to3_doctests=find_doctests(),
...
)

find_doctests() here being nothing specially, just an os.walk over your tree
to find the appropriate doctest files.

Cheers,
-Barry

Loading...