Streamlit Components - Community Tracker

Since the release of Streamlit Components, we’ve been thrilled to read the many new widgets and integrations to external librairies you have suggested and published ! There’s so many ideas around, we wanted to reference them all in one place, and make it easy for you to contribute to the growing Streamlit Components ecosystem !

:fireworks: Say hello to the first Streamlit community-driven wiki post, which you can freely edit to help track down components ideas or currently in development.

How can I contribute ?

Contributing to this wiki is easy and open to anyone (at least if you hung on the forum enough to get to Trust Level 1). It’s a click away from the Edit button on the bottom left of the post !

  • If you have an idea for a Streamlit Component, you can create a new post for it in the forum and then reference it in this wiki
  • Want to try implementing a component, but you need some inspiration ? Browse through the ideas, settle on one then move it into the In Development section.
    • It’s also a good way to find projects currently in development you can contribute to !
  • When the component is ready for general use (even if there’s still features to add and bugs to track down), drop it in the Published section so other users find out about it and test it !
  • Are you using a different combination of technologies to develop your components and want to share it with the community ? Share your template under the Component Templates section or check other’s workflows.
  • If you’re hesitant in editing the wiki, you can put a comment and we’ll add it into the page

Feel free to add your own ideas for structuring it !


:checkered_flag: Published

:memo: Component Templates

:construction_worker: In development

:bulb: Ideas in discussion

  • Material UI React Table (post)
  • WYSIWYG HTML editor (post)
  • Selection in canvas (post)
  • 3D mesh visualizer with VTK (post)
  • Ipywidgets (post)
  • Network visualization : Networkx / Pyvis (post Pyvis)
  • TensorflowJS (post)
  • Tableau Software / Power BI embed (issue)
  • Vega (github)
  • ThreeJS (post)
  • Display PDF (issue)
  • Streamint text_input (post)
  • Chart.js (issue)
  • HighCharts (issue)
  • jsroot (issue)
  • RadioSets (post)
20 Likes
Record sound from the user's microphone with streamlit
Embedding a terminal
New Component: streamlit-terran-timeline makes it super easy to create face-recognition timelines!
Streamlit Component Svelte Template
New Component: streamlit-observable, a new way to embed Observable Notebooks
Are you using HTML in Markdown? Tell us why!
Streamlit Component Svelte Template
Molecule visualization with Streamlit
Testing Streamlit Apps Using SeleniumBase
🍅 Plost - A deceptively simple plotting component for Streamlit
Cookies support in Streamlit!
Testing Streamlit Apps Using SeleniumBase
Simple Authentication for Streamlit Apps
New Component: st-card for displaying KPI metrics in your apps
New informative / notification component
New Component: `st_btn_select` - Selectbox alternative with buttons
New Component: link_button, A simple way to link a button to a URL
Integrating What-If-Tool Widget in Streamlit App
Streamlit Autorefresh
Streamlit server & future prospects
Metrics / KPI Component
Bi-directional Plotly Component
Extra Streamlit Components
Integrating cropper JS
Support for CytoscapeJS
New Component: Streamlit-tags a new way to do add tags and enter keywords
New Component: Streamlit Google Charts
New Component: st_radial, A custom component to show metrics
New pyvis component for graphs
STqdm : a tqdm-like progress bar for streamlit
SciLit - Scientific Literatures and Analytics Search App
Interested in creating and/or testing components?
New Component: streamlit-labelstudio, allows you to embed the Label Studio annotation frontend into your application!
JSME React Component
A new library and template using React Hooks for creating Streamlit Components
New Component: streamlit-webrtc, a new way to deal with real-time media streams
JSME React Component
Merge component in to main Streamlit Lib
St.radio() split into parts, accepting dictionary as input
Ag-Grid component with input support
Showing off the streamlit-agraph Component
Image cropping/ selection component
Reusable Timeline Component with demo for History of NLP

This is great @andfanilo! Is there a place for people to submit and vote on components they’d like to have in addition to the above list with component in development? Might help surface the 80/20 of the most useful set of next components for the community.

I’m having a difficult time picking which component project to work on first. Streamlit’s amazingness is also causing me major decision paralysis :slight_smile:

Hey @Chad_Mitchell ! @randyzwitch and I were also playing with the idea of creating periodic polls to gauge the interest of the community for a Streamlit component idea, though we’re not sure if we’d create those polls under this wiki or create a new post for each poll :slight_smile: . I guess even you could create a poll with a small number of components you’re willing to tackle and let the community decide :stuck_out_tongue:
I think we have enough ideas to create such poll, so we’ll experiment with this soon !

1 Like

A post was split to a new topic: Firebase and Streamlit

There are two components I would like created but I do not have the time or technical competency to do it. I would like to pay someone to do it with the work completely open source. Before I post about it I want to make sure with the moderators they are OK with the idea.

Hi @rsheftel, it’s perfectly fine to do so. We don’t have a jobs section or anything, since it doesn’t come up frequently enough yet, but feel free to make a post on our Random section :+1:

Best,
Randy

Streamlit Navbar component to support multi-page apps with or without using Hydralit.
Hydralit Components
Features include

  • Full theme color support
  • Full container support (can put on sidebar too)
  • Responsive layout
  • Use Bootstrap icons or emojis or nothing
  • Configure Response values when clicked
  • Assign tooltips

1 Like

Great !!