Python 3 support

Issue #8 resolved
Former user created an issue

It would be great to have support for Python3. For obvious reason Python 3 is the way to go in the future, and more and more organizations and people are moving towards it. As a backwards compatibility to Python 2.6/2.7 is good, this would ensure that all the current major versions would be supported, not to mention the future Python version.

Obviously I also have a personal agenda, as our organization has moved to Python 3 and would definitely want to use and help to improve savReaderWriter.

Comments (5)

  1. Albert-Jan Roskam repo owner

    **Hi,

    Thanks for your suggestion. This is indeed something that has been on my mind lately. --What Python 3 version do you suggest to be supported? All of them, or just Python 3.3 (and perhaps 3.4, but this is still an alpha version)? For instance "u'a unicode string" (with the "u") has re-appeared in Python 3.3. This page recommends to "target the newest version of Python 3 that you can": http://docs.python.org/dev/howto/pyporting.html --What would be your weapons of choice to make this work for Python 3? For me, the only acceptable goal is one codebase. I am considering to use (besides an IDE, pyCharm): * tox (http://codespeak.net/tox/) * six (http://pythonhosted.org/six/) * 2to3 to refactor doctests (http://docs.python.org/2/library/2to3.html) Oooh, why did I choose doctest? ;-) * And of course nose.

    Regards, Albert-Jan

  2. j_

    It's really nice to hear you've already put some thought into this (getting Python 3 support would make my life so much easier)! I think the way to go would be to support Python 3.3 and 2.7, and if you want to expand the support, then 2.6 and 3.4 (in that order). 3.3 would be obvious choice as it's the latest stable release, and 2.7 as being the last of 2.x series, will probably be the one that Python 2 users will stick to for the years to come..

    The link to pyporting you posted has a pretty good tutorial about how to make the transition a much more smooth sailing, and I think using tox will make the process much more easier.

    In any case, thanks for all the work you've done on this package, and the great attitude towards migrating towards Python 3 support!

  3. Albert-Jan Roskam repo owner

    Hi,

    As you may have noticed I have been working on a branch called "py3k": yep, that's the program for both Python 2.7 and 3.3. There are still quite a few loose ends, but reading and writing files is possible already. Unless you're going to work in unicode mode (ioUtf8=True) it is likely to work. So you're free to give it a try ;-) It's here: https://bitbucket.org/fomcl/savreaderwriter/get/py3k.zip Unless you're on a 32-bit Linux system you need to edit MANIFEST.in so "#graft savReaderWriter/spssio" is no longer outcommented but the following two lines should be deleted/outcommented.

    Regards, Albert-Jan

  4. Albert-Jan Roskam repo owner

    It took a while, but I just uploaded v3.3.0, which is tested for Python 2.7, Python 3.3 and Pypy on Linux 64.

  5. Log in to comment