Hi Team, I was trying to get the architecture diagram of Streamlit. Could you please help me with it.
Hey @Akash_Solanke,
I’d recommend checking out some of the info in our GitHub repo wiki section. I’ll paste the content below as well.
Codebase overview
If you’re thinking about making a contribution to Streamlit, here are a handful of pointers!
- Best place to understand the command-line interface: cli.py
- Best place to start to understand the general lifecycle: bootstrap.py (navigate this file’s
run()
function to understand the basic structure of Streamlit)- Streamlit is essentially divided into four “areas”:
- The CLI that spins up a server (in Python). Take a look at:
- command-line interface: cli.py
- general lifecycle: bootstrap.py (navigate this file’s
run()
function to understand the basic structure of Streamlit)- The Streamlit API. Users import Streamlit in their code and use these features
- init.py
- delta_generator.py
- We did a change moving code away from that. Be sure to check out the elements folder for specific UI element implementations.
- The front end. We use React and TypeScript here!
- It all begins in App.tsx
- The components folder contains all of the UX elements for the frontend. Feel free to take a look and see how they connect to the Streamlit API.
- Streamlit uses Protocol Buffers to communicate between the server and the web frontend (this is a serialization format). See the proto folder for more.
2 Likes
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.