Git Product home page Git Product logo

streamlit-dash's Introduction

streamlit-dash

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!

Installation

pip install streamlit-dash

Usage

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

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-dash.git
cd streamlit-dash

Install the Python dependencies:

poetry install --dev

And install the frontend dependencies:

cd streamlit_dash/frontend
npm install

Making changes

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

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

Publishing on PyPI

Switch the variable _RELEASE in streamlit_dash/__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_dash/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 ๐Ÿ˜‰

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.

streamlit-dash's People

Contributors

jrieke avatar the-beee avatar onuralpszr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.