Skip to main content

Small handy widgets for streamlit, e.g. download button which won't cause rerun, set page width

Project description

streamlit-ext

PyPI Latest Release streamlit-ext-demo

A small handy extension for streamlit, keep your widget values in url, and share it with your friends.

Use widget from stramlit-ext just as streamlit and pass a unique key to it!

example gif

import numpy as np
import pandas as pd

import streamlit as st
import streamlit_ext as ste

df = pd.DataFrame(np.random.rand(10, 5))


option = ste.selectbox(
    "A form will show up if you select less than 10",
    range(100),
    key="selectbox",
)

st.write("You selected:", option)

age = ste.slider("How old are you?", 0, 130, 25, key="slider1")
st.write("I'm ", age, "years old")

ste.download_button("Click to download data!", df, "YOUR_DF.xlsx")
ste.download_button("Click to download text!", b"text content", "YOUR_STRING.txt")

installation

pip install streamlit-ext

Usage

sync widgets' value with urls

When widgets value changes, the url synced and if you open the url in new tab, every value keeped.

Just import widgets from streamlit_ext, and give a specific key argument to it!

import streamlit as st
import streamlit_ext as ste

from datetime import time, datetime, date

option = ste.selectbox(
    "How would you like to be contacted?",
    range(100),
    key="selectbox",
)

st.write("You selected:", option)

d = ste.date_input("When's your birthday", date(2019, 7, 6), key="date_input")
st.write("Your birthday is:", d)

t = ste.time_input("Set an alarm for", time(8, 45), key="time_input")
st.write("Alarm is set for", t)

Download button which won't cause rerun

import streamlit as st
import streamlit_ext as ste

st.title('streamlit-ext')

ste.set_page_width("60em")

ste.download_button("Download", "Hello World".encode(), "hello.txt")

Set page width

import streamlit as st
import streamlit_ext as ste

st.title('streamlit-ext')

ste.set_page_width("60em")

st.write("a quick fox jump..."*100)

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

streamlit_ext-0.1.13.tar.gz (281.8 kB view details)

Uploaded Source

Built Distribution

streamlit_ext-0.1.13-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file streamlit_ext-0.1.13.tar.gz.

File metadata

  • Download URL: streamlit_ext-0.1.13.tar.gz
  • Upload date:
  • Size: 281.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for streamlit_ext-0.1.13.tar.gz
Algorithm Hash digest
SHA256 a1cc005a229c56b869603918e1e438094af604a1f4b92a7359a6fc95eff4fc88
MD5 5a1b1ce45f432180b0308e0340488275
BLAKE2b-256 38094fba9765d7260176b60a40d2948221483f525e19590fdeb1c2d17e131ada

See more details on using hashes here.

File details

Details for the file streamlit_ext-0.1.13-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_ext-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 5cf7c5a665216dea7426c130acc38568f384f4f81d55c7a3507d4a67a1a4c807
MD5 d6403839d7385f7bcca239f4f9446e0d
BLAKE2b-256 251ab6dc82b036584fd64e83ffaf9bbff98c5d03d852d45532f71e0da71644a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page