Skip to main content

Clera — GUI Development with Python 🐍

PyPI Downloads PyPI Version Python Versions License Platform


Clera is a Python GUI framework that lets you build desktop applications quickly and simply — with a low learning curve and minimal boilerplate.


NOTE: Clera is currently in developer beta. Core features are stable and undergoing broader testing before the full public release. To participate in testing or get help, reach out at eirasmx@pm.me


✦ THE BASICS

Installation

pip install clera

Requires Python 3.7+ and PySide6.


Your First Window

Every Clera application starts with a Window. This is the skeleton of any GUI built with Clera:

from clera import Window

window = Window()
# Add your widgets and layouts here
window.run()

Output:

Window

" Why Complicate Simplicity? "


Adding Widgets

Clera widgets are simple, readable Python objects. Here's a basic example with a label and a button:

from clera import Window, Label, Button, Box

def on_click():
    print("Hello from Clera!")

window = Window()
window.add(
    Box([
        Label("Welcome to Clera 👋"),
        Button("Click Me", func=on_click)
    ])
)
window.run()

Layouts

Use Box for vertical/horizontal stacking and Grid for grid-based arrangements:

from clera import Window, Box, Grid, Label

window = Window()
window.add(
    Grid([
        [Label("A"), Label("B")],
        [Label("C"), Label("D")]
    ])
)
window.run()

Styling

Clera uses a CSS-like styling system with its own tag aliases. You can apply styles inline or link an external .cx stylesheet:

window = Window(style="background: #1e1e1e;")

✦ TOOLS

Clera ships with two built-in command-line tools:

Command Description
clera-editor Launch the Clera Style Editor — itself built with Clera
clera-deploy Package your Clera app into a standalone executable

Run either from your terminal or command prompt after installing Clera.


✦ PLATFORMS

Hardware

  • Desktop and Laptops

OS

  • 🪟 Windows
  • 🍎 macOS
  • 🐧 Linux

📖 Docs: Visit https://clera.readthedocs.io for full documentation and guides.




RELEASE NOTES

v0.3.1 (2026-04-21) - Developer Beta

  • Splitter widget with live resize and collapsible panes (added)
  • TreeView widget with drag-and-drop, branch editing, and sorting (added)
  • SpinBox widget with integer and float modes, prefix and suffix support (added)
  • cursor() element with custom image and type support (added)
  • Context menu support to Image, List, Select, and Table widgets (added)
  • font() helper for loading external font files (added)

  • Box() and Grid() now accept css, size, fixed_size, min_size, max_size, and id parameters (added)
  • Column() now accepts margin and spacing parameters (added)
  • tab() now accepts an id parameter (added)
  • Window.run() now accepts instance and child parameters for multi-window support (added)
  • Window.fullscreen() method (added)
  • Window now accepts alignment, radius, and hide_cursor parameters (added)
  • Rounded window mask with radius parameter and live resize support (added)

  • Multi-window management via internal window registry (added)
  • ensure_window_root() utility for multi-window context resolution (added)
  • CSS scoping improvements and alias table pre-compilation for faster parsing (improved)
  • MenuBar class renamed from Menubar for consistency (changed)

  • Custom exception classes now carry docstrings (improved)
  • blob and null database types expanded with proper class bodies (improved)
  • Clera Editor layout stabilised; editor auto-runs on import (fixed)


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clera-0.3.1.tar.gz (313.6 kB view details)

Uploaded Source

File details

Details for the file clera-0.3.1.tar.gz.

File metadata

  • Download URL: clera-0.3.1.tar.gz
  • Upload date:
  • Size: 313.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for clera-0.3.1.tar.gz
Algorithm Hash digest
SHA256 87707d9cf63ce22af701be3ca1b6859b2a67a3595879edf04bf0d7d427ae5f91
MD5 48a7ead4db14cef42bd9bb7b2b0cb4e3
BLAKE2b-256 be5e0737e071168330f2c103c71095935c646b9e914bc8728184ea3224ca6ddc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

1 file

0.3.0

1 file

0.2.6

1 file

0.2.5

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page