30 open-source projects similar to python-eel/eel, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Eel alternative.
Eel is a framework for creating desktop applications using a Python backend and a web-based frontend. It acts as a bidirectional bridge between Python and JavaScript, allowing developers to build graphical user interfaces with HTML and JavaScript that communicate with local system logic. The project facilitates two-way communication by enabling the exposure of Python functions to the browser and allowing the backend to trigger JavaScript functions. It uses a local server to render web interfaces as standalone desktop windows and provides tools to bundle the Python code and web assets into a s
This project is a collection of implementation patterns and source code examples for building desktop applications using various Python interface libraries. It provides reference implementations and architectural patterns for multiple frameworks, including PyQt, PySide, Tkinter, Kivy, and Streamlit. The repository distinguishes itself by offering specialized examples for diverse interface types, ranging from professional desktop software and native windows to reactive web-based data dashboards and data science tools. It includes specific reference material for cross-platform UI patterns, such
Flet is a cross-platform framework that enables developers to build interactive desktop, mobile, and web applications using only Python. By utilizing a declarative programming model, it allows for the construction of complex user interfaces through a hierarchical structure of components, removing the need for specialized knowledge of web-specific languages like HTML, CSS, or JavaScript. The framework distinguishes itself by offloading visual rendering to a high-performance graphics engine while maintaining application logic within a centralized server-side environment. This architecture synch
Toga is a cross-platform application framework and native GUI toolkit for Python. It serves as a multi-platform frontend wrapper that allows a single codebase to be deployed across macOS, Windows, Linux, Android, and iOS. The toolkit functions as a native widget UI library, mapping high-level Python interface definitions directly to the host operating system's own visual components. This ensures that applications use native system widgets to match the look and feel of the target environment rather than relying on custom drawing libraries. The framework covers cross-platform development for d
PySimpleGUI is a Python framework used to build graphical user interfaces. It functions as an adapter-based wrapper that maps multiple GUI toolkit APIs into a single unified interface, allowing for backend-agnostic development across tkinter, Qt, or WxPython. The project uses a layout-based UI definition system where visual hierarchies are defined via nested lists rather than coordinate-based placement. It employs an event-driven polling loop and string-based event mapping to associate interface elements with specific user actions. The framework supports cross-framework GUI design and intera
pywebview is a cross-platform desktop GUI framework for Python that renders HTML, CSS, and JavaScript content using the operating system's native web rendering engine. It enables developers to build desktop applications that run on Windows, macOS, and Linux from a single Python codebase, with the web frontend displayed in a lightweight, native window. The framework provides a bidirectional JavaScript-Python bridge for real-time data exchange between frontend and backend, along with the ability to manipulate the Document Object Model directly from Python without writing JavaScript. It includes
Neutralinojs is a lightweight cross-platform desktop application framework that allows developers to build native applications using web technologies and a C++ backend. It serves as a native system API bridge, enabling JavaScript frontend code to execute system commands and manage files across Windows, macOS, and Linux. The project distinguishes itself as a portable runtime that renders interfaces via the system's built-in webview instead of bundling a full browser engine. This approach enables the packaging of web assets into small, standalone executable binaries. The framework provides com
Lorca is a framework for building cross-platform desktop applications using Go for the backend logic and HTML5 for the user interface. It functions as a wrapper that renders a web browser as the application window while executing core logic in a native process. The project provides a communication bridge that binds native Go functions to the browser environment and allows the backend to execute JavaScript directly within the browser window. It includes capabilities for packaging binaries with custom icons and branding for multiple operating systems. The framework covers window management, su
DearPyGui is a GPU-accelerated, immediate-mode graphical user interface framework for Python. It provides a high-performance toolkit for building interactive desktop applications by leveraging native hardware-accelerated rendering backends across multiple operating systems. By utilizing an immediate-mode execution model, the library offers direct control over the rendering loop and element state, enabling the creation of responsive, dynamic interfaces. The framework distinguishes itself through its ability to handle complex, high-frequency visual updates, making it suitable for real-time data
Phoenix is a cross-platform Python framework designed for building native desktop graphical user interfaces. It functions as a language binding generator and build automation system, enabling developers to create applications that utilize the underlying operating system's native controls and visual styles. The project provides a mechanism for mapping native C++ graphical toolkit components to Python, allowing for the development of desktop
Kivy is a cross-platform Python GUI framework used to build graphical user interfaces that run on desktop and mobile operating systems from a single codebase. It functions as a multi-touch UI library and a custom widget toolkit, providing a development environment for packaging Python applications into binary installations for Android and iOS. The framework is distinguished by its ability to handle complex multi-touch gestures and interactive input across various devices. It utilizes a specialized domain language for declarative UI construction to separate visual layout definitions from Pytho
fbs is a Python desktop application packager and cross-platform application installer. It serves as a utility for compiling Python code into standalone executables and bundling application resources into platform-specific installation packages for various desktop environments. The project functions as a Qt Python GUI builder and resource bundler. It provides a system for creating desktop user interfaces using Python and the Qt framework while packaging external files and assets to be accessed during application runtime. Its broader capabilities cover desktop application packaging, cross-plat
CustomTkinter is a Python GUI framework and library used to build modern desktop applications. It serves as a toolkit for creating cross-platform graphical interfaces with a specific focus on theme-aware components and high-resolution display support. The library provides a set of widgets based on the Tkinter framework that synchronize with operating system appearance settings. It includes a theme engine to manage light and dark modes and integrates system-level scaling to ensure visual consistency across different monitors and display densities. The toolkit covers graphical interface compos
Synapse is a Matrix homeserver implementation that provides the infrastructure for decentralized, real-time communication and messaging. It functions as a federated chat server that synchronizes room data and event streams across independent server instances to enable cross-domain interoperability. The server utilizes a hybrid core that integrates performance-critical logic in Rust with a Python orchestration layer. It employs a PostgreSQL relational database for persisting user accounts and conversation history, and uses a Redis-based messaging system to distribute tasks across horizontal wo
Trunk is a build tool and development server for compiling Rust code to WebAssembly and packaging it for browser deployment. It functions as a web bundler that combines WebAssembly modules, JavaScript, and static files into a deployable web application. The tool provides a local development server utilizing HTTP and WebSocket proxies to enable rapid iteration. This environment includes a file-system watcher that triggers automatic rebuilds and browser reloading when source files are modified. The pipeline handles the conversion of Rust source code into WebAssembly binaries and generates the
Reveal-md is a command-line tool that transforms Markdown files into interactive, web-based slide decks using the reveal.js framework. It functions as a comprehensive presentation generator, providing an integrated environment for authoring, previewing, and distributing structured slide content. The tool distinguishes itself through a robust development workflow that includes a local server with live reloading, allowing for real-time visual feedback as source files are modified. It supports advanced content customization through metadata-driven configuration, enabling users to define slide hi
Walk is a comprehensive framework for building native Windows desktop applications. It functions as a GUI library and Windows API wrapper, providing a toolkit of native widgets and a declarative layout system for developing high-performance user interfaces. The project is distinguished by its data-binding framework, which uses reflection and string-based property paths to synchronize data sources with interface widgets. It also provides specialized support for high-DPI interface scaling and an optimized native message loop to reduce runtime overhead. The toolkit covers a wide range of capabi
NiceGUI is a web framework that enables the creation of interactive user interfaces and dashboards using only Python. It functions as a reactive system, automatically synchronizing state between the server and the browser to update interface elements in real time without requiring manual intervention. The framework allows developers to build complex web applications by writing standard Python logic, eliminating the need to author custom HTML, CSS, or client-side scripts. It manages the orchestration of the interface by dynamically injecting necessary assets and reconciling changes to the comp
Python is a high-level, interpreted programming language designed for readability and versatility. It operates via a bytecode-based virtual machine and manages memory automatically through reference-counting garbage collection. The language supports multiple programming paradigms, including object-oriented, imperative, and functional styles, and provides a comprehensive standard library for system operations, networking, and data handling. The language is distinguished by its dynamic nature, allowing for runtime object introspection and metaclass-driven class creation. It utilizes protocol-ba
DearPyGui is a hardware-accelerated Python GUI framework and graphics rendering engine. It operates as an immediate mode user interface system, rendering frames from scratch to ensure high performance and minimal state management for desktop applications. The project functions as a GPU-accelerated plotting library capable of rendering millions of data points with high frame rates. It also serves as a node editor toolkit for constructing interactive graph-based interfaces to manage visual data flows. The framework includes capabilities for custom 2D graphics rendering, interface theme customi
Sun-Valley-ttk-theme is a styling library for the Tkinter toolkit that provides a modern visual aesthetic for desktop applications. It functions as a collection of design assets and configuration frameworks that update the appearance of standard interface widgets to align with contemporary design standards. The library enables dynamic switching between light and dark visual modes at runtime, allowing applications to respond to user preferences without requiring a restart. It includes utilities for automatic synchronization with system-level theme settings, ensuring consistent visual presentat
Toga is a cross-platform UI framework and Python native GUI toolkit used to build applications that render native user interfaces across different operating systems. It functions as a native widget wrapper, mapping Python code to native operating system components to ensure a consistent look and feel. This development kit allows a single codebase to be deployed across desktop computers, handheld mobile devices, and web browsers. It utilizes a multi-backend rendering engine to direct UI declarations to the appropriate renderer based on the target environment. The framework covers native deskt
PyQt-Fluent-Widgets is a Python GUI component library and framework extension that provides a set of pre-styled UI components following modern Fluent design standards. It replaces standard PyQt controls with a specialized widget set designed for building contemporary desktop applications. The library distinguishes itself by offering advanced layout patterns, such as waterfall grids, loading skeleton screens, and split-view application shells. It provides a comprehensive collection of high-level interface elements, including navigation menu systems, configuration setting cards, and complex vie
Tkinter-Designer is a tool for converting Figma design files into executable Python source code and visual assets. It automates the transformation of visual design layouts into functional Tkinter source code to facilitate the creation of desktop application prototypes. The project converts Figma design URLs and API tokens into functional interfaces, processing individual design frames as independent views. This enables the generation of multi-screen applications with navigation logic to move between different layouts. The generated output uses a class-based architecture to organize screens,
Puerts is a TypeScript runtime embedder and game engine scripting framework designed to integrate dynamic languages into low-level host applications. It functions as a high-performance cross-language API bridge, allowing developers to execute gameplay logic and editor scripts using TypeScript and JavaScript within a compiled host environment. The project distinguishes itself through a unified bridging API that supports pluggable scripting backends, enabling the selection or hot-swapping of different language engines to balance execution speed against binary size. It provides automated type de
This project provides a full Python interpreter compiled to WebAssembly, enabling the execution of Python code and scientific libraries directly within web browsers and server-side environments. By bridging the gap between language runtimes, it allows developers to run computational tasks, manage packages, and perform data analysis in client-side environments without requiring a backend server. The platform distinguishes itself through a comprehensive foreign function interface that enables bidirectional data exchange, object proxying, and function calling between Python and JavaScript. It in
Webhook is a lightweight automation server that executes local shell scripts and system commands in response to incoming HTTP requests. It functions as an integration engine, mapping external network events to server-side tasks by parsing request payloads and triggering predefined processes. The project distinguishes itself through a declarative configuration model that allows for dynamic argument injection. By extracting values from request headers, query parameters, or bodies, it populates command templates to facilitate flexible script execution. This enables the automation of infrastructu
WeFlow is a local client extension for the WhatsApp messaging protocol. It functions as a suite of tools for decrypting media, managing chat history, and extending the core capabilities of the messaging client. The project is distinguished by its ability to block message recalls, preventing the remote deletion of sent messages to maintain a permanent record of conversations. It also includes a local messaging API that exposes internal chat capabilities via an HTTP service for use with external automation scripts and third-party tools. The software provides a chat analytics dashboard for gene
Brython is a Python 3 runtime and interpreter that executes scripts directly in the web browser. It serves as a client-side environment that translates Python source code into executable JavaScript to handle frontend logic without requiring server round-trips. The project provides a bidirectional interoperability bridge between Python and JavaScript, allowing for the integration of external JavaScript libraries. It further functions as a tool for packaging Python scripts into standalone native mobile applications for Android devices. The runtime includes a library for programmatic manipulati
BrowserSync is a web development synchronization tool and live reload server. It functions as a local static web server, a reverse proxy server for existing sites, and a browser testing orchestrator that coordinates page state across different browsers and physical devices. The tool is distinguished by its ability to mirror user interactions, such as clicks, scrolls, and form inputs, in real time across all connected devices. It also provides a web-based device control interface and the capability to create public URL tunnels for remote testing of local sites. The system covers a broad range