Hello @jsuser , welcome to the community!
but maybe I can easily extract the components’ React code to place into our JS app?
My very honest short answer: It is theoretically possible but the cost/benefit ratio is probably too high. But let me dive in a little bit more
Answer 1: the JS team probably has its preferred tools: if you’re prototyping in Streamlit then productionizing in JS/TS because you don’t have processes nor resources in your company to monitor/support/allow Python applications in production (which I understand, I am in the same boat), then your frontend team probably has its preferred frontend tooling (like maybe they prefer Vue.js over React which is what Streamlit is built with) to build projects and will use your Streamlit app as a design mockup to build the final product, so I wouldn’t try to extract the React components from Streamlit and let them work on it for replicating your app for 3 months with their favorite tools.
Answer 2: it is possible to read the React components source code: if you really want the same look & feel, you can check out the Streamlit source code and let the JS team try their best extracting the relevant code for each component doable but a bit hard since it’s not a totally separate React component library and there may be a bit of logic you’ll have to unwire from the component. But doable (though I can’t tell how much time they would take)
My personal answer is recreating a TS app out of a Streamlit app is contrary to the Streamlit philosophy: here’s my favorite slide from Adrien Treuille talk introducing Streamlit in 1/4: What is Streamlit - YouTube
If you watch the talk, my personal opinion is Streamlit was created exactly for the purpose of “We have a Python team building a lot of valuable webapps to solve problems and we don’t want to rely on the availability of a JS team to rewrite and support them in small production scopes”, and the reason there’s no doc for Streamlit to JS/TS app is because it goes against this philosophy. You want to be able to use Streamlit/Dash/Panel/Django/any Python web framework in production without having to convert them to a full TS app.
Maybe this is an opportunity for you and Python team to ponder if you want to move more Python apps into production. Perhaps you can use Streamlit as a demo to explain to other JS colleagues how you would work together in producing value, and rethink the “no Python allowed in production” part of your company, so you can experiment deploying Python in production.
As a compromise maybe you can host your Streamlit app in a Docker container/on the Streamlit Cloud for example so the production team don’t have to maintain a Python install, and then maybe you can iframe the Streamlit frontend inside your JS product?
There are unfortunately no easy solutions for this one from my point of view, but I do hope you manage to start talking about the “no Python in prod” change at the very least.
Have a nice day
Fanilo