Stlite

Stlite: In-browser Streamlit

Run Streamlit apps directly in your browser. No server required. Prototype and share with ease.

stlite_demo.py

Key Features of Stlite

Browser-Native Execution

Run Streamlit apps directly in your browser without any server-side dependencies, enabling instant prototyping and sharing.

Lightning-Fast Development

Leverage Stlite Sharing for rapid prototyping and seamless collaboration. Develop, iterate, and share your data apps with unprecedented speed and ease.

Streamlit Compatibility

Harness the full power of Streamlit's intuitive API in a serverless environment, maintaining consistency with your existing Streamlit workflows.

Effortless Deployment

Deploy your apps with ease, whether through Stlite Sharing, self-hosted web pages, or as desktop applications. No need for server-side Python runtime setup, simplifying the deployment process.

Offline Capability & Privacy

Create apps that work offline as PWAs or desktop applications, ensuring data privacy and enhancing security by keeping sensitive information local.

Versatile Usage

From web applications to desktop software, Stlite adapts to your needs. Perfect for creating interactive data visualizations, prototypes, or full-fledged applications.

Streamlit and Stlite

Stlite is a derivative project that builds upon the excellent foundation laid by Streamlit. While Streamlit is a powerful and versatile framework for creating data applications, Stlite extends its capabilities to cover use cases that Streamlit wasn't originally designed for.

We have deep respect for Streamlit and recognize its strengths in server-based deployments. Stlite complements Streamlit by enabling browser-native execution, allowing developers to run Streamlit apps without a dedicated server. This opens up new possibilities for prototyping, sharing, and deploying Streamlit applications.

By choosing Stlite, you're not moving away from Streamlit, but rather expanding the horizons of what's possible with your Streamlit applications.

Deployment Options

Stlite Sharing

Stlite Sharing illustration

A web platform designed for developing and sharing Streamlit apps powered by Stlite. Perfect for quick prototypes and demonstrations. Generates a sharable URL without sending or storing data on remote servers.

Self-hosted Web Pages

Self-hosted Web Pages illustration

Host your own web pages by importing the Stlite code and executing your Streamlit apps. Works even on static web pages, giving you full control over your deployment. Can be used to create Progressive Web Apps (PWAs) for offline capability and desktop-app-like experience.

Desktop Apps

Desktop Apps illustration

Package your Streamlit app into a desktop application executable. Ideal for offline use or distribution to users who prefer native applications.

Get Started

Stlite Sharing

To get started with Stlite Sharing:

  1. Visit the Stlite Sharing platform
  2. Create a new project
  3. Write your Streamlit app code
  4. Click "Run" to see your app in action
  5. Share the unique URL with others

Stlite Sharing generates a single static HTML file containing your app and its data, ensuring privacy and easy distribution.

How Stlite Works: Under the Hood

The Technology Behind Stlite

Stlite leverages cutting-edge web technologies to bring Streamlit apps directly to your browser or desktop. Here's a visual representation of the technical stack:

Stlite Technical StackA visual representation of Stlite's technical stack, showing the layers from Web Browser / Desktop App to Stlite Frontend as stacked cards.Stlite FrontendWebWorkerStlite Python ServerPyodide (Wasm CPython)WebAssembly RuntimeWeb Browser / Desktop App

Stlite Frontend

The user interface layer that renders Streamlit components and manages user interactions.

WebWorker

Manages the Pyodide runtime and facilitates communication between the Stlite frontend and the Python server.

Stlite Python Server

A customized Streamlit server that runs entirely in the browser, enabling Streamlit apps without a traditional backend.

Pyodide (Wasm CPython)

A WebAssembly-based Python runtime that allows Python code execution directly in the browser or desktop environment.

WebAssembly Runtime

A high-performance execution environment for running compiled code in web browsers, enabling near-native speed.

Web Browser / Desktop App

Stlite runs in modern web browsers or as a desktop application using Electron, providing flexibility in deployment and usage.

Join Our Community

Stlite is an open-source project. We welcome contributions and feedback from the community.