# python-eel/eel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/python-eel-eel).**

6,747 stars · 606 forks · Python · MIT · archived

## Links

- GitHub: https://github.com/python-eel/Eel
- awesome-repositories: https://awesome-repositories.com/repository/python-eel-eel.md

## Topics

`hacktoberfest`

## Description

Eel is a Python HTML GUI framework designed for building desktop applications that utilize a Python backend and an HTML and JavaScript frontend. It functions as a local web server wrapper that hosts application assets and manages the browser window to provide a user interface.

The framework provides a bidirectional Python-JavaScript bridge, allowing functions in either language to call each other in real time. It also includes a desktop application bundler to package Python code and web assets into a standalone executable for distribution.

The system covers application window management, local web server hosting, and asynchronous background tasking to maintain interface responsiveness during computations.

## Tags

### User Interface & Experience

- [Python GUI Frameworks](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/gui-toolkits/python-gui-frameworks.md) — Provides a framework for creating desktop applications using Python for logic and HTML/JS for the user interface.
- [Browser-Based Desktop UIs](https://awesome-repositories.com/f/user-interface-experience/browser-based-desktop-uis.md) — Uses a web browser as the primary rendering engine to provide the desktop application user interface.
- [Asynchronous Desktop UIs](https://awesome-repositories.com/f/user-interface-experience/asynchronous-desktop-uis.md) — Enables building responsive desktop tools that run heavy Python computations in the background while keeping the UI active.

### Networking & Communication

- [Bidirectional Bridges](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-clients-and-servers/bidirectional-bridges.md) — Implements a bidirectional WebSocket bridge to exchange JSON messages between the Python backend and JavaScript frontend.
- [Local HTTP Servers](https://awesome-repositories.com/f/networking-communication/local-http-servers.md) — Includes an embedded local HTTP server to host the HTML, CSS, and JavaScript assets for the UI.

### Programming Languages & Runtimes

- [Cross-Language Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/cross-language-bridges.md) — Bridges Python and JavaScript to share data and trigger functions between the backend and frontend.
- [Python-JavaScript Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/language-host-runtime-bridges/python-javascript-bridges.md) — Provides a bidirectional bridge for serializing data and mapping function calls between Python and JavaScript runtimes. ([source](https://cdn.jsdelivr.net/gh/python-eel/eel@main/README.md))
- [Value Retrieval Mechanisms](https://awesome-repositories.com/f/programming-languages-runtimes/bidirectional-cross-language-calls/value-retrieval-mechanisms.md) — Implements mechanisms to retrieve return values from functions called across the language bridge using callbacks or blocking calls. ([source](https://cdn.jsdelivr.net/gh/python-eel/eel@main/README.md))
- [Asynchronous Event Loops](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/asynchronous-event-loops.md) — Utilizes an asynchronous event loop to manage concurrent Python tasks and bridge communication without blocking the UI.

### Web Development

- [Local Server Hosting](https://awesome-repositories.com/f/web-development/asp-net-core-application-frameworks/local-server-hosting.md) — Implements an internal web server to serve web content within a desktop process.
- [Local Web App Hosting](https://awesome-repositories.com/f/web-development/local-web-app-hosting.md) — Serves web application interfaces from local files to render the user interface. ([source](https://cdn.jsdelivr.net/gh/python-eel/eel@main/README.md))
- [Packaged App Distributions](https://awesome-repositories.com/f/web-development/local-web-app-hosting/packaged-app-distributions.md) — Packages a local web server and assets into a distribution that allows users to run the app without source installation.

### Development Tools & Productivity

- [Asset Bundling](https://awesome-repositories.com/f/development-tools-productivity/bundle-distribution-tooling/asset-bundling.md) — Provides tooling to include Python source code and web assets within a distribution package.
- [Desktop Application Packagers](https://awesome-repositories.com/f/development-tools-productivity/desktop-application-packagers.md) — Transforms Python code and web assets into standalone executable binaries for desktop operating systems.
- [Standalone Binary Packaging](https://awesome-repositories.com/f/development-tools-productivity/lightweight-application-frameworks/standalone-binary-packaging.md) — Bundles code and assets into a single standalone executable for distribution without requiring a pre-installed environment. ([source](https://cdn.jsdelivr.net/gh/python-eel/eel@main/README.md))

### Software Engineering & Architecture

- [Asynchronous Background Processors](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-background-processors.md) — Offloads long-running computations to background tasks to maintain interface responsiveness. ([source](https://cdn.jsdelivr.net/gh/python-eel/eel@main/README.md))

### Part of an Awesome List

- [Desktop Application Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/desktop-application-frameworks.md) — Library for creating simple HTML/JS GUI apps with Python.
- [GUI Development](https://awesome-repositories.com/f/awesome-lists/devtools/gui-development.md) — Enables building Electron-like desktop apps using HTML and JavaScript.
