I invest a full working day for porting my own publishing technology "Produce & Publish" to Plone 5.2 and Python 3. This included three Plone-based add-ons and three Python-only modules. After eight hours of code juggling I was able to successfully test all Plone add-ons.
- conversions using
unicode()or type checks against
- various import fixes
- getting rid of some Python 3 incompatible modules like BeautifulSoup 3 (replaced with lxml)
- very few issues with reading/writing files (text vs. bytes)
- fixed a few subtle programming patterns specific to my own coding style
I did not use any Python 2 to 3 conversion tools and I did not use any unittests (we have some real world examples that I used to test directly with production data in order to check the most important and most complicated code paths).
I did not encounter any serious backend related issues but again a bunch of UI issues (possibly also existent in Plone 5.1 and unrelated to the Python version).