Feature #128

Switch to Python 3

Added by Vincent Le Goff over 2 years ago. Updated over 1 year ago.

MUD client
% Done:


Contact person:
Additional contact persons:


Let's move to Python 3!

Now that Twisted is mostly ported to Python 3, there's nothing holding us back to move to Python 3. This would have several advantages in terms of reactivity, interfacing, and portability. The drawbacks (in code and pre-set configurations) aren't too important yet, but they will increase the more we wait. So let's do it!



#1 Updated by Vincent Le Goff almost 2 years ago

  • Status changed from Open to In Progress
  • Assignee set to Vincent Le Goff

Begin the work to port to Python 3.6.

#2 Updated by Vincent Le Goff almost 2 years ago

The client now is partially running on Python 3.6. However, the dependency to pycrypto, required to store character information (like username and password) could not be satisfied for Python 3.6. It will be necessary to find another library to do the job or to change encryption, although that's not an ideal solution.

#3 Updated by Vincent Le Goff almost 2 years ago

  • Checklist item Do a pre-set of CocoMUD code, checking interactions with dependencies set to Done

The client is now mostly stable under Python 3.6 in commit de07fb3307f04547d33a982004e19a8d7d438595.

Also, pycrypto which was used for encrypting passwords using the AES algorithm couldn't be compiled for Python 3.6. The maintainers state that this package is not maintained for Python higher than 3.3. I had to switch to pyaes instead, which preserves compatibility with the stored information.

#4 Updated by Vincent Le Goff almost 2 years ago

  • Sprint/Milestone set to 16

#5 Updated by Vincent Le Goff over 1 year ago

The branch i128 was merged into master and mostly functional at commit f7900bcd00514b15259fac934d0fe49455a0dc27 . Bugs might subsist. Among the most notable issues:

- The shift in unicode handling still might need updating while performing file operations.
- An adequate library to play audio files wasn't yet found, although different suggestions were made and some of them are not tested yet.

#6 Updated by Vincent Le Goff over 1 year ago

  • Checklist item Check the process to update, upload/download documentation and new releases set to Done

#7 Updated by Vincent Le Goff over 1 year ago

  • Status changed from In Progress to Closed

Fixed in commit 3b0c82a9dbce6b6f354a29c20bca0d8040c84467. To note: some tasks (see the download task in source:src/task/ may suffer from the same problem. With urllib having shifted a little in Python 3, this might need to be readjusted.

Please register to edit this issue

Also available in: Atom PDF Tracking page