Declarative User Interfaces with constraints-based layout engine for Python

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. enaml

    Declarative User Interfaces for Python

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. kiwi-java

    A Java port of the Kiwi C++ implementation of the Cassowary constraint solving algorithm

    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

  4. jasper

    Haxe port of Kiwi's implementation of the cassowary algorithm. (by PongoEngine)

    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

  5. kiwi

    Efficient C++ implementation of the Cassowary constraint solving algorithm (by nucleic)

    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

  6. kiwi

    Constraint solving library (by yglukhov)

    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

  7. cssgrid

    Pure Nim CSS Grid layout engine

    https://github.com/elcritch/cssgrid/blob/main/tests/tlayout....

    Super easy to let autoflow pack around your main items which is great for UIs:

  8. pyrract

    Discontinued A React-esque library for Python

    This is really cool. I was playing around with a similar concept myself a few years ago (trying to build something React-esque, but for Python GUIs). It was way over my head then though, so I've never got anything more than a proof of concept working.

    https://github.com/notpushkin/pyrract

  9. Sevalla

    Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!

    Sevalla logo
  10. enaml-web

    Build interactive websites with enaml

  11. traitsui

    TraitsUI: Traits-capable windowing framework

    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.

  12. qtpy

    Provides an uniform layer to support PyQt5, PySide2, PyQt6, PySide6 with a single codebase

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Declarative GUI with constraints-based layout engine for Python

    1 project | /r/patient_hackernews | 11 Sep 2022
  • Declarative GUI with constraints-based layout engine for Python

    1 project | /r/hackernews | 11 Sep 2022
  • Declarative GUI with constraints-based layout engine for Python

    1 project | /r/hypeurls | 11 Sep 2022
  • 🔥 Simulating Course Schedules 600x Faster with Web Workers in CourseCast

    2 projects | dev.to | 21 Aug 2025
  • 5 tools we wish were on the Awesome AI Tools list

    5 projects | dev.to | 15 Aug 2025

Did you know that Python is
the 2nd most popular programming language
based on number of references?