# brython-dev/brython

**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/brython-dev-brython).**

6,598 stars · 529 forks · Python · BSD-3-Clause

## Links

- GitHub: https://github.com/brython-dev/brython
- awesome-repositories: https://awesome-repositories.com/repository/brython-dev-brython.md

## Description

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 manipulation of the document object model, enabling the control of HTML elements and browser events to create dynamic user interfaces. It also supports the delivery of static assets via a local server during development.

## Tags

### Web Development

- [In-Browser Python Runtimes](https://awesome-repositories.com/f/web-development/in-browser-python-runtimes.md) — Provides a complete Python 3 runtime that executes directly within the web browser.
- [DOM Element Manipulators](https://awesome-repositories.com/f/web-development/dom-element-manipulators.md) — Provides tools for programmatically interacting with and manipulating HTML elements in the browser DOM. ([source](https://github.com/brython-dev/brython/tree/master/npm))
- [DOM Content Updating](https://awesome-repositories.com/f/web-development/dom-element-manipulators/dom-content-updating.md) — Updates HTML elements and events to create or animate web page content through programmatic control. ([source](https://github.com/brython-dev/brython#readme))
- [DOM Manipulation Libraries](https://awesome-repositories.com/f/web-development/dom-manipulation-libraries.md) — Offers a Python interface for programmatically selecting and modifying HTML elements and handling browser events.
- [JavaScript Library Integrations](https://awesome-repositories.com/f/web-development/javascript-library-integrations.md) — Calls functions and shares data with external JavaScript frameworks to extend browser capabilities. ([source](https://github.com/brython-dev/brython#readme))

### Programming Languages & Runtimes

- [Bytecode Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-compilation.md) — Implements a process to transform Python source code into executable bytecode for browser execution.
- [Python Interpreters](https://awesome-repositories.com/f/programming-languages-runtimes/compact-webassembly-interpreters/browser-embedded-interpreters/python-interpreters.md) — Implements an interpreter that translates Python code into browser-executable instructions for interactive web pages.
- [JavaScript Interoperability](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-interoperability.md) — Provides a bidirectional bridge for exchanging data and invoking functions between the Python runtime and JavaScript libraries.
- [Source-to-JavaScript Transpilers](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-transpilers/source-to-javascript-transpilers.md) — Translates Python source code into executable JavaScript to leverage the native browser engine.
- [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) — Facilitates bidirectional communication and data sharing between the Python runtime and JavaScript libraries.

### User Interface & Experience

- [Browser Event Listeners](https://awesome-repositories.com/f/user-interface-experience/browser-event-listeners.md) — Hooks Python functions into standard browser event listeners to handle user interactions.
- [Language-to-DOM Mappings](https://awesome-repositories.com/f/user-interface-experience/virtual-dom-engines/direct-dom-mapping/language-to-dom-mappings.md) — Maps Python object calls directly to browser Document Object Model elements for UI manipulation.

### Development Tools & Productivity

- [Python Application Packagers](https://awesome-repositories.com/f/development-tools-productivity/python-application-packagers.md) — Bundles Python code and its dependencies into standalone native binaries for Android devices.
- [Android App Packagers](https://awesome-repositories.com/f/development-tools-productivity/python-application-packagers/android-app-packagers.md) — Provides a toolchain to package Python scripts into standalone Android APK or AAB files.
- [Android Python App Compilers](https://awesome-repositories.com/f/development-tools-productivity/python-application-packagers/android-python-app-compilers.md) — Enables the compilation of Python applications and dependencies into installable Android APK or AAB packages.

### Graphics & Multimedia

- [Language-Driven Interface Animations](https://awesome-repositories.com/f/graphics-multimedia/web-interface-animation-libraries/language-driven-interface-animations.md) — Controls HTML elements and browser events using Python to build interactive user interfaces and page animations.

### Mobile Development

- [Python App Builds for Android](https://awesome-repositories.com/f/mobile-development/android-applications/android-app-execution/android-app-downloads/python-app-builds-for-android.md) — Compiles Python applications and dependencies into Android APK or AAB packages. ([source](https://github.com/brython-dev/brython/wiki/Writing-an-Android-application))
