Serious suggestion: Post some screenshots of some example GUIs. It's very hard to evaluate wether a GUI library is worth spending any time on without seeing it.
Hi, author of Enaml here. Development of new features in Enaml has slowed in the past year as my work focus has shifted. Enaml is fairly stable however, and is currently in production at multiple Fortune 500 companies, including a top 10 investment bank. Happy to answer any questions about the project.
I know this question isn't directly related to your project, but I thought I would give it try...
How do you feel about python GUI applications going forward?
I ask because a GUI related question comes up on the python subreddit every now and again and it goes something like this:
1. make it on the web using <myfav web framework>
2. make it on the web using flask
3. use Kivy as you get mobile for free
4. use TKinter
5. use PySide
6. use enaml
7. use wxpython
8. use PyQT
The discussion then leads one to believe that GUI programming might be dying and most things can be accomplished in the browser or with kivy as most of the GUI binding projects have slowed or died. (Tkinter being another exception as its ships with Python)
My thoughts are mixed. On the one hand, there is a ton of money being funneled away from desktop UIs and being dumped into browser technology. On the other hand, browsers are awful platforms for developing desktop applications and there doesn't seem to be any real drive to address the shortcomings, as everyone is focused on mobile.
My current work is focused on the web stack, not because it is a better platform, but because that's how everyone is wanting to deploy these days.
However, I've been starting to see some chatter and recognition lately that perhaps the web is best left to documents, and large applications should continue to use native toolkits. This is promising. There is room for both technologies, and I hope that mindset takes hold.
I'm going to have to look real close at Enaml, but I thought I would mention https://github.com/pybee/toga as a very interesting Python GUI project. I think the creators are spreading themselves too thin between their various projects and Toga may be a long ways from seeing a production ready release, but I like what they have started.
Long time follower, but for a strange reason - enaml is by far the only Qt product that has docking done right - e.g. one can undock windows into floating ones, and dock again into them (plus other nifty features). I've gave a week shot of trying to make a C++ version of your code, but failed miserably (due to lack of Python understanding, and under pressure to see whether it can be done under a week).
I wish your docking area was part of Qt4/5, and other products would benefit from it too - like Autodesk Maya, MotionBuilder, and many others.
I keep finding myself wanting to use enaml. Every once and a while I re-read the documentation and have found it increasingly attractive. But the lack of Tree/Listview support keeps preventing me from making the jump. Can I expect this feature to ever make it to enaml?
I have found enaml to be invaluable to my work (writing simple UIs for scientific applications), and much more intuitive to use that PyQt or TraitsUI. It provides an extremely expressive mechanism to react to (nested) changes in the UI or the model.
TraitsUI was a cool idea, but not implemented that well. Enaml carries it to perfection. I love how enaml provides a ton of functionality, while it doesnt get in the way of experimentation. Just see the matplotlib widget [1] how easy it is to integrate other widgets.
As an aside the enaml codebase makes for great reading material - it's one of the cleanest python codebases I have seen. Disclaimer - Chris is an ex colleague and personal friend.
Another truly amazing fact: It's one of the very few Qt applications that has proper docking - e.g. you can dock windows in any of your floating windows (much like Visual Studio), and something that neither Qt4 or Qt5 support internally: http://nucleic.github.io/enaml/docs/examples/ex_dock_area.ht...