4 ms·
Enaml: A declarative UI library with a Cassowary layout system for Python
- TylerE 11y agoSerious 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.
- empyrical 11y agoThey've got a ton of screenshots and accompanying code snippets here: http://nucleic.github.io/enaml/docs/examples/index.html http://nucleic.github.io/enaml/docs/examples/index.html
- TylerE 11y agoI'm supposed to find that (easily!) from the posted link, how, exactly? Edit: Plus, those screenshots tell me exactly nothing. A button and a single text area do not a GUI layout make.
- blink1073 11y agoThe examples are very thorough, and show off a lot of behaviors that would be very difficult to achieve with raw Qt.
- TylerE 11y agoI don't want thorough. I want one or two examples showing non-trivial interfaces. As a potential user, you've got about 30 seconds to grab my attention.
- tobz 11y agoNot sure how far through you clicked, but there are many screenshots with more than two UI controls in the window.
- sccolbert 11y agoEnaml uses Qt under the hood. So GUIs look native to the platform.
- tljr 11y agosomeone let me know when this fad blows over.
- sccolbert 11y agoHi, 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.
- sccolbert 11y agoHere's the most recent talk I've done on it: https://vimeo.com/79536617 https://vimeo.com/79536617
- jf___ 11y agothe live demo ( ~23:40 ) is cool and insightful of what enaml provides
- monkmartinez 11y agoI 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) I would like to hear your thoughts on the matter.
- dman 11y agoThere arent any good answers at the moment, since the UI world seems to be in a flux.
- sccolbert 11y agoMy 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.
- blink1073 11y agoI 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.
- jf___ 11y agoTraitsUI 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. [1] https://github.com/nucleic/enaml/blob/master/enaml/widgets/mpl_canvas.py https://github.com/nucleic/enaml/blob/master/enaml/widgets/m...
- dman 11y agoAs 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.
- magicmu 11y agoGotta say, the C++ source is pretty gorgeous as well. (Disclaimer: not a colleague or friend)
- malkia 11y agoAnother 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.html http://nucleic.github.io/enaml/docs/examples/ex_dock_area.ht...
- towelguy 11y agoLooks like a mix of Python and Yml just like how QML is a mix of Javascript and Yml