PySide and PyQt current and future status

103 views
Skip to first unread message

darkgaze

unread,
Mar 11, 2015, 11:27:53 AM3/11/15
to python_in...@googlegroups.com
Hello fellow programmers,

once again, i dig up an old topic. I created this so i can renew it, i didn't find the exact post from the last two years, about this.

I'm doing a huge research on the current status of both, Qt system in 3dsMax, Maya, and everything said everywhere about those, personal opinions, pros and cons, everything i can gather from the net so we can decide about what to do with each for building a nice environment and template to do our future tools. At least for a decent period of time.

I wonder about the current and future status and plans.

I've heard some gossips and not very clear news. Some info about the support of PySide, dropping the only person working on it (???), or future support of Qt5 with PySide.
At the same time, PyQt news on licenses, and everything else.

Do you have any piece on information about any of these topics? Any future plans known?

Lidia Martinez

unread,
Mar 11, 2015, 11:56:29 AM3/11/15
to python_in...@googlegroups.com
To add some information on these topics I mentioned, I find this thread really interesting. Confusing, though...


--
Lidia

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/09a6ae05-57db-458a-9005-3254fda23648%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Justin Israel

unread,
Mar 11, 2015, 2:29:59 PM3/11/15
to python_in...@googlegroups.com

That is pretty much all the information that I am aware of, as well. PySide was an easier choice for a while because of the distribution. It also had more bugs and less development.
In terms of writing an app, it isn't actually too hard to write it to dynamically handle supporting both PySide and PyQt. I have a particular application that imports the Qt modules from an intermediate module, and this module does a few checks to determine which lib to import and return.
* If PySide is already imported, return that
* If PyQt is already imported, and the sip version is set to v2, return that
* Otherwise try to import and return Pyside
* Otherwise try to import PyQt, set sip v2 and return that.
Also part of that process is normalising the naming for Signal, Slot, and Property, so that it works for either lib.

If you require Qt5,you don't really have a choice. And if you need to distribute a complete app, that also affects your choices.


Fredrik Averpil

unread,
Mar 11, 2015, 2:47:39 PM3/11/15
to python_in...@googlegroups.com
We've invested (so to speak) heavily in PySide. But like Justin mentions the differences aren't that big between PySide/PyQt.

However I'd like to point one thing out:

If you are reading in external ui files, I would recommend defining a routine/policy on how you do that throughout your company's apps, so that the ui elements become accessible from within the app the same way regardless of using PyQt or PySide. This could become an awesome headache if you don't do this and decide to switch from one (PyQt/PySide) to the other down the line. I have built our larger applications this way to make a future switch to PyQt less cumbersome.

// F


That is pretty much all the information that I am aware of, as well. PySide was an easier choice for a while because of the distribution. It also had more bugs and less development.
In terms of writing an app, it isn't actually too hard to write it to dynamically handle supporting both PySide and PyQt. I have a particular application that imports the Qt modules from an intermediate module, and this module does a few checks to determine which lib to import and return.
* If PySide is already imported, return that
* If PyQt is already imported, and the sip version is set to v2, return that
* Otherwise try to import and return Pyside
* Otherwise try to import PyQt, set sip v2 and return that.
Also part of that process is normalising the naming for Signal, Slot, and Property, so that it works for either lib.

If you require Qt5,you don't really have a choice. And if you need to distribute a complete app, that also affects your choices.


On Thu, 12 Mar 2015 4:56 AM Lidia Martinez <darksi...@gmail.com> wrote:
To add some information on these topics I mentioned, I find this thread really interesting. Confusing, though...


--
Lidia
2015-03-11 16:27 GMT+01:00 darkgaze <darksi...@gmail.com>:
Hello fellow programmers,

once again, i dig up an old topic. I created this so i can renew it, i didn't find the exact post from the last two years, about this.

I'm doing a huge research on the current status of both, Qt system in 3dsMax, Maya, and everything said everywhere about those, personal opinions, pros and cons, everything i can gather from the net so we can decide about what to do with each for building a nice environment and template to do our future tools. At least for a decent period of time.

I wonder about the current and future status and plans.

I've heard some gossips and not very clear news. Some info about the support of PySide, dropping the only person working on it (???), or future support of Qt5 with PySide.
At the same time, PyQt news on licenses, and everything else.

Do you have any piece on information about any of these topics? Any future plans known?

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA2Yy%2BsYa1F5JJig2w5YW%2BHdK8zWw25CniA1hBCz3wUq3w%40mail.gmail.com.

Justin Israel

unread,
Mar 11, 2015, 3:24:15 PM3/11/15
to python_in...@googlegroups.com

Or even better, avoid UI files altogether, if you can manage.


To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAD%3DwhWNzK8nS7B5K-sJpViuxe8KXc0ZK%3DoH-p-QEcZn44OgRdw%40mail.gmail.com.

Tony Barbieri

unread,
Mar 11, 2015, 3:27:37 PM3/11/15
to python_in...@googlegroups.com
I personally avoid the UI files, but I know a lot of people like them.


For more options, visit https://groups.google.com/d/optout.



