```
Create a bi-directional component
A bi-directional Streamlit Component has two parts:
A frontend, which is built out of HTML and any other web tech you like (JavaScript, React, Vue, etc.), and gets rendered in Streamlit apps via an iframe tag.
A Python API, which Streamlit apps use to instantiate and talk to that frontend
To make the process of creating bi-directional Streamlit Components easier, we've created a React template and a TypeScript-only template in the Streamlit Component-template GitHub repo. We also provide some example Components in the same repo.
Development Environment Setup
To build a Streamlit Component, you need the following installed in your development environment:
Python 3.7 - Python 3.9
Streamlit 0.63+
nodejs
npm or yarn
Clone the component-template GitHub repo, then decide whether you want to use the React.js ("template") or plain TypeScript ("template-reactless") template.
