Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
User avatar
Kunda1
Posts: 7098
Joined: Thu Jan 05, 2017 9:03 pm

Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby Kunda1 » Fri Aug 31, 2018 7:15 am

Objective
A forum thread to track migration of 3rd-party FreeCAD-Addons to Py3/Qt5
Feedback kindly requested from all authors/testers of said Workbenches/Addons to help populate this list.

The List

Code: Select all

Addons                 Py3     Qt5     Authors
==============================================
A2plus                  ✔       ✔      kbwbe
AirPlaneDesign          ✔       ✔      a179308
animation               x       x       microelly2
assembly2               x       x       hamish
Autoload                x       x      
BIM                     ✔       ✔      yorik
BOLTSFC                 ✔       ✔      bernd
CADExchanger            x       x       yorik
cadquery_module         ✔       ✔      jmwright 
Cfd                     x       x
CfdOF                   ✔       ✔
CommandPanel            ✔       ✔      triplus
cura_engine             x       x
Curves                  ✔       ✔      Chris_G
Defeaturing             ✔       ✔      easyw-fc
DesignSPHysics          ✔       ✔
dodo                    ✔       ✔      oddtopus
drawing_dimensioning    x       x
dxf-library             x       x
ExplodedAssembly        ✔       ✔      JMG
fasteners               ✔       ✔      shaise
FCGear                  ✔       ✔      looo
flamingo                x       x       (replaced by dodo wb) 
frame                   ✔       ✔      looo
GDT                     x       x
geodata                 x       x
IconThemes              ✔       ✔      triplus
InventorLoader          ✔       x
kerkythea               x       x
kicadStepUpMod          ✔       ✔      easyw-fc
lattice2                ✔       ✔      DeepSOIC
Launcher                ✔       ✔      triplus
Lithophane              ✔       ✔      furti
Manipulator             ✔       ✔      easyw-fc
NavigationIndicator     x       x
nurbs                   x       x
Part-o-magic            ✔       ✔      DeepSOIC
parts_library           x       x
pcb                     x       x
persistenttoolbars      x       x
PieMenu                 ✔       ✔      triplus
pluginloader            x       x
pyrate                  ✔       ✔      
reconstruction          x       x
Reinforcement           ✔       ✔      amrit3701
Render                  x       x      yorik
retr3d                  x       x
SelectorToolbar         x       x
sheetmetal              ✔       ✔      shaise
ShortCuts               ✔       ✔      triplus
Silk                    x       x      
SlopedPlanes            x       x      
symbols_library         x       x
TabBar                  ✔       ✔
timber                  x       x      
ToolbarStyle            ✔       ✔      triplus
WebTools                ✔       ✔      yorik
workfeature             ✔       ✔      rentlau_64
yaml-workspace          ✔       ✔      Mambix
Testing
Very quick way to start testing is using the 0.18dev Py3/At5 builds conveniently added by our friend @sgrogan Background
One of the objectives for 0.18 release is that it will be py3 and Qt5 compatible
This are ongoing efforts to make this happen:
issue #995: Python3 compatibility (Ongoing)
issue #2986: Port from Qt4 to Qt5 (Ongoing)
https://github.com/looooo/FreeCAD/issues/8
https://forum.freecadweb.org/viewtopic.php?f=10&t=7713 "PyCXX upgrade" (from 2014)
https://forum.freecadweb.org/viewtopic.php?f=10&t=12534 "Porting to python3" (Active thread)
https://github.com/FreeCAD/FreeCAD-addons/issues/93

Related
FC Macros Py3/Qt5 Tracker https://forum.freecadweb.org/viewtopic.php?f=10&t=30636


Note: this post will be actively updated
Last edited by Kunda1 on Sat May 11, 2019 2:26 pm, edited 18 times in total.
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
easyw-fc
Posts: 2803
Joined: Thu Jul 09, 2015 9:34 am

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby easyw-fc » Fri Aug 31, 2018 7:31 am

My three wbs should be ready to work both with Py3 & Qt5

Code: Select all

     Addons            Py3     Qt5