--
Tony

Panupat Chongstitwattana

unread,
Mar 11, 2015, 10:58:33 PM3/11/15
to python_in...@googlegroups.com
How important it is to still support PyQt in your opinion? Would dropping it entirely and focusing on PySide have any draw back in the long run?



On Thursday, March 12, 2015 at 1:29:59 AM UTC+7, Justin Israel wrote:

That is pretty much all the information that I am aware of, as well. PySide was an easier choice for a while because of the distribution. It also had more bugs and less development.
In terms of writing an app, it isn't actually too hard to write it to dynamically handle supporting both PySide and PyQt. I have a particular application that imports the Qt modules from an intermediate module, and this module does a few checks to determine which lib to import and return.
* If PySide is already imported, return that
* If PyQt is already imported, and the sip version is set to v2, return that
* Otherwise try to import and return Pyside
* Otherwise try to import PyQt, set sip v2 and return that.
Also part of that process is normalising the naming for Signal, Slot, and Property, so that it works for either lib.

If you require Qt5,you don't really have a choice. And if you need to distribute a complete app, that also affects your choices.


On Thu, 12 Mar 2015 4:56 AM Lidia Martinez <darksi...@gmail.com> wrote:
To add some information on these topics I mentioned, I find this thread really interesting. Confusing, though...


--
Lidia
2015-03-11 16:27 GMT+01:00 darkgaze <darksi...@gmail.com>:
Hello fellow programmers,

once again, i dig up an old topic. I created this so i can renew it, i didn't find the exact post from the last two years, about this.

I'm doing a huge research on the current status of both, Qt system in 3dsMax, Maya, and everything said everywhere about those, personal opinions, pros and cons, everything i can gather from the net so we can decide about what to do with each for building a nice environment and template to do our future tools. At least for a decent period of time.

I wonder about the current and future status and plans.

I've heard some gossips and not very clear news. Some info about the support of PySide, dropping the only person working on it (???), or future support of Qt5 with PySide.
At the same time, PyQt news on licenses, and everything else.

Do you have any piece on information about any of these topics? Any future plans known?

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

Justin Israel

unread,
Mar 12, 2015, 2:20:31 AM3/12/15
to python_in...@googlegroups.com

That would depend on your company, and whether your code is purely internal or if you ship code. For my company, in particular, it shouldn't matter since we handle it all internally with dependency management. I have some products that are only PySide but it would be trivial to adjust their imports to make them use PyQt instead


To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/6a024ae1-0332-45c7-87d5-67b3f4f897fd%40googlegroups.com.

Fredrik Averpil

unread,
Mar 12, 2015, 3:17:50 AM3/12/15
to python_in...@googlegroups.com
I second what Justin said.

// F


Paul Molodowitch

unread,
Mar 12, 2015, 2:03:13 PM3/12/15
to python_inside_maya
Third - we're basically taking the same approach for the moment, where we import everything through an abstraction module, which can grab PySide or PyQt as needed.

Longer term - yeah, I'm definitely worried about the health of PySide.  I'm pulling for it, because the licensing meant I could dream of a world where we wouldn't have to keep compiling PyQt...

- Paul

Marcus Ottosson

unread,
Mar 12, 2015, 2:41:22 PM3/12/15
to python_in...@googlegroups.com

I’m pulling for it, because the licensing meant I could dream of a world where we wouldn’t have to keep compiling PyQt

It’s a small world, after all, and it only takes one of us to compile and then share it with the rest.

Here’s my contribution.
https://github.com/pyqt

It could use some help; it’s got Windows versions so far, but missing 2015. It’d be good to get a hold of Linux and OSX versions too and make it a party. Someone will still have to be the sacrificed to the compiler though.​

Justin Israel

unread,
Mar 12, 2015, 2:55:36 PM3/12/15
to python_in...@googlegroups.com

Compiling is only part of it. Doesn't change the license scheme.


--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.

Marcus Ottosson

unread,
Mar 13, 2015, 3:16:14 AM3/13/15
to python_in...@googlegroups.com

Doesn’t change the license scheme.

I’ve heard that some refrain from using GPL, but I never understood why.

Its free so long as you don’t distribute the PyQt binaries and don’t include the source. Distributing with the source is GPL compatible. Either way, your company might restrict you from distributing software altogether, including anything written using PySide.

http://www.gnu.org/copyleft/gpl.html

So, what gives?

Justin Israel

unread,
Mar 13, 2015, 6:45:43 AM3/13/15
to python_in...@googlegroups.com

Software licenses are generally a magical mystery to me, and there are smart lawyers that are paid to fully understand them... but from what I comprehend about GPL is that it is an "infectuos" type of license. It makes your own source also need to be GPL and that you need to make your source code available. I've heard it described as a more complicated license with various gotchas. Something like LGPL (PySide) is not infectious, as the fact that you are using and bundling PySide doesn't make your own code of the same license. You are free withhold your original source.
It depends also on how you want to use it. If you don't plan to distribute the GPL library with your code, then it may not matter.


--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.

Marcus Ottosson

