---
# System prepended metadata

title: Running Python applications in the browser with Pyodide

---

# Running Python applications in the browser with Pyodide

## Description (public)


## Outline (for organizers only)

1. Introduction (20 min)
   In this section we will provide an overview of Python running in the browser with WebAssembly using the Pyodide distribution 

2. Setting up a development environment (20 min)
   For practical work, participants would need to setup a working development environment. In particular, this would involve downloading the required files and starting a local web-server to serve them.

3. Using JavaScript libraries from Python (60 min)
   Pyodide includes a Foreign Function Interface (FFI) which allows to access objects and make function calls across the Python / JavaScript boundary. In this section, we will see on practical examples how from Python we can,
   - access simple JavaScript objects
   - make changes to the HTML page via its Document Object Model (DOM)
   - wrap JavaScript libraries so they are usable from Python
   
4. Exposing Python objects and packages to JavaScript (30 min)
   The Pyodide FFI also allows to use Python from Javascript, and we will see on a few practical examples how this is possible. No JavaScript knowledge is needed.
   

5. Dealing with common browser VM limitations (40 min)
   While CPython and Pyodide 

7. Creating and testing Python packages for the emscripten/wasm32 platform (40 min)

8. Conclusion (15min)


### Additional possible topics

- Using Pyodide in webworker?
- 
