File: README.md
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 helloIf 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.
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.pyGive 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:
[](URL_TO_YOUR_APP)Contribute
🎉 Thanks for your interest in helping improve Streamlit! 🎉
We have paused accepting pull requests from outside the Streamlit maintainer team. You can still
make a valuable contribution by reporting bugs,
requesting features,
improving or upvoting existing issues,
commenting on open specs, creating
custom components,
and contributing to streamlit-extras.
Read our contribution guide
for details.
License
Streamlit is completely free and open-source and licensed under the Apache 2.0 license.
File: component-lib/declarations/README.md
What is the "declarations" folder for?
This "declarations" folder exists to fix broken TypeScript type definitions for the Apache Arrow project.
The apache-arrow 0.17.0 npm package fails to compile in modern TypeScript. The issue is tracked here: https://issues.apache.org/jira/browse/ARROW-8394
As a workaround, we provide a patched set of Arrow type declarations in this folder.
These are the changes:
- Copy the entirety of
./node_modules/apache-arrowinto./declarations/apache-arrow - Delete all non
.d.tsfiles, except forpackage.json, from the copied directory:text$ find declarations/apache-arrow ! -name "*d.ts" -and ! -name "package.json" -type f -delete - Add a
// @ts-nocheckcomment to the top of the declaration files that cause errors:declarations/apache-arrow/column.d.tsdeclarations/apache-arrow/ipc/reader.d.tsdeclarations/apache-arrow/recordbatch.d.ts
- Add the following bits to
tsconfig.json:text"compilerOptions": { "paths": { "*": [ "./*", "../declarations/*" ] } }
When apache-arrow is fixed, we should back out these changes!
File: component-lib/README.md
Streamlit Component Library
An npm package that provides support code for creating Streamlit Components.
The fastest way to start writing a Streamlit Component is to use our Component Template repo, which contains templates and example code.