unread,
Mar 13, 2015, 10:06:43 AM3/13/15
to python_in...@googlegroups.com

Software licenses are generally a magical mystery to me

Maybe you should have stopped there, because..

It makes your own source also need to be GPL and that you need to make your source code available.

..this is not true in any regard.

I’ve spent significant time and effort into investigating various licenses and without going into too much detail, I can say that using libraries licensed under either GPL nor LGPL doesn’t have any effect on the code that you write; it is only concerned with code that you modify and then distribute. E.g. if you modify PyQt4 and then distribute that, you would be required to also distribute your changes. If you do not modify nor distribute, then as far as you’re concerned the library is entirely free to use forever. And again, have nothing to do with the code you write that uses the library.

For us, this means nothing as we neither modify nor distribute PyQt4.

To drive the point home; take this as an example of the flexibility you’ve got. You can write an entire application, say Maya, using PyQt. You can then distribute (e.g. sell) your application, and not include PyQt in your distribution but instead ask your users to install it themselves, and this is perfectly compatible with GPL.

However, what you cannot do, is modify PyQt and call it “MyQt” and then re-license it under say New BSD. Your modified copy will also have to be GPL and this is where the “infectious” part of the license comes in.

Marcus Ottosson

unread,
Mar 13, 2015, 10:56:50 AM3/13/15
to python_in...@googlegroups.com
Had a read through my reply and realised that it was quite rude, apologies! Hope it didn't affect what little information I tried getting across.​ :)

Justin Israel

unread,
Mar 13, 2015, 4:38:57 PM3/13/15
to python_in...@googlegroups.com
I don't really feel comfortable enough to argue about licenses, but I feel part of what you say is the same as what I know about it. You can write an application that requires PyQt4, and only distribute your original application, with the caveat that the end user must install their own PyQt to satisfy the dependency. It means you are not distributing the GPL software with your software. What I am talking about is a bundled application. From what I know, you cannot distribute a bundled application, with a GPL library, without it making you provide the source to your own application along with it. Basically it has implications for how you can distribute your application and whether or not you want to provide your source code. 


A lawyer could probably do a better job of explaining all of this. All I know is we have a legal department and a CTO at our studio that outline what software licenses we can and cannot use, and GPL appears on the list as a no-no, without explicit approval. It is possible for there to be commercial options, such as PyQt, so those situations have to be considered on a case-by-case.



On Sat, Mar 14, 2015 at 3:56 AM Marcus Ottosson <konstr...@gmail.com> wrote:
Had a read through my reply and realised that it was quite rude, apologies! Hope it didn't affect what little information I tried getting across.​ :)

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.

Justin Israel

unread,
Mar 13, 2015, 5:57:09 PM3/13/15
to python_in...@googlegroups.com
Other interesting read:
http://blog.devork.be/2009/11/python-modules-and-gpl-i-still-dont-get.html

Shows just how complicated it is to actually understand it, since it doesn't map cleanly to every circumstance. You can read some people say that importing a GPL module makes your application dependent on it and therefore "combined" since they share the same process space and share memory. Doesn't prevent you from distributing and selling, but determines whether you have to provide the source code to your software, and whether other people can then redistribute it in their software.

On Sat, Mar 14, 2015 at 9:38 AM Justin Israel <justin...@gmail.com> wrote:
I don't really feel comfortable enough to argue about licenses, but I feel part of what you say is the same as what I know about it. You can write an application that requires PyQt4, and only distribute your original application, with the caveat that the end user must install their own PyQt to satisfy the dependency. It means you are not distributing the GPL software with your software. What I am talking about is a bundled application. From what I know, you cannot distribute a bundled application, with a GPL library, without it making you provide the source to your own application along with it. Basically it has implications for how you can distribute your application and whether or not you want to provide your source code. 


A lawyer could probably do a better job of explaining all of this. All I know is we have a legal department and a CTO at our studio that outline what software licenses we can and cannot use, and GPL appears on the list as a no-no, without explicit approval. It is possible for there to be commercial options, such as PyQt, so those situations have to be considered on a case-by-case.



On Sat, Mar 14, 2015 at 3:56 AM Marcus Ottosson <konstr...@gmail.com> wrote:
Had a read through my reply and realised that it was quite rude, apologies! Hope it didn't affect what little information I tried getting across.​ :)

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

Marcus Ottosson

unread,
Mar 13, 2015, 6:01:15 PM3/13/15
to python_in...@googlegroups.com

What I am talking about is a bundled application.

But what I’m talking about is using it within a company, sorry for the confusion.

Justin Israel

unread,
Mar 13, 2015, 6:15:26 PM3/13/15
to python_in...@googlegroups.com

Then it doesn't matter, if you never distribute or sell it.


On Sat, 14 Mar 2015 11:01 AM Marcus Ottosson <konstr...@gmail.com> wrote:

What I am talking about is a bundled application.

But what I’m talking about is using it within a company, sorry for the confusion.

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOAeuH5avztzP8aMPixocQEuPGqzRYiQMc%3DjUdM71G31mQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages