Tip
Stable API Architecture (Beta 1.0.0b1): Although Fluvel is currently in the testing phase, the class structure, the context handler system, and the PYRO state engine are definitive. Future updates will focus on internal optimization and component expansion, ensuring that your current code remains compatible with stable versions. Caution is recommended in critical production environments until the final 1.0 release.
Fluvel is a declarative desktop framework for Python that brings modern reactive architecture to Qt applications, built on top of PySide6. It abstracts the complexity of Qt by replacing manual layout management with declarative context handlers and a Tailwind-inspired styling processor. Powered by the PYRO reactive engine, it enables deterministic state-to-UI binding and a decoupled resource architecture (i18n/theming), ensuring that large-scale Python applications remain performant and easy to refactor.
Fluvel in action: Scaffolding a project and real-time UI updates via Hot-Reload.
Get started in 30 seconds →
-
Declarative UI Architecture: Interface definition via the
Pageabstract class, utilizing a context-handler-based syntax. This approach abstracts boilerplate layout logic, focusing on component hierarchy and structural intent. Learn more → -
PYRO Reactive Engine: A standalone, agnostic state engine (Pyro Yields Reactive Objects) featuring automatic dependency tracking. It supports reactive primitives and collections (lists/dicts), enabling fine-grained UI binding and deterministic state synchronization. Learn more →
-
Utility-First Styling & QSSProcessor: High-performance styling via an integrated token-based system. The
QSSProcessorparses inline utility classes and external QSS, facilitating rapid component skinning without manual stylesheet overhead. Learn more →- Example:
Button(style="primary fg[red] b[2px solid blue]")
- Example:
-
Structural i18n & Logic Decoupling: Separation of concerns through
.fluml(Fluvel Markup Language) and XML schemas. This architecture decouples static/dynamic content from the Python business logic, enabling independent translation workflows and resource management. Learn more → -
Stateful Routing System: Centralized navigation management via the
Routerclass, handling page lifecycle and transitions within a unified application state. -
Integrated Dev-Tools CLI: A dedicated command-line interface for automated project scaffolding, asset management, and deployment workflows.
-
Hot-Reloading Environment: A development-time watcher that performs runtime hot-patching of pages. It allows for instantaneous UI and theme iterations without destroying the application process or losing current state. Learn more →
To install this version, use the following command:
# Setup environment
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
# Install Fluvel
pip install fluvelCreate your first application with the integrated CLI:
fluvel startproject
fluvel runOnce you have your first project up and running, you can delve deeper into Fluvel's fundamental pillars. Each of these modules is designed to cover a specific aspect of your application's lifecycle and development:
To delve deeper into Fluvel's infrastructure and understand the coordination of internal systems:
Explore the Technical Architecture Index here →
We have big plans for Fluvel, including AI-powered translations, Rust-core optimizations, and advanced IDE tooling.
Fluvel is an open-source project, licensed under the GNU LGPL-3.0 Licence (or any later version).