π Streamlit for Beginners β Complete Guide with Examples
Streamlit is a powerful Python library used to create interactive web applications for Data Science, Machine Learning, and Automation β all with just Python. No need for HTML, CSS, or JavaScript!
Written By: Nivesh Bansal Linkedin, GitHub, Instagram
π₯ What is Streamlit?
Library Name: Streamlit
Purpose: Convert Python scripts into interactive web apps
Installation:pip install streamlit
Run Command:streamlit run your_script.py
Who Uses It: Data Scientists, ML Engineers, Analysts
Frontend Code Needed: None β only Python
β Step-by-Step Streamlit Guide
π 1. Installation
pip install streamlit
Check if it's working:
streamlit hello
π 2. Run a Streamlit App
streamlit run your_script.py
π₯ 3. Display Text in UI
-
st.title("Title")β Displays a big page title -
st.header("Header")β Section heading -
st.subheader("Subheader")β Subsection heading -
st.text("Plain text")β For normal text -
st.markdown("*Bold* and _Italic_")β Markdown formatting -
st.code("print('Hello')")β Code block -
st.latex(r"x^2 + y^2 = z^2")β Math equation
β 4. Take User Inputs
-
st.text_input("Name"): Text input -
st.number_input("Age"): Number input -
st.text_area("About"): Multi-line input -
st.date_input("Date"): Date picker -
st.time_input("Time"): Time picker -
st.selectbox("Select", options): Dropdown -
st.radio("Choose", options): Radio buttons -
st.multiselect("Pick", options): Multi-select -
st.slider("Slide", min, max): Slider -
st.file_uploader("Upload"): File uploader -
st.checkbox("I Agree"): Checkbox -
st.button("Submit"): Button -
st.color_picker("Color"): Color picker
π 5. Display Charts and Data
-
st.dataframe(df): Interactive table -
st.table(df): Static table -
st.metric("Speed", "100 km/h"): Display key metric -
st.line_chart(df): Line chart -
st.bar_chart(df): Bar chart -
st.area_chart(df): Area chart -
st.pyplot(fig): Matplotlib chart -
st.map(df): Map using lat/long
π 6. Media Display
st.image("img.jpg") # Show image
st.video("video.mp4") # Play video
st.audio("audio.mp3") # Play audio
β 7. Progress and Status
st.progress(50) # Show a progress bar
st.spinner("Loading...") # Show loading spinner
st.success("Done!") # Green success message
st.error("Something went wrong") # Red error message
st.warning("Be careful!") # Yellow warning
st.info("FYI...") # Blue info box
π§ 8. Caching
@st.cache_data
def load_data():
return some_heavy_function()
π¬ 9. Sidebar Navigation
st.sidebar.title("Menu")
page = st.sidebar.selectbox("Choose Page", ["Home", "About"])
πΎ 10. Session State
if "count" not in st.session_state:
st.session_state.count = 0
if st.button("Increase"):
st.session_state.count += 1
st.write("Count:", st.session_state.count)
π§ͺ Full App Example
import streamlit as st
st.title("π Hello Streamlit App")
name = st.text_input("Enter your name:")
if st.button("Submit"):
st.success(f"Hello, {name}!")
π Official Resources
- π Streamlit Docs
- π Streamlit GitHub
β Summary
- Build full UI using Python only
- No frontend coding needed
- Supports charts, media, files, inputs, and session memory
- Great for fast dashboards or ML apps
π― Project Ideas
- π Stock Price Viewer
- π¦οΈ Weather Forecast App
- π§βπ Student Registration Form
- π CSV Data Visualizer
- π§ MCQ Quiz Generator
π‘ Want full source code for any of the projects above? Just drop a comment and Iβll reply with the source and setup guide.
Written By: Nivesh Bansal Linkedin, GitHub, Instagram
Top comments (2)
Syntax highlighting can be enabled for Python as follows on Dev.to :
triple_backtick python
your code
triple_backtick
I would also suggest adding screenshots.
This article was the 1st English result when I searched for Streamlit on Dev.to.
Thanks for the suggestion
Iβll definitely add proper Python syntax highlighting using triple backticks and include screenshots in the next update to make the guide more beginner-friendly.
Really appreciate your feedback, and glad the article is ranking well on Dev.to.