Edgewall Software

Opened 9 years ago

Last modified 19 months ago

#10083 closed enhancement

Make Trac work with Python 3 — at Version 7

Reported by: Remy Blank Owned by:
Priority: normal Milestone:
Component: general Version:
Severity: normal Keywords: python3
Cc: leho@…, Thijs Triemstra, gabriele.svelto@…, Ryan J Ollos, py.hieroglyph@…, Jun Omae, Arthur.Solomon@…, t17-0by@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Remy Blank)

With Genshi having been ported to Python 3, we could start thinking about how we can achieve the same with Trac. As a first step, we should check if our dependencies have a Python 3 port:

Database backends

SQLite builtin sqlite3, PySqlite?
PostgreSQL
MySQL

Version control bindings

Subversion unlikely (1)
Mercurial unlikely (2)

Web frontends

Apache mod_wsgi

Others

setuptools (distribute) works
Genshi py3k branch
Babel #bl209
pytz
docutils works
pygments works

Notes

  • svn: not much activity on the bindings; rather go the svn.exe way
  • hg: after 2 SoC projects already, the efforts seem to have stalled

Once we have at least one backend, VC binding and frontend ready, the next step would be playing with 2to3 and see what comes out.

Let's set the milestone tentatively to 0.14.

Change History (7)

comment:1 by Eli Carter, 9 years ago

There is also a 3to2 tool, and rumors here at PyCon that 3to2 will (soonish?) have the ability to take Python 3 code and output versions that will work for 2.7, 2.6, 2.5, and maybe even 2.4.

comment:2 by lkraav <leho@…>, 9 years ago

Cc: leho@… added

in reply to:  1 comment:3 by Christian Boos, 9 years ago

Replying to ecarter:

There is also a 3to2 tool, and rumors here at PyCon that 3to2 will (soonish?) have the ability to take Python 3 code and output versions that will work for 2.7, 2.6, 2.5, and maybe even 2.4.

For projects that need to be migrating away from Python 3? ;-)

comment:4 by Thijs Triemstra, 9 years ago

Cc: Thijs Triemstra added

comment:5 by Christian Boos, 9 years ago

Description: modified (diff)

Create a table for the packages and document some already py3k compatible packages or in-progress status.

comment:6 by Christian Boos, 9 years ago

Description: modified (diff)

Correction: Simon Cross' py3k branch not yet on trunk apparently.

comment:7 by Remy Blank, 9 years ago

Description: modified (diff)

Added some data according to what's installed on my machine (Gentoo Linux).

Note: See TracTickets for help on using tickets.