Skip to main content

streamlit-image-select 🖼️

PyPI

An image select component for Streamlit.

This custom component works just like st.selectbox but with images. It's a great option if you want to let the user select an example image, e.g. for a computer vision app!


🏃 Try out the demo app 🏃


Installation

pip install streamlit-image-select

Usage

from streamlit_image_select import image_select
img = image_select("Label", ["image1.png", "image2.png", "image3.png"])
st.write(img)

See the demo app for a detailed guide!

Development

Warning 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-image-select.git
cd streamlit-image-select

Install the Python dependencies:

poetry install --dev

And install the frontend dependencies:

cd streamlit_image_select/frontend
npm install

Making changes

To make changes, first go to streamlit_image_select/__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_image_select/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_image_select and the demo app should update automatically!

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

Publishing on PyPI

Switch the variable _RELEASE in streamlit_image_select/__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_image_select/frontend
npm run build

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

cd ../..
poetry build
poetry publish

Changelog

0.6.0 (March 28, 2023)

  • Removed st.experimental_memo, which is deprecated.
  • Changed minimum version of Streamlit to 1.19.

0.5.1 (November 20, 2022)

  • Hotfix, forgot to switch the RELEASE variable back to True :wink:

0.5.0 (November 20, 2022)

  • Added return_value parameter to be able to get the index of the selected image.
  • Improved error messages.

0.4.0 (November 20, 2022)

  • Added index parameter to set the initially selected image.
  • Improved input arg checks.

0.3.0 (November 13, 2022)

  • Added use_container_width parameter to customize the width of the component.
  • Made key and use_container_width parameters keyword-only.
  • Refactored CSS classes.

Metadata

Release files for streamlit-image-select 0.6.0

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-image-select 0.6.0
File Size Uploaded
streamlit-image-select-0.6.0.tar.gz 696.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for streamlit-image-select 0.6.0
File Interpreter ABI Platform
streamlit_image_select-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / streamlit-image-select-0.6.0.tar.gz

Download URL streamlit-image-select-0.6.0.tar.gz
Size 696.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4e64913b17d86f592700f867dc640b8c8dc1282aff78162c7b2b66997a84fe17
BLAKE2b-256 checksum
How to use checksums
15b4819e4c27e983955897d01e987cc91da183e58835c04613c6a0004f0ae331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.15 CPython/3.9.12 Darwin/22.3.0

Release files / streamlit_image_select-0.6.0-py3-none-any.whl

Download URL streamlit_image_select-0.6.0-py3-none-any.whl
Size 706.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a87d1b0a1f9010939fea27c569c3a711a028148aa4fb7b8036bf699d9e2b9aa
BLAKE2b-256 checksum
How to use checksums
f08c10ffa4f35b0c61a23990399be10b37fd1d5a4667c8bcd378d81d822562ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.15 CPython/3.9.12 Darwin/22.3.0

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.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