Быстрый доступ к документации: FREE_COMPONENTS_GUIDE.md
pip install streamlit
streamlit run app.py
Всё бесплатно: Streamlit — 100% open-source (Apache 2.0)
import streamlit as st
# 1. Текст и заголовки
st.title("Заголовок")
st.markdown("**Жирный** текст")
# 2. Данные и таблицы
st.dataframe(df) # Интерактивная таблица
st.data_editor(df) # Редактируемая таблица
# 3. Графики
st.line_chart(df) # Линейный график
st.plotly_chart(fig) # Plotly интеграция
# 4. Инпуты
name = st.text_input("Имя")
age = st.number_input("Возраст", 0, 100)
option = st.selectbox("Выбор", ["A", "B", "C"])
# 5. Кнопки
if st.button("Нажми"):
st.write("Нажато!")
# 6. Layout
col1, col2 = st.columns(2)
with col1:
st.write("Колонка 1")
# 7. Sidebar
with st.sidebar:
st.write("Боковая панель")
# 8. Формы
with st.form("form"):
name = st.text_input("Имя")
submitted = st.form_submit_button("Отправить")
# 9. Кэширование
@st.cache_data
def load_data():
return pd.read_csv("data.csv")
# 10. Session State
if "counter" not in st.session_state:
st.session_state.counter = 0
st.session_state.counter += 1
# 1. Pygwalker — интерактивная визуализация (8,223⭐)
pip install pygwalker
# 2. Streamlit-Authenticator — авторизация (919⭐)
pip install streamlit-authenticator
# 3. Streamlit-AgGrid — продвинутые таблицы (841⭐)
pip install streamlit-aggrid
# 4. Streamlit-WebRTC — видео/аудио (1,022⭐)
pip install streamlit-webrtc
# 5. Streamlit-Option-Menu — красивое меню
pip install streamlit-option-menu
# 6. Streamlit-Extras — коллекция виджетов
pip install streamlit-extras
# 7. Streamlit-Folium — карты
pip install streamlit-folium
# 8. Streamlit-Lottie — анимации
pip install streamlit-lottie
# 9. Streamlit-Elements — MUI components
pip install streamlit-elements
# 10. Plotly-Resampler — оптимизация графиков
pip install plotly-resampler
Галерея: https://streamlit.io/components
URL: https://streamlit.io/cloud
Лимиты:
- CPU: до 2 ядер
- RAM: до 2.7 GB
- Storage: 50 GB
- Apps: не ограничено
Деплой за 3 шага:
1. Push код на GitHub
2. Зайти на https://share.streamlit.io
3. Deploy! 🚀
@st.cache_data(ttl=3600)
def load_large_data():
return pd.read_csv("https://...")
if "data" not in st.session_state:
st.session_state.data = load_data()
if st.button("Загрузить"):
data = load_heavy_data()
@st.fragment
def update_chart():
st.line_chart(get_realtime_data())
# .streamlit/secrets.toml
api_key = "secret123"
Для 99% проектов Streamlit полностью бесплатен!
Платное только Enterprise версия для корпораций.
Версия: 1.0
Дата: 2025-11-10
Полная версия: FREE_COMPONENTS_GUIDE.md