awkward
DearPyGui
awkward | DearPyGui | |
---|---|---|
4 | 257 | |
793 | 12,266 | |
0.6% | - | |
9.6 | 7.6 | |
6 days ago | 8 days ago | |
Python | C++ | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awkward
-
Efficient Jagged Arrays
there's a whole ecosystem in Python originally developed for high energy physics data processing: https://github.com/scikit-hep/awkward all because Numpy demands square N-dimensional array
Same technique used everywhere, here's a simple Julia pkg for the same thing: https://github.com/JuliaArrays/ArraysOfArrays.jl/blob/3a6f5b...
But Julia at least has the decency to just support ragged Vector{Vector} out of the box, and it's not that slow
-
The hand-picked selection of the best Python libraries released in 2021
Awkward Array.
-
Awkward: Nested, jagged, differentiable, mixed type, GPU-enabled, JIT'd NumPy
Numba's @vectorize decorator (https://numba.pydata.org/numba-doc/latest/user/vectorize.htm...) makes a ufunc, and Awkward Array knows how to implicitly map ufuncs. (It is necessary to specify the signature in the @vectorize argument; otherwise, it won't be a true ufunc and Awkward won't recognize it.)
When Numba's JIT encounters a ctypes function, it goes to the ABI source and inserts a function pointer in the LLVM IR that it's generating. Unfortunately, that means that there is function-pointer indirection on each call, and whether that matters depends on how long-running the function is. If you mean that your assembly function is 0.1 ns per call or something, then yes, that function-pointer indirection is going to be the bottleneck. If you mean that your assembly function is 1 μs per call and that's fast, given what it does, then I think it would be alright.
If you need to remove the function-pointer indirection and still run on Awkward Arrays, there are other things we can do, but they're more involved. Ping me in a GitHub Issue or Discussion on https://github.com/scikit-hep/awkward-1.0
DearPyGui
-
PysimpleGUI
For native GUI, DearPyGui[0] as modern as you can.
For browser web-based GUI, you can use nicegui[1]
[0] -- https://github.com/hoffstadt/DearPyGui
[1] -- https://github.com/zauberzeug/nicegui
-
Need help with text alignment
If it's just to align text in the centre or to the right of a box, you could use a button and, by using theming, hide the fact that it's a button. https://github.com/hoffstadt/DearPyGui/issues/1111
-
Which GUI module is better in Python? tkinter or PyQt or kivy?
Personally, i like PyQt or PySide they have basically everything you need to make a proper app or even simple apps, but there is another DearPyGui this is basically python version of imgui the c++ library, it provides some good customization options and can be used for simple or complex projects too, their discord is also very helpful.
-
Dynamic plot
There are some examples in the showcase as well. https://github.com/hoffstadt/DearPyGui/wiki/Dear-PyGui-Showcase
- Segfault when running on MacOS when refreshing static textures
-
What to look for in a GUI?
I'm a big fan of DearPyGUI
-
Centering text in window/
Use a button and set width of the button equal to the width of the window. Using theming to set the button text alignment to center. A comparable solution, for aligning to the right, can be found here. https://github.com/hoffstadt/DearPyGui/issues/1111
-
What tools are available to begin building a GUI for python?
I was using PyQt5/PySide which will give you a nice native look but I eventually shifted over to DearPyGui for most of my smaller utilities. Its just faster for me. You will get more options and freedom with PyQt/PySide though and can use QT Designer to design your interfaces pretty easily.
- How to play video file with audio with DearPyGUI (Python)?
- Is it possible to animate a Node Editor window?
What are some alternatives?
sqlmodel - SQL databases in Python, designed for simplicity, compatibility, and robustness.
PySimpleGUI - Python GUIs for Humans! PySimpleGUI is the top-rated Python application development environment. Launched in 2018 and actively developed, maintained, and supported in 2024. Transforms tkinter, Qt, WxPython, and Remi into a simple, intuitive, and fun experience for both hobbyists and expert users.
uproot5 - ROOT I/O in pure Python and NumPy.
kivy - Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
django-ninja - 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
numba-dpex - Data Parallel Extension for Numba
imnodes - A small, dependency-free node editor for dear imgui
skweak - skweak: A software toolkit for weak supervision applied to NLP tasks
pywebview - Build GUI for your Python program with JavaScript, HTML, and CSS
AugLy - A data augmentations library for audio, image, text, and video.
streamlit - Streamlit — A faster way to build and share data apps.