==================================
Defeaturing             *       *
kicadStepUpMod          *       *
Manipulator             *       *
User avatar
Kunda1
Posts: 7098
Joined: Thu Jan 05, 2017 9:03 pm

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby Kunda1 » Fri Aug 31, 2018 7:40 am

easyw-fc wrote:
Fri Aug 31, 2018 7:31 am
My three wbs should be ready to work both with Py3 & Qt5
:thumbsup:
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
DeepSOIC
Posts: 7485
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby DeepSOIC » Fri Aug 31, 2018 10:36 am

Lattice2 does work on py3+qt5.
Part-o-magic does not work.

tabbar works, at least for me.
User avatar
DeepSOIC
Posts: 7485
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby DeepSOIC » Fri Aug 31, 2018 11:06 am

Suggestion: also add realthunder-ready :mrgreen:
(none of my workbenches are... :oops: )
User avatar
easyw-fc
Posts: 2803
Joined: Thu Jul 09, 2015 9:34 am

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby easyw-fc » Fri Aug 31, 2018 11:16 am

DeepSOIC wrote:
Fri Aug 31, 2018 11:06 am
Suggestion: also add realthunder-ready :mrgreen:
(none of my workbenches are... :oops: )
I would suggest a different thread.
A3 compatibility will require much more work.
I'm in the process to improve my compatibility with A3 branch. Some of the new containers are already supported, but this new branch has so many new features that the process will take much longer than Py3 and Qt5 compatibility... :)
User avatar
yorik
Site Admin
Posts: 11717
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby yorik » Fri Aug 31, 2018 1:54 pm

Very good initiative @Kunda1! Indeed that's the first thing one notices when starting a py3 session :) several plugins fail to load.
User avatar
sgrogan
Posts: 5651
Joined: Wed Oct 22, 2014 5:02 pm

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby sgrogan » Fri Aug 31, 2018 4:14 pm

yorik wrote:
Fri Aug 31, 2018 1:54 pm
Very good initiative @Kunda1!
+1
A plug for the PY3 builds:
https://github.com/FreeCAD/FreeCAD/rele ... g/0.18_pre
https://launchpad.net/~freecad-maintain ... ecad-daily

Anyone who wants to add some words the the text on the releases page or the PPA is Welcome.
Maybe we could even add something to github/FreeCAD/FreeCAD's read.me?
A call for testing, or the like?

EDIT: Where is the best place to discuss issues?
Ultimately it's best to open an issue on the WB author's Github, but as with FreeCAD itself there is a clear benefit to triage in the forum.
The packaging of these PY3/QT5 compatible builds are in their infancy, and bugs could be due to the packaging as likely as to FreeCAD or the add-on's code.
User avatar
easyw-fc
Posts: 2803
Joined: Thu Jul 09, 2015 9:34 am

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby easyw-fc » Sun Sep 02, 2018 7:08 pm

sgrogan wrote:
Fri Aug 31, 2018 4:14 pm
+1
A plug for the PY3 builds:
https://github.com/FreeCAD/FreeCAD/rele ... g/0.18_pre
https://launchpad.net/~freecad-maintain ... ecad-daily

Anyone who wants to add some words the the text on the releases page or the PPA is Welcome.
Maybe we could even add something to github/FreeCAD/FreeCAD's read.me?
A call for testing, or the like?

EDIT: Where is the best place to discuss issues?
Ultimately it's best to open an issue on the WB author's Github, but as with FreeCAD itself there is a clear benefit to triage in the forum.
The packaging of these PY3/QT5 compatible builds are in their infancy, and bugs could be due to the packaging as likely as to FreeCAD or the add-on's code.
Thanks a lot for your builds!
I have been able to fix my WBs because of them!
And I have also OCC7.3 on Windows Conda builds! :D
Thanks again Chris.
Maurice
User avatar
shaise
Posts: 354
Joined: Thu Jun 11, 2015 8:11 am

Re: Python3 and Qt5 Compatible Addon Workbenches (in preparation for 0.18)

Postby shaise » Mon Sep 03, 2018 1:36 pm

Fasteners workbench is now compatible with both Qt5 and Py3