You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In response to an issue appearing on a project similar to Qt.py called "qtpy" I figure it'd be a good time to highlight an important difference between the two.
No side-effects
The problem is this - with qtpy, existing members of the original binding are modified on import.
For the qtpy parent project "Spyder" this is no problem as it is the only running application within a single Python interpreter. But for those using Qt.py in an interpreter where it is used alongside tens or hundreds of applications running in parallel this can be catastrophic as it means altering the assumptions upon which the applications were built.
It could cause trouble not just for the tools of your peers, but for the application itself - such as Maya and Houdini - that build their own internal tools using the provided original binding, ranging from crashes to difficult-to-debug issues that "works on my machine" (tm).
It's suddenly difficult to impossible to know "is this a problem with Maya, or with one of the GUIs I imported somewhere along the line?"
Solution
In Qt.py, optional wrappers co-exist with their originals.
In response to an issue appearing on a project similar to Qt.py called "qtpy" I figure it'd be a good time to highlight an important difference between the two.
No side-effects
The problem is this - with
qtpy
, existing members of the original binding are modified on import.Example
Problem
For the
qtpy
parent project "Spyder" this is no problem as it is the only running application within a single Python interpreter. But for those using Qt.py in an interpreter where it is used alongside tens or hundreds of applications running in parallel this can be catastrophic as it means altering the assumptions upon which the applications were built.It could cause trouble not just for the tools of your peers, but for the application itself - such as Maya and Houdini - that build their own internal tools using the provided original binding, ranging from crashes to difficult-to-debug issues that "works on my machine" (tm).
It's suddenly difficult to impossible to know "is this a problem with Maya, or with one of the GUIs I imported somewhere along the line?"
Solution
In Qt.py, optional wrappers co-exist with their originals.
Stay safe,
Marcus
The text was updated successfully, but these errors were encountered: