Hi,
I've been hired by the CS departement of the Université Catholique de Louvain (UCL, Belgium) to port web.py to Python 3. We're using the framework in some of our internal tools and we do need a Py3 upgrade for them.
We saw that Anand began the migration 3 years ago and decided to pursue his work (making the codebase compatible with Py2 and Py3, which seems to me the best option, btw Django manages it successfully). I integrated the commits he already wrote back then, ported all the unittests to Py3 and now I'm busy making them pass in both versions of Python.
The ORM seems to be OK (I'm kinda hoping the tests' coverage is wide enough), but it originally supports some DB backends that are either no longer maintained, or not ported to Py3 :
- psycopg1 : evolved to psycopg2, I'm guessing that not much people are using it these days
- pysqlite2 : not ported to Py3
- MySQLdb : not ported to Py3, but mysqlclient seems to be compatible and to do the job fairly enough
- DBUtils : not ported to Py3
Maybe we should consider dropping support for these ? Their presence is not doing any harm in the codebase, but I don't think that psycopg1 and pysqlite2 are still useful, and removing them could clean the code a bit.
Anyway, if anyone wants to follow my work, I'm open to any remark, suggestion or patch. I'm hoping to have ported everything by friday, but it will definitively require some testing.
Mathieu