Streamlit
1 Introduction to Streamlit
1.1 What is Streamlit?
1.2 Why use Streamlit?
1.3 Setting up the environment
1.4 Creating your first Streamlit app
2 Basic Components
2.1 Text elements
2.1 1 Displaying text
2.1 2 Formatting text
2.2 Data display elements
2.2 1 Displaying data frames
2.2 2 Displaying tables
2.3 Input widgets
2.3 1 Text input
2.3 2 Number input
2.3 3 Date input
2.3 4 Dropdown selection
2.3 5 Slider
2.3 6 Checkbox
2.3 7 Radio buttons
2.3 8 Buttons
3 Advanced Components
3.1 Interactive widgets
3.1 1 Multiselect
3.1 2 File uploader
3.1 3 Color picker
3.2 Media elements
3.2 1 Displaying images
3.2 2 Displaying videos
3.2 3 Displaying audio
3.3 Chart elements
3.3 1 Line chart
3.3 2 Bar chart
3.3 3 Area chart
3.3 4 Scatter chart
3.3 5 Map chart
4 Layout and Styling
4.1 Layout components
4.1 1 Columns
4.1 2 Tabs
4.1 3 Expander
4.2 Styling elements
4.2 1 Custom CSS
4.2 2 Theming
4.2 3 Adding custom fonts
5 State Management
5.1 Session state
5.1 1 Managing state across reruns
5.1 2 Persisting state
5.2 Caching
5.2 1 Caching functions
5.2 2 Caching data
6 Deployment
6.1 Deploying to Streamlit Sharing
6.1 1 Setting up Streamlit Sharing
6.1 2 Deploying your app
6.2 Deploying to other platforms
6.2 1 Deploying to Heroku
6.2 2 Deploying to AWS
6.2 3 Deploying to Google Cloud
7 Best Practices
7.1 Writing clean and maintainable code
7.2 Optimizing performance
7.3 Handling errors and exceptions
7.4 Version control with Git
8 Advanced Topics
8.1 Integrating with other libraries
8.1 1 Integrating with Pandas
8.1 2 Integrating with Plotly
8.1 3 Integrating with TensorFlow
8.2 Building complex apps
8.2 1 Creating multi-page apps
8.2 2 Handling authentication
8.2 3 Building interactive dashboards
8.3 Custom components
8.3 1 Creating custom widgets
8.3 2 Extending Streamlit with custom components
9 Case Studies
9.1 Building a data exploration app
9.2 Building a machine learning model deployment app
9.3 Building a real-time data visualization app
3 2 Media Elements Explained

2 Media Elements Explained

Key Concepts

st.image

st.image is used to display images in Streamlit. This function takes the image file path or URL as an argument and can also accept parameters like width, caption, and format.

import streamlit as st

st.image("https://example.com/image.jpg", caption="Sample Image", width=300)
    

st.audio

st.audio is used to embed audio files in Streamlit. This function takes the audio file path or URL as an argument and can also accept parameters like format.

import streamlit as st

st.audio("https://example.com/audio.mp3", format="audio/mp3")
    

st.video

st.video is used to embed video files in Streamlit. This function takes the video file path or URL as an argument and can also accept parameters like format.

import streamlit as st

st.video("https://example.com/video.mp4", format="video/mp4")
    

Media Control

Streamlit provides basic controls for media elements like play, pause, and volume adjustment. These controls are automatically added to audio and video elements, allowing users to interact with the media.

Examples

Example 1: Displaying an Image

import streamlit as st

st.title("Image Example")
st.image("https://example.com/image.jpg", caption="Sample Image", width=400)
    

Example 2: Embedding Audio

import streamlit as st

st.title("Audio Example")
st.audio("https://example.com/audio.mp3", format="audio/mp3")
    

Example 3: Embedding Video

import streamlit as st

st.title("Video Example")
st.video("https://example.com/video.mp4", format="video/mp4")
    

Analogies

Think of st.image as a digital picture frame that displays images. The st.audio function is like a digital music player that plays audio files, and st.video is like a digital TV that plays video files. The media controls are like the buttons on a remote control that allow you to play, pause, and adjust the volume.

By mastering media elements in Streamlit, you can create rich and interactive applications that include images, audio, and video, making your apps more engaging and informative.