A hidden streamlit component that allows client side (javascript) to trigger events on the server side (python) and vice versa
Project description
Streamlit Bridge
Introduction
These two components offer more flexibility in creating Streamlit applications by allowing you to easily incorporate HTML and JS.
Here are some examples:
-
import streamlit as st from st_bridge import bridge, html data = bridge("my-bridge", default="no button is clicked") html(""" <button onClick="stBridges.send('my-bridge', 'button 1 is clicked')">Button 1</button> <button onClick="stBridges.send('my-bridge', 'button 2 is clicked')">Button 2</button> <button onClick="stBridges.send('my-bridge', 'button 3 is clicked')">Button 3</button> """) st.write(data)
Installation
pip install streamlit-bridge
API
Bridge Component
def bridge(
name: str,
default: Optional[Any] = None,
key: Optional[str] = None,
):
"""Create a new instance of "Streamlit Bridge", allowing call from the client to
the server.
Everytime JS client send data to the server, streamlit will trigger a rerun and the data
is returned by this function.
Args:
name: unique name of the bridge to identify the bridge Javascript's call will send data to
default: the initial return value of the component before the user has interacted with it.
key: streamlit component's id
"""
To send data from the client to a corresponding bridge component with <bridge-name>
, use the function: window.stBridges.send(<bridge-name>, <data>);
or window.parent.stBridges.send(<bridge-name>, <data>);
if you are running it inside an component (i.e., running inside an iframe).
HTML Component
def html(html: str, iframe: bool = False, key: Optional[str]=None) -> None:
"""Render HTML in Streamlit without being processed by Markdown.
Args:
html: HTML to render
iframe: whether to render the HTML in an iframe or in the main document.
By default streamlit component is rendered inside an iframe, so by
setting it to false, we allow the HTML to rendered in the main document.
key: streamlit component's id
"""
pass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file streamlit-bridge-1.1.0.tar.gz
.
File metadata
- Download URL: streamlit-bridge-1.1.0.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.10 Darwin/21.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f2b3632598581ae10f28288b6fe2c7527bcbb13dc764b64d1dccf4e74901ebc |
|
MD5 | dbd7736657d0ccaaee28ca09fa07b6f9 |
|
BLAKE2b-256 | 00cbffe49bd80d427a6648bb47728e5a037c44438b61d1ed7d45f43e60e16580 |
File details
Details for the file streamlit_bridge-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: streamlit_bridge-1.1.0-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.10 Darwin/21.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0a13b3a0b917a7636887fde64b7beef7271acc98ecd59d127ffd1f6f8f39fc3 |
|
MD5 | 866c09d962602cd545d36154b4539a6f |
|
BLAKE2b-256 | 33f0e4461a4ea2c5c83c91cadd85a8a5443e76073f2099dda53a70960312e3be |