Modal text input component for Streamlit
Project description
streamlit-modal-input
Streamlit component providing a 'modal' text input widget (actually pausing the script until a string is entered and returned). Implemented using firestore for direct communication between backend and frontend.
Installation instructions
pip install streamlit-modal-input
Usage instructions
text=modal_input(
prompt,
firebase_credentials=None,
firebase_config=None
)
Starts a firestore listener watching for changes in a specific firestore document. Renders a text input widget, whose output is routed to this firestore document. Waits until the listener receives the output string. Gets the string, closes the listener, deletes the firebase document. Returns the string.
The python script will thus wait for the string to be received, achieving a similar behavior as regular python input
function.
You first need to set up a firebase account and a firestore database for using this.
If you don't provide your firebase credentials and config directly to the component, it will attempt to get them from st.secrets
(keys: firebase_credentials
and firebase_config
).
In such case your secrets.toml
file should have these entries :
[firebase_credentials]
type=...
project_id=...
private_key_id=...
private_key=...
client_email=...
client_id=...
auth_uri=...
token_uri=...
auth_provider_x509_cert_url=...
client_x509_cert_url=...
universe_domain=...
[firebase_config]
apiKey=...
authDomain=...
projectId=...
storageBucket=...
messagingSenderId=...
appId=...
measurementId=...
Example
import streamlit as st
from streamlit_modal_input import modal_input
my_firebase_creds={
...
}
my_firebase_config={
...
}
text=modal_input(
"Enter text here",
firebase_credentials=my_firebase_creds,
firebase_config=my_firebase_config
)
st.write(text)
#Or, assuming you provided yours credentials and config in st.secrets
text=modal_input("Enter text here")
st.write(text)
Project details
Release history Release notifications | RSS feed
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_modal_input-0.0.9.tar.gz
.
File metadata
- Download URL: streamlit_modal_input-0.0.9.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39f374711f16ac249e26900611abfea977916ddebcd692c6407cf87f47d9c4b7 |
|
MD5 | 578cdce1cfdf96337b3b89c5189cb38d |
|
BLAKE2b-256 | 64fc548f07f4332876f40b7a4faac9a977832d83003f133dd74542f544f73719 |
File details
Details for the file streamlit_modal_input-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: streamlit_modal_input-0.0.9-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a34b387d9d9b24a595a354d1ddb84179c2860f56a6dcaccaefcddd511a85fca |
|
MD5 | 9d0f251fbc2953d71d71d4819eabdb78 |
|
BLAKE2b-256 | 0062e9b7daf9cac34e8d76fbe4d76dd8b9c1dc634691a6ce7ecd14487b15b8c0 |