PyCon APAC 2023

Streamlit meets WebAssembly - stlite
2023-10-27 , track 1

Streamlit, a web-based pure-Python data app framework, has been ported to WebAssembly as "stlite".
See its power and convenience with many live examples and explore its internals from technical perspective.
You will learn how to quickly build interactive in-browser apps that work offline, maintain data privacy, and can even be packaged as desktop executables using only Python.


Streamlit is a popular framework for interactive web-based data apps in Python. However, there are some cases where users want to run their apps offline or without sending sensitive data to remote servers. To address these concerns, we introduce 'stlite': a WebAssembly port of Streamlit. It provides offline capability, data privacy, scalability, and multi-platform portability including desktop app packaging, while preserving Streamlit's original features, such as Python productivity and its rich ecosystem.

In this talk, we will discuss the benefits of stlite and demonstrate how to build and deploy stlite applications in a variety of ways, using ML/CV examples.
We will also look at its internals from a technical point of view, which may inspire you with ideas on how to make use of Pyodide and how to transform Python frameworks for the Pyodide/Wasm runtime.

You can try out stlite online: https://edit.share.stlite.net/

Yuichiro works as a professional software developer and also loves contributing to OSS projects. As a Pythonista, he has participated in various projects including web development, multimedia streaming, data management, computer vision, and machine learning.