9 ms·
DearPyGui
- iddan 6y agoHow is it different from https://flutter.dev/desktop https://flutter.dev/desktop
- bialpio 6y agoThis may be helpful/relevant: https://github.com/hoffstadt/DearPyGui/issues/83 https://github.com/hoffstadt/DearPyGui/issues/83. Edit: (the link discusses making the API more like flutter).
- mrweasel 6y agoHow is it not? Flutter is Flutter, DearPyGui is Python binding for ImGui.
- amaccuish 6y agoI read the question as asking about the differences (advantages and disadvantages) of the two
- iddan 6y agoThis is correct
- mrweasel 6y agoIsn’t that a little weird? Do you mean Flutter and Dart vs. ImGui and Python, ImGui vs Flutter or Python vs. Dart. Anyway, I don’t think ImGui can be used for app development for neither Android or iOS and Flutter doesn’t seem to allow you to use other languages than Dart (at least that’s my impression).
- ratww 6y agoYou can probably do the same things with both, but Flutter is more geared toward applications, where Dear ImGui is more about putting GUIs in places where the GUI is secondary, such as games, creative tools and other graphic-heavy apps. Here's what Dear ImGui's readme [1] says: > Dear ImGui is designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools (as opposed to UI for the average end-user). It favors simplicity and productivity toward this goal, and lacks certain features normally found in more high-level libraries. > Dear ImGui is particularly suited to integration in games engine (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on consoles platforms where operating system features are non-standard. Basically: I wouldn't put Flutter inside a graphics heavy video game. I also wouldn't use ImGui for a social mobile app, or something like a business app that requires accessibility. [1] https://github.com/ocornut/imgui https://github.com/ocornut/imgui
- anaganisk 6y agoFor starters, this library may not be suddenly killed off.
- nurettin 6y agohttps://github.com/ocornut/imgui https://github.com/ocornut/imgui """ Ongoing Dear ImGui development is financially supported by users and private sponsors, recently: Platinum-chocolate sponsors Blizzard, Google, Nvidia, Ubisoft """ Joke aside, google did a lot of good for imgui's development. I guess they all love side projects.
- anaganisk 6y agoIm more concerned about flutter going to the grave sooner.
- nurettin 6y agoThe main difference is that you can put dear imgui in your rendering pipeline and manually trigger it each frame. This fine grained control lets you use it on top of your graphical application as a HUD. Example: build_game_frame() render_game() build_hud_frame() render_dearpygui_frame() gl_flip()
- dragonwriter 6y ago> How is it different from https://flutter.dev/desktop https://flutter.dev/desktop Well, it advertised itself as a simple way to provide a GUI for Python scripts. I can think of lots of good uses for Flutter, but “a simple way to add a GUI to a Python script” isn't one of them. So, I'm going to say they are entirely unrelated products with basically non-overlapping domains.
- Sherl 6y agoAlso adding this which I discovered last week, https://github.com/chriskiehl/Gooey https://github.com/chriskiehl/Gooey
- microcolonel 6y agoIt'd be interesting to extend this to handle pipelines, maybe by using some sort of thing where you drag from the output field(s) of a utility to an input field of another, causing them somehow to be fused.
- nerdponx 6y agoI'm curious if this is comparable to some of the other Python-based GUI frameworks out there: Tkinter, PyQT, Kivy, Toga.
- ratww 6y agoThose libraries use retained-mode, which is the complete opposite of immediate-mode that Dear ImGui uses. So they're geared towards different things. I posted an explanation here about the difference between retained and immediate mode: https://news.ycombinator.com/item?id=24318437 https://news.ycombinator.com/item?id=24318437
- dragonwriter 6y agoSeems to be more comparable to PySimpleGUI, though on the surface it looks a little less simple and a little more featureful.
- jsharf 6y agoOh, I love Dear Imgui -- it's very simple to use and has a nice... "engineering"/scientific aesthetic. Good to hear it's been ported to python. If you're looking for an end-user product, this may not give you the control you're looking for. But if you're looking for a dead-simple way to create a quick GUI for a side project, this is perfect.
- crawsome 6y agoWhat's your recommendation for a Python-engineered end-user product?
- formerly_proven 6y agoNative, if cross-plattform then Qt or wx (only "old" widgets).
- DizzyDoo 6y agoA semi-related question; what is the current 'correct way' to package up Python projects and all their dependencies as native executables for Windows/OSX/Linux? I haven't done any desktop Python since 2.5 and then it was a fiddly process of 'freezing' exe's, is that still the recommended way with Python 3?
- sambull 6y agoI've had good luck with https://www.pyinstaller.org/ https://www.pyinstaller.org/ and Qt in python.
- mixmastamyk 6y agoPretty much the same, though it was never that difficult. There is also PyOxidizer, and zipapp is an option for some.
- formerly_proven 6y agoThat's still the way to go, and it's still fiddly and always requires manual tweaking until it works. Especially on Linux. Deploying binaries on Linux is just always a hassle, and never works "everywhere"...
- mellosouls 6y agoI can't find a clear explanation of "immediate mode" GUI creation (which this library enables) but it appears to be the sort of paradigm that pre-dated object-oriented and event-driven interaction handling that became the norm in the mid 90s (especially after the popularising of dev tools from Borland and Microsoft eg. Visual Basic etc), so I guess it is a formalisation of the procedural (?) methods from the era preceding that. https://wiki.c2.com/?ImmediateModeGui https://wiki.c2.com/?ImmediateModeGui
- llimllib 6y agoI haven't watched it in a long time, but I recall this as a useful video about it: https://www.youtube.com/watch?v=Z1qyvQsjK5Y https://www.youtube.com/watch?v=Z1qyvQsjK5Y
- ratww 6y agoImmediate Mode GUIs are just GUIs that are instanced and drawn immediately during a single frame. There's no need to persist any object or structure because the whole screen will be cleaned and redrawn in the next frame. Immediate mode is popular in video games because in most games the screen is re-rendered on each frame. This is in opposition from retained-mode, where things are re-rendered only when necessary, like in Win32/Cocoa or the HTML DOM. With those, you need to keep an object in memory. The nature of the job is what allows for very simple procedure calls that looks almost declarative. Here's an example (it's Unity3D btw): GUI.Label (new Rect (25, 25, 100, 30), "Label"); if (GUI.Button (new Rect (25, 25, 100, 30), "Button")) { // This code is executed when the Button is clicked }
- diath 6y ago> Immediate mode is popular in video games because in most games the screen is re-rendered on each frame. That makes no sense though because while you still need to re-render each frame, you do not necessarily have to waste rendering time on GUI each frame when GUIs are mostly static, why not just render the interface to a framebuffer and then simply draw that when composing a frame and only re-draw the framebuffer when the GUI changed/played an animation frame?
- 7thaccount 6y agoLooks neat. How easy is this to setup and use? To distribute?
- dang 6y agoA couple small threads from recent weeks: https://news.ycombinator.com/item?id=24190011 https://news.ycombinator.com/item?id=24190011 https://news.ycombinator.com/item?id=24082524 https://news.ycombinator.com/item?id=24082524
- Jhchimaira14 6y agoI had no luck with these... lol
- Jhchimaira14 6y agoPretty crazy how this library blew up in the last 48 hours. Lol
- snypher 6y agoIs this due to being posted here or am I missing something? As an aside, it would be nice if the title was or similar to: 'DearPyGui: A GPU Accelerated Python GUI Framework'
- Jhchimaira14 6y agoIdk! Could be that or because it’s trending on github and Reddit’s python subreddit.
- red2awn 6y agoDifference to pyimgui?
- Jhchimaira14 6y agopyimgui tries to be a 1 to 1 wrapping of Dear ImGui, including the immediate mode paradigm. DearPyGui wraps Dear ImGui, provides a simulated traditional retained mode api, includes additional widgets and add-ons (plots, file dialogs, images, text editing widget, etc.), adds asyncronous support, addition items to the canvas, additional debug tools, etc. Ultimately it tries to provide a complete package. Not a 1 to 1 wrapping.
- NashHallucinate 6y agoWow, that is a lot less code than I was expecting to produce the results in their examples.
- pchal 6y agoStreamlit and Gradio are in the same category I think, so what are the differences ? https://www.streamlit.io/ https://www.streamlit.io/ https://www.gradio.app/ https://www.gradio.app/
- snarfy 6y agoIf you want to play with imgui there are some webassembly demos also: https://jnmaloney.github.io/WebGui/imgui.html https://jnmaloney.github.io/WebGui/imgui.html
- stuaxo 6y agoWhat's the difference between this and pyimgui ?
- Jhchimaira14 6y agopyimgui tries to be a 1 to 1 wrapping of Dear ImGui, including the immediate mode paradigm. DearPyGui wraps Dear ImGui, provides a simulated traditional retained mode api, includes additional widgets and add-ons (plots, file dialogs, images, text editing widget, etc.), adds asyncronous support, addition items to the canvas, additional debug tools, etc. Ultimately it tries to provide a complete package. Not a 1 to 1 wrapping.