kiwi
traitsui
kiwi | traitsui | |
---|---|---|
2 | 3 | |
656 | 293 | |
0.9% | 0.7% | |
5.6 | 4.6 | |
12 days ago | 11 days ago | |
C++ | Python | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
kiwi
-
Declarative User Interfaces with constraints-based layout engine for Python
Nucleic also makes Kiwi one of the fastest Cassowary Constraint implementations. It is very useful for implementing custom GUIs as it can make building internal component layouts and general layout systems fairly straightforward and it’s very performant.
I highly encourage taking a look at it and it has also been ported to a wide range of language.
I’m using Nim kiwi with my own GUI library now. I’ll have to take a peak at how enaml is using kiwi for its layouts.
https://kiwisolver.readthedocs.io/en/latest/
https://github.com/alexbirkett/kiwi-java
https://github.com/PongoEngine/jasper
https://github.com/yglukhov/kiwi
-
Luau Goes Open-Source
If any of the Luau devs are watching this, please flesh out the metamethods. I'd switch almost everything to Luau if they were improved.
They're the biggest PITA right now as designed in PUC-Rio, and I see that while you've improved upon __eq, other metamethods are still lacking.
In PUC-Rio, boolean equality operators FORCE a boolean result, regardless of what you return. Ideally they would allow returning any result type, which then can be coerced to boolean later (e.g. by an `if` statement), just like the arithmetic operators do.
Further, `__neq`, `__ge` and `__gt` do not exist. They should.
The lack of a proper metamethod design means that binding to e.g. Kiwi[0] is impossible without some incredibly fugly hacks. It has been a long-standing annoyance with Lua in an otherwise beautiful little scripting language (that I use frequently).
This looks quite nice - lots of attempts in this space but nothing that attempts to match Lua to this degree.
[0] https://github.com/nucleic/kiwi
traitsui
-
What are you guys using for making GUIs nowadays?
I'm using TraitsUI for every standalone GUI app right now. It's a wrapper around PySide, PyQt and WX, mostly autogenerating the GUI using view definitions. https://docs.enthought.com/traitsui/
-
Courses/resources of TraitsUI 7
If anyone could be interested in the same material, I found something potentially interesting at the git repo of TraitsUI.
-
Declarative User Interfaces with constraints-based layout engine for Python
It's not quite a new implementation, since the initial version of enaml was implemented almost a decade ago, and was partly inspired by an earlier toolkit called Traits/TraitsUI - https://github.com/enthought/traitsui.
What are some alternatives?
enaml-web - Build interactive websites with enaml
enaml - Declarative User Interfaces for Python
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
cssgrid - Pure Nim CSS Grid layout engine
qtpy - Provides an uniform layer to support PyQt5, PySide2, PyQt6, PySide6 with a single codebase
Azure-ttk-theme - A stunning modern theme for ttk inspired by Fluent Design 💠
kiwi-java - A Java port of the Kiwi C++ implementation of the Cassowary constraint solving algorithm
streamlit - Streamlit — A faster way to build and share data apps.
CustomTkinter - A modern and customizable python UI-library based on Tkinter
pyrract - A React-esque library for Python