Porting pyftpdlib to Python 3.x: question about tarball namingconvention

  • Thread starter Giampaolo Rodola'
  • Start date
G

Giampaolo Rodola'

Hi,
I've started the (hard) process of porting pyftpdlib [1] to Python 3.
In order to do that I'm working on a separate SVN branch and I plan to
maintain two different releases of my software, one for 2.x and
another one for 3.x.

My doubts are about the naming convention I have to use for the
tarball and how it affects the integration with distutils and
setuptools.
So far I've always used the following naming convention:

pyftpdlib-0.5.2.tar.gz
pyftpdlib-0.5.1.tar.gz
pyftpdlib-0.4.1.tar.gz
....


This way I'm able to download and "easy install" pyftpdlib by just
doing:
easy_install pyftpdlib

....which retrieves the last pyftpdlib version (0.5.2, at the moment)
from PYPI and installs it.


Now that I'm going to have two major releases (pyftpdlib-0.5.2 for
Python 2.x and pyftpdlib-0.5.2 for Python 3.x) how am I supposed to
deal with that?
Do I have to use a different name like "pyftpdlib-0.5.2-py3k.tar.gz"
or "pyftpdlib-py3k-0.5.2.tar.gz"?
How this affects the interaction with easy install?

And again: in case it is possible to keep the same tarball name for
both versions what am I gonna do with PYPI? Is it possible to host two
programs with the same name on PYPI and just differentiate the
description (e.g. "pyftpdlib version for python 2.x" / "pyftpdlib
version for python 3.x")


Thanks in advance

[1] http://code.google.com/p/pyftpdlib
 
G

Gabriel Genellina

I've started the (hard) process of porting pyftpdlib [1] to Python 3.
In order to do that I'm working on a separate SVN branch and I plan to
maintain two different releases of my software, one for 2.x and
another one for 3.x.

I would not do that. Try to keep a single source (2.x) and use 2to3 to
automatically generate the 3.x version. Perhaps including some
conditionals checking sys.version_info.
Somewhere in the wiki there are porting guidelines. (Try to resist the
temptation to alter the 3.x code: it must remain "generated" by the 2to3
conversion)
My doubts are about the naming convention I have to use for the
tarball and how it affects the integration with distutils and
setuptools.
Now that I'm going to have two major releases (pyftpdlib-0.5.2 for
Python 2.x and pyftpdlib-0.5.2 for Python 3.x) how am I supposed to
deal with that?

If you manage to write the code in a way that 2to3 can convert it to 3.x
without any problems, then you don't have to distribute the 3.x sources at
all. Just run 2to3 on the target system as part of the install process.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,149
Members
46,695
Latest member
StanleyDri

Latest Threads

Top