Hacker News new | ask | show | jobs
by paultag 4081 days ago
Yep! My email is paultag@debian.org - sign up for the porting list @ https://lists.alioth.debian.org/mailman/listinfo/py3porters-...

Yes, it's hilarious that version of Mailmain needs to be ported to Python 3.

3 comments

Paul, I already emailed you but I'm responding here because I have a feeling your response will be useful to other people interested in helping: could you give some direction for people like me who know Python 2 and/or 3 and want to help, but don't know the first thing about the structure of Debian packages or how they are developed?

For example: I'm looking at ./main/f/flask-wtf/flask-wtf_0.10.2-1.json and I'm not even sure what I'm looking at. The contents of that file are:

    {"has_python3_module": false, "canidate": true, "trove_python3": true, "has_python2_module": true}
What's all that mean?

On my machine `apt-cache search flask-wtf` finds a package called `python-flaskext-wtf`. Digging deeper with `apt-cache showpkg` I find the homepage http://packages.python.org/Flask-WTF/, which in turn gets me to the code https://github.com/lepture/flask-wtf. I haven't updated the code to Python 3, but let's assume for a second that I have: now what? How do I tie this all together? Do I just send you a patch for this code? Is this even the right code?

If you point me in the right direction I'll be happy to write up a tutorial to help other folks contribute.

And as a side note: I really like Hy.

To know what every key means, you can look at the script: https://github.com/paultag/debian-meta-archive/blob/master/s...

has_python2_module: is a python2 package

has_python3_module: is a python3 package

trove_python3: Is is declared as python3 ready in Pypi ?

canidate: Python 3 module already there and Python 3 compatible on Pypi

I published it as a csv to better understand the situation: https://github.com/mdamien/mdamien.github.io/blob/master/sta...

Is "canidate" a misspelling of "candidate"?
All the very same questions I had. Also, in the list there are different versions of the same library. Presumably there are different parts of debian that rely on different versions of the same library - will they be updated to use newer versions?

I see for example, openpyxl_1.7.0 is listed as needing attention. Looking around it seems that openpyxl supports python3 now, so I guess whatever has that dependency needs to be checked?

flask-wtf is a source package. python-flaskext.wtf is a binary package - a single source package can build one or more binary packages.

Binary packages are what's found by apt-cache search and installed by apt-get install.

You can install a Debian source package using:

  apt-get source flask-wtf
(This just downloads and unpacks it into your current directory, so you don't have to be root - it's not actually modifying the installed package database).

Information on the source package is available here:

https://packages.debian.org/source/sid/flask-wtf

Thanks! (re: Hy :) )

Sorry, I didn't document this since i'm rushing stuff out as soon as I get it together -- I was looking at the Trove classifiers, and setting candidate to true iff it says it's Python 3 compatable but no Python 3 package :)

This actually sounds really interesting. I'll send you an email.

Is there a list of projects that need porting? Would be good to see what sort of size they were.

http://py3readiness.org/

Major things that would be useful to port for Debian's sake, because they're system utilities: supervisor, Fabric, carbon

Major things that would be useful to port because Python projects depend on them: Twisted, thrift, protobuf

Don't bother with these because replacements already exist: MySQL-python, oauth2

Forgive my ignorance but does Debian (and other distros) maintain forks of all their software packages? For example, how would an hypothetical mailman "port to python3" happen? Would Debian maintain its own fork or would you contribute directly to the GNU mailman project?