← Ко всем open source проектам

Streamlit

streamlit/streamlit

Streamlit — Python-фреймворк для быстрых дата-приложений, дашбордов и интерфейсов к моделям.

Форки 4,303
Автор streamlit
Язык Python
Лицензия Apache-2.0
Обновлено 2026-06-27

Что это такое

Streamlit — фреймворк для Python-разработчиков, которым нужно быстро показать данные, модель или внутренний инструмент в виде веб-приложения. Его идея — писать приложение почти как обычный скрипт: сверху вниз, с виджетами, таблицами, графиками и состоянием.

Проект стал популярным среди аналитиков и инженеров машинного обучения, потому что убрал большой барьер между ноутбуком и рабочим интерфейсом. Вместо отдельной клиентской части можно собрать понятную страницу прямо на Python.

Что внутри репозитория

В репозитории находятся Python-сервер, интерфейсные компоненты, виджеты, система состояния, обработка перезапуска скрипта, тесты, документация и примеры. Streamlit берет на себя связь между Python-кодом и браузерным представлением.

Ключевая особенность — модель выполнения. Когда пользователь меняет виджет, скрипт запускается заново, а Streamlit сохраняет нужное состояние и обновляет страницу. Это необычно для классических веб-фреймворков, но удобно для аналитических сценариев.

Как используют

Streamlit используют для внутренних панелей, демонстраций моделей, быстрых отчетов, проверки гипотез, интерфейсов к данным и прототипов. Аналитик может добавить фильтр, график и таблицу без полноценной команды веб-разработки.

Для публичных продуктов с тяжелой авторизацией, сложной навигацией и строгой дизайн-системой Streamlit не всегда подходит. Он силен там, где скорость исследования важнее тонкого контроля над каждым элементом интерфейса.

Сильные стороны и ограничения

Сильная сторона Streamlit — скорость от Python-кода до интерактивной страницы. Он хорошо ложится на работу с pandas, визуализациями, моделями и небольшими внутренними приложениями.

Ограничение — архитектурная модель. Если приложению нужны сложные клиентские взаимодействия, богатая маршрутизация или нестандартная производительность на тысячах одновременных пользователей, придется внимательнее проверять границы фреймворка.

В сопровождении важны кэширование, размер данных, время пересчета и понятное разделение кода. Если весь анализ оставить в одном огромном файле, быстрый прототип со временем станет таким же трудным, как любой неструктурированный проект.

Для команды Streamlit часто становится мостом между исследованием и внутренним продуктом. Он позволяет быстро показать ценность данных, но затем требует обычной инженерной аккуратности: структуры файлов, контроля зависимостей и понятных правил доступа.

Пример

Минимальное приложение Streamlit

Пример показывает главный стиль Streamlit: Python-код сразу описывает заголовок, виджет и вывод данных.

Язык: Python
import streamlit as st

st.title("Sales dashboard")
region = st.selectbox("Region", ["EU", "US", "APAC"])

st.write(f"Selected region: {region}")
st.line_chart([12, 18, 14, 21])