Can I get the architecture of Streamlit

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
    • 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

Great, Thanks a lot @Caroline :blush:

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.