Merge component in to main Streamlit Lib

Hello,
I have created streamlit-tags which is like multitext but with better UI input I was wondering if I could get it merged in to the main streamlit lib like st.tags

image

1 Like

Hello,
Any updates on this?

Hello @gagan3012,

For adding features into Streamlit, youā€™ll have much better chance on the Streamlit Github issues GitHub - streamlit/streamlit: Streamlit ā€” The fastest way to build data apps in Python :wink:.

Though I see you already wrote an issue for this here which may give you an answer: Streamlitā€™s vision is to keep the number of new widgets in Core as small and optimized as possible, and provide the Components system for us to add more customized widgets like streamlit-tags, streamlit-drawable-canvas, streamlit-aggrid or streamlit-pandas-profiling to name a few frequently used widgets, so the dev team can focus on higher-level features like layout or state without the ā€œcostā€ of maintaining a new widget in the source code.
Also you can later brag about how much users love your tags plugin in your resume :stuck_out_tongue: so having a Streamlit component under your name instead of diluted inside the Streamlit source code is super cool ! So you can promote your component usage on the forum :slight_smile: (I see you already added it to the tracker, which then go on the gallery).

NB: 1. I do think if your component gets ALOT of traction then eventually integrating into the core Streamlit features can be considered and 2. I donā€™t represent the internal Streamlit team, I have a good idea of their roadmap and way of working but donā€™t take my answer as the teamā€™s final view, this is just my Creator/Forum mod opinion :slight_smile:

Cheers,
Fanilo

4 Likes

Hello, @andfanilo
Thank you so much for your reply!
I understand the streamlit vision is to have separate custom components not merged into the main repo, a lot of people reached out to me asking about it. Most people are not aware of extensions as they might not check the forum. It has been difficult to share its usage with people; I have shared it on Twitter but havenā€™t got a good reach yet. Iā€™m not sure when it will be part of the gallery any tips on how to get better reach?

Now we are diving into the marketing part there :upside_down_face: I did push your concern about visibility of the whole Streamlit component ecosystem to the Streamlit team though and see how we can improve it.

On a personal level, having worked on streamlit-echarts and streamlit-drawable-canvas, the only battletested thing I can say here is, if you solve a problem others have, and you clearly / regularly demonstrate it really well then ā€œeventuallyā€ it will catch up, from a small number of core users to into the wild.
So if you are determined, you can build more focused example apps applied to a real life problem (tagging a dataframe of books for example? annotating a dataset with multiple tags and state?), blog posts to explain how it works, more explanatory gifs, ask Randy to retweet your tweet :stuck_out_tongue: solve Streamlit questions on the forum and linking to your component in your bio, a FAQ in your readthedocsā€¦
For example, I think I need to tweet about my canvas and echarts with new examples of problems they solve every month to not lose traction and build this small group of core users that will then spread the word in a multiplicative way. In the end, thereā€™s no shortcut, even if it appears on the Streamlit gallery with a very high reach you will still need to market the component when they arrive on the Github page so users instantly know how better your component is compared to multitext in core Streamlit.

Keep building for this reach and continue sharing on the features and example applications for your tags, and then it pays off in the long run!

Good luck

1 Like