PSX lets you describe UI with Python components or JSX-like markup while it renders real widgets through PySide6, PyQt6, PyQt5, Tkinter, or Kivy. It has a small portable core (Column, Row, Text, ...