MCPcopy
hub / github.com/streamlit/streamlit

github.com/streamlit/streamlit @1.58.0 sqlite

repository ↗ · DeepWiki ↗ · release 1.58.0 ↗
16,620 symbols 72,241 edges 2,005 files 9,132 documented · 55%
README

Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file named streamlit_app.py in your project directory with the following code:

import streamlit as st
x = st.slider("Select a value")
st.write(x, "squared is", x * x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgets Dataframes Charts Layout Multi-page apps Fun

Our vibrant creators community also extends Streamlit capabilities using  🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit: - 🤖  LLMs & chatbot apps - 🧬  Science & technology apps - 💬  NLP & language apps - 🏦  Finance & business apps - 🗺  Geography & society apps - and more!

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

Contribute

🎉 Thanks for your interest in helping improve Streamlit! 🎉

Before contributing, please read our guidelines here: https://github.com/streamlit/streamlit/blob/develop/CONTRIBUTING.md

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

Extension points exported contracts — how you extend this code

AppNode (Interface)
(no doc) [6 implementers]
frontend/lib/src/render-tree/AppNode.interface.ts
StreamlitEndpoints (Interface)
(no doc) [3 implementers]
frontend/connection/src/types.ts
MockStreamlitConfigState (Interface)
* Type for the shared mock StreamlitConfig state used in tests. * This allows tests to control StreamlitConfig values.
frontend/test-globals.d.ts
StreamlitWindowConfig (Interface)
* Configuration object that can be set on window.__streamlit by the host * before the Streamlit bundle loads. These val
frontend/utils/src/config/index.ts
MenuActionItem (Interface)
Configuration for an action menu item (pure data, no React elements)
frontend/app/src/components/MainMenu/MainMenu.tsx
StreamlitTheme (Interface)
(no doc)
frontend/component-v2-lib/src/theme.ts
ArrowDataframeProto (Interface)
(no doc)
frontend/component-lib/src/ArrowTable.ts
AppNodeVisitor (Interface)
(no doc) [8 implementers]
frontend/lib/src/render-tree/visitors/AppNodeVisitor.interface.ts

Core symbols most depended-on inside this repo

get_by_test_id
called by 1975
e2e_playwright/shared/app_target.py
render
called by 1576
frontend/lib/src/test_util.tsx
click
called by 1261
lib/streamlit/testing/v1/element_tree.py
locator
called by 821
e2e_playwright/shared/app_target.py
get_by_text
called by 739
e2e_playwright/shared/app_target.py
renderHook
called by 525
frontend/lib/src/components/shared/ElementFullscreen/testUtils.tsx
get
called by 466
lib/streamlit/auth_util.py
expect_prefixed_markdown
called by 463
e2e_playwright/shared/app_utils.py

Shape

Method 7,567
Function 6,412
Class 1,373
Route 762
Interface 483
Enum 23

Languages

Python84%
TypeScript16%

Modules by API surface

lib/streamlit/testing/v1/element_tree.py303 symbols
lib/tests/streamlit/runtime/state/session_state_test.py252 symbols
lib/tests/streamlit/elements/layouts_test.py200 symbols
lib/tests/streamlit/web/server/starlette/starlette_app_test.py192 symbols
lib/tests/streamlit/runtime/state/query_params_test.py170 symbols
lib/tests/streamlit/elements/vega_charts_test.py169 symbols
lib/tests/streamlit/runtime/fragment_test.py149 symbols
lib/tests/streamlit/runtime/app_session_test.py138 symbols
lib/tests/streamlit/runtime/secrets_test.py111 symbols
lib/tests/streamlit/dataframe_util_test.py107 symbols
lib/tests/streamlit/components/v2/test_bidi_component.py107 symbols
lib/tests/streamlit/config_test.py105 symbols

Dependencies from manifests, versioned

@bufbuild/buf1.68.1 · 1×
@deck.gl/aggregation-layers9.3.2 · 1×
@deck.gl/carto9.3.2 · 1×
@deck.gl/core9.3.2 · 1×
@deck.gl/geo-layers9.3.2 · 1×
@deck.gl/json9.3.2 · 1×
@deck.gl/layers9.3.2 · 1×
@deck.gl/mesh-layers9.3.2 · 1×
@deck.gl/react9.3.2 · 1×
@emotion-icons/emotion-icon4.1.0 · 1×
@emotion-icons/material-outlined3.14.0 · 1×
@emotion-icons/material-rounded3.14.0 · 1×

For agents

$ claude mcp add streamlit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact