Python 3 support

Is there any progress on adding Python 3 support? I’m not asking you to drop Python 2 support, but having the choice would be nice, especially now that various Linux distributions have dropped Python 2 from the default install or are in the process of doing so.
I saw a really old pull request for Python 3 support in libsearpc, but I’m not sure if it still apllies: https://github.com/haiwen/libsearpc/pull/21

Adding python 3 support is a long term task currently.

Will you accept patches which make the code ready for Python 3 and which keep the code working with Python 2.7?

Yes, of course.

We will spend a few time on the review and test task.

I have a working patch for libsearpc which passes the builtin tests on Python 2 and Python 3. I did not find any code to test the pysearpc server component. Do you have any test code for pysearpc/server.py?
Do you have any automated tests I can run against ccnet? My Python 3 conversion of ccnet seems mostly OK, but I would like to make sure it survives the tests before I submit it.

Where can I upload the patch? github issue tracker?

I now also have a working debian package for a searpc based on Python 3.
I also have untested debian packages for ccnet, seafile and seafile-cli based on Python 3.

I think I have a bug in the ccnet conversion to Python 3, and I need some help. Does anyone know how to test ccnet? I saw some tests in the source code, but I could not find any documentation on how to run them.

Where should I upload the patch?

Please send a pull request to the corresponding github repositories.

Hi Daniel,

i know that thats quite a timespan and its probabbly not easy to migrate all your code but since python 2.7 will not be supported past 2020, do you know if/when we will see full python 3 support?

regards

1 Like

Retirement age of Python 2.7 has been moved forward to Januar 2020: https://pythonclock.org/

The roadmap states the migration job as a long-term task: https://www.seafile.com/en/roadmap/

Do not expect Python 3.0 support before H2/2019.

1 Like

At least the python-seafile client has an open pull request adding Python 3 support:

What is the current state of this?

There are many security issues to come for many Seafile nodes if we cannot upgrade to Python 3 during Q1 2020.

1 Like

AFAICS https://github.com/haiwen/libsearpc/commits/master and https://github.com/haiwen/python-seafile/commits/master and https://github.com/haiwen/ccnet-server/commits/master have Python 3 support merged already.

In theory, someone building Seafile from source would already be able to run on a pure Python 3 system.

3 Likes

In a personal conversation, Daniel Pan confirmed that Seafile 7.1 will be released before the end of this year and include Python3.