Skip to main content

streamlit-pills 💊

PyPI

A Streamlit component to show clickable pills/badges.

This custom component works just like st.selectbox but shows the options as clickable pills. It's nice to show the user upfront what they can select, without going through a dropdown.


💊 Demo app 💊


Installation

pip install streamlit-pills

Usage

from streamlit_pills import pills
selected = pills("Label", ["Option 1", "Option 2", "Option 3"], ["🍀", "🎈", "🌈"])
st.write(selected)

See the demo app for a detailed guide!

Development

Note: you only need to run these steps if you want to change this component or contribute to its development!

Setup

First, clone the repository:

git clone https://github.com/jrieke/streamlit-pills.git
cd streamlit-pills

Install the Python dependencies:

poetry install

And install the frontend dependencies:

cd streamlit_pills/frontend
npm install

Making changes

To make changes, first go to streamlit_pills/__init__.py and make sure the variable _RELEASE is set to False. This will make the component use the local version of the frontend code, and not the built project.

Then, start one terminal and run:

cd streamlit_pills/frontend
npm start

This starts the frontend code on port 3001.

Open another terminal and run:

cp demo/streamlit_app.py .
poetry shell
streamlit run streamlit_app.py

This copies the demo app to the root dir (so you have something to work with and see your changes!) and then starts it. Now you can make changes to the Python or Javascript code in streamlit_pills and the demo app should update automatically!

If nothing updates, make sure the variable _RELEASE in streamlit_pills/__init__.py is set to False.

Publishing on PyPI

Switch the variable _RELEASE in streamlit_pills/__init__.py to True. Increment the version number in pyproject.toml. Make sure the copy of the demo app in the root dir is deleted or merged back into the demo app in demo/streamlit_app.py.

Build the frontend code with:

cd streamlit_pills/frontend
npm run build

After this has finished, build and upload the package to PyPI:

cd ../..
poetry build
poetry publish

Changelog

0.4.0 (March 24, 2023)

  • Added Multi-Select
  • Added Centered Mode

0.3.0 (November 22, 2022)

  • Added label_visibility parameter to hide the label.

0.2.0 (November 22, 2022)

  • Added format_func parameter to allow formatting the pill texts.

0.1.2 (November 22, 2022)

  • First functioning release.

Release files for streamlit-pills-multiselect 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for streamlit-pills-multiselect 0.6.1
File Size Uploaded
streamlit_pills_multiselect-0.6.1.tar.gz 700.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for streamlit-pills-multiselect 0.6.1
File Interpreter ABI Platform
streamlit_pills_multiselect-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / streamlit_pills_multiselect-0.6.1.tar.gz

Download URL streamlit_pills_multiselect-0.6.1.tar.gz
Size 700.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fecd79926d07886cdb5cdcb0504a21d2cd0221d016277c287c6aa32a1768aacf
BLAKE2b-256 checksum
How to use checksums
855f23b2635429d3f7e687f5ecae45c73afeb8c3b6bf21450ce78089c12e78ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.1 CPython/3.10.4 Windows/10

Release files / streamlit_pills_multiselect-0.6.1-py3-none-any.whl

Download URL streamlit_pills_multiselect-0.6.1-py3-none-any.whl
Size 711.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4f2ff5a0ddfdb6512be01c1c7da6d9d518ce93b52c4c49f39534362690ddb4ff
BLAKE2b-256 checksum
How to use checksums
763b5b99f120b984dd4dc7ada48eb3eed73e6bc216da035782953cb9b11ff602
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.1 CPython/3.10.4 Windows/10

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page