Красивые веб-приложения и панели с помощью Python Streamlit
Вставка
- Опубліковано 2 чер 2024
- ⭐ Стань "Белым" хакером в SkillFactory: go.skillfactory.ru/CHAJug
Скидка 45% по промокоду ZPROGER до 31.07.2023
⭐ Курс ООП и Приват канал: www.zproger-school.com/?...
⭐ Телеграм канал: t.me/+vSjJGIVjs6g2NTAx
В этом видео рассмотрим способ создания красивых сайтов и информационных веб-панелей на Python с помощью библиотеки Streamlit.
Streamlit позволяет создавать красивые и современные сайты, которые будут работать намного быстрее аналогичных технологий, вроде PyScript / PyWebIO и т.п. Библиотека предоставляет сотни готовых виджетов, понятную документацию и огромное количество боевых проектов. В данном видео мы научимся создавать такие сайты за считанные минуты.
📁 Github: github.com/Zproger
📁 Все плейлисты с уроками: bit.ly/39GaY89
📁 Связаться со мной: zproger777@gmail.com
📁 Поддержать канал: github.com/Zproger/donate
Тайм-коды:
0:00 - Важные особенности проекта
1:21 - Когда стоит использовать streamlit?
1:59 - Чем streamlit отличается от других технологий? ChatGPT + Streamlit
4:02 - Интеграция SkillFactory
5:16 - На что способен streamlit? Пример боевых приложений
8:30 - Где найти фишки для streamlit?
8:49 - Кэширование, цветовые темы, навигация и многое другое
9:07 - Как запустить это локально? Разворачиваем streamlit на своем ПК
9:52 - Что такое компоненты streamlit?
Kra23qnk8
Оно конечно хорошо, копаешь и нашел хорошее приложение, но выпуск настолько скомканный и перепутанный, что цена всему выпуску - 1 минута и демка с сайта.. Если уж делать, то сразу развернутые имеющие ценность. А так я узнал, что есть стримлит и что он вроде как быстрее и что нужно почитать документацию. Но и на этом спасибо. Покрутим, будем разбираться где его можно использовать и насколько полезен и быстр.
Ну это скорее как обзор проекта и его фишек, а не как обучающий ролик. Если лайки наберем, то след.выпуск уже будет конкретно с кодом и готовым приложением.
@@zproger ну и за такое спасибо :) хотя чтение документации конечно дает больше инфы и она более упорядочена. Потом неплохо было бы все ти гуи сравнить вместе с примерами. это бы зашло.
Манипулятор. Если видео наберёт... Уже за одно только это отвращение.
Чувак если это зайдёт, не надо уговаривать ставить лайки.
Но все равно спасибо за обзор!
Причем тут манипулятор, по лайкам я определяю заинтересованность. Если интерес будет, значит я пойму что необходимо делать продолжение, если же лайков нет, значит людей не заинтересовали возможности либы, все максимально просто. Данное видео скорее как обзор возможностей, нежели обучающий урок.
@@zproger все круто. я тебя прекрасно понимаю! вот только алгоритмы ютуба работают наоборот :) "утром деньги - вечером стулья. вечером деньги - утром стулья" :)
сходил гугланул, да, это штука для веб приложений а точнее ориентирована на Data Science. вот теперь понятнее нафига она нужна. а то сайты, сайты.. в любом случае спасибо.))
Автор, привет! Пилишь отличный контент, всегда очень интересно смотреть про новые появляющиеся инструменты в сфере IT и программирования :) Конкретно меня очень заинтересовало во многих твоих видосах то, как у тебя круто сконфигурирован vim (если я его правильно опознал), но на твоем гитхабе я не смог найти файл с конфигурацией. Было бы очень круто, если бы ты сделал обзор на свой конфиг vim'a, или, хотя бы, выложил файл с конфигом(-ами) на гитхаб. Я сам - начинающий пользователь vim, и ищу отовсюду, как бы его поудобнее настроить. Спасибо!!!
Недавно начал изучать FastAPI и написал свое полноценное backend application. На данный момент заверщаю работы по frontend (HTML, CSS, JS). Было бы интересно посмотреть как логичнее всего все развернуть с Python Streamlit.
И снова спасибо тебе, добрый человек
Спасибо за поддержку!
Друг, как насчет проекта клиент-сервер программы с интерфейсом?
Сделать программу, которая будет связываться с сервером, и в связи с ответом проделывать определенные операции у клиента?
Привет, Автор! КГАМ (креатив гениален, аффтор молодец) Норм контент на твоем канале, и для новичка и для продвинутых, расширить кругозор. Было бы интересно сравнение Streamlit vs Shiny
на сколько подойдет для юзер части для сайтов где прилично трафика?
Есть ли возможность посмотреть исходный код данной библиотеки? Внести изменение в неё?
Проект открытый?
Стримлит очень крутой, как-то давно пробовал, аж снова захотелось покрутить его.
Да, есть такое)
Ну наконец-то! До этого использовал Flet, но там нужно сделать столько танцев с бубнами, чтобы импортировать приложуху в Андроид или даже простой сайт, что пипец... Надеюсь данный инструмент решает этот вопрос)
Привет, очень круто рассказываешь, после каждого видео иду тестить, но не мог бы ли ты снять какой-то более подробный гайд по webio, т.к. на русском ещё ни кто толком не объяснял
Возможно сделаю, спасибо
А в каком ролике была показана PyWebIO?
Давайте делайте приложение на стримлит 😂 будет очень интересно посмотреть
Как и можно ли Streamli увязать с Django ?
Классно. Пойду учить английский дальше
;)
Ну вообще аналогом стримлита является даш. Если их сравнивать , я бы сказал что даш это типо Джанго, в котором если не все, то многое есть из коробки, а стримлит - фласк, в котором многое подключается модулями.
Из красивших GUI мне понравился ttkbootstrap
Ждём видос про создание игры ;)
Окей ;)
Я мало знаком с веб разработкой, но есть желание на vps буквально сделать страницу с выводом датафрейма (источник таблица в постгрес в около 300к строк) с фильтрами по стглбцам+сортировка. Здесь streamlit поможет или лучше чтонибудь другое?
Стоит попробовать
Можно попробовать в связке streamlit и streamlit-aggrid для отображение таблиц.
Но 300к на выдачу многовато - скорее всего стоит начать фильтровать на стороне бд.
подойдет. в новых версиях таблицы не хуже чем aggrid
Подойдет. Можно еще в сторону даш посмотреть . Там есть уже хорошо реализованный дата тейбл ос всякими сортировками , фильтрами. Только сделай лейзи пашинацию, иначе туго будет все строки разом тянуть
Не увидел главного - есть ли поддержка авторизации, пользователей, или это пилить отдельно нужно?
Для примера я хочу создать веб сервис с отдельными балансами и функционалом для разных пользователей
Говорил об этом в компонентах
есть куча доп компонентов для авторизации. можно для разных ролей разные вьюхи пилить. удобнее это делать с hydralit меню компонентом, потому как если многостраничный эпп - с стандатным стримлитовским функуионалом не очень, промучаетесь.
Круто, можливості цікаві👍🔥
Благодарю
Будет ли разбор NiceGUI?
Из видео не понял главного, для работы Streamlit нужен сервер с поддержкой cgi python?
Можно запустить как угодно
Под капотом фласк, соотвественно под капотом верузюг. Если деплоить, то соотвественно надо юзать гуникорн или uwsgi
Давай на данной библиотеке попробуешь реализовать Мини Мессенджер где можно поговорить с друзьями + GPT чат.
Спасибо за идею
нефига не понял, но очень интересно.😁
наверное было бы лучше сказать для чего оно, что можно на нем делать а что нет, недостатки.а то что там вот такое есть или вот такое, можно и самому посмотреть если оно тебе надо. пишут что для дата разрабов, хоть комментаторам спасибо.)) python в GPU пока больно, для это есть js. но то что прогресс есть, это радует.😁
мне сайт быстрее написать на flask, django и прилепить нужные либы js к ему чем разбираться в этом всем.😁я так понимаю это вообще не для сайтов типовых а для веб приложений под определенные задачи сделано. просто есть сайт а есть приложение. к сожалению пока не то что не все юзеры это понимают, а даже большинство разрабов не совсем понимают разницы.)))
Похоже, ты и сам тоже не очень-то разбираешься )
Ну да, это для спа, сделать юай для модели, данных например.
🔥
;))
Привет, не до конца понятно как связывать различные фреймы на беке( к примеру django restapi) с такими фронтами как flet, streamlit и тд, было бы круто если ты показал бы на видео)
Стримлит больше заточен на спа у него свой бэк. Не слышал чтобы вязали стримлит с дрф. Разве что по определенному руту вываливать стримлит приложение, и держать его как модуль для джанги. Какую связь ты подразумеваешь между стримлитом и дрф я не понял
А, стримлит это не фронт, это веб фреймворк где можно сотворить хтмл лейаут
Я лично программировал бек и фронт на flet
жоск
;)
Да, streamlit это круто )
Но что насчёт синхронизации между страницами и где отвечать на запросы (не создавать же новый сервер чисто для api)
Смотря какая цель преследуется, так то можно и у них на серверах задеплоить, вроде как это бесплатно.
@@zproger деплой это другое, я про синхронизацию изменения данных на одной странице что бы было видно и на другой
В стремлит есть session_state
@@santorikun и зачем я буду выискивать в цикле одинаковые акки (
А приложения можно делать ?
Было бы интересно сравнение Streamlit vs Shiny
запилишь?
Ну шайни вроде бы на р написан
А можна узнать что у тебя за операционка, свиду панель задач необычная
Arch Linux BSPWM
@@zproger спасибо)
0:47 как и раньше: с меня два лайка и два коммента с двух аккаунтов
Благодарю!
Эта штука работает с БД ?? , скажем - можно ли Streamlit прикрутить к Django проекту ?!
Встроенного функционала работы с бд как в джанго нету.
В основном люди тянут инфу в датафрейм и уже с ним работают.
Есть функционал встраивания в другие сайты.
Стримлит это обособленный веб фреймворк и больше используется для спа. Данные показать , сделать интерактивный интерфейс для модели. Наверняка можно его сделать отдельным модулем для Джанги , но хз, такого не видел. А бд можно с помощью субд + орм, алхимия та же самая
Пробовал писать на стримлит комбобокс в котором меняется его содержимое при переключении чекбокса. И застрял. Не обновляется веб. Документации море
Странно, вроде как должно нормально работать
Можно ли создать браузер на streamlit?
Вряд ли, разве что если ловить запросы, на бэкенде обрабатывать и возвращать ответ, но это выйдет онлайн-браузер, а не полноценное приложение.
Мне он нравится, но, насколько я понял, сложно его запускать на собственном сервере. Поправь, если ошибаюсь
Вообще не сложно
@@zproger тогда буду ждать инструкцию как это сделать)
через nginx
Я знаком только с flet. Чем streamlit лучше flet?
Нужно сравнить, чтобы понять это. Но а так это немного разные инструменты.
у кого есть и кому не лень киньте пж уже исходный код с норм интерфейсом. хочу пока что пустую прогу ну ток вписать там допустим мейн сетингс и впринципе чтобы можно было добавлять в проге, довольно удобно было бы. в дальнейшем уже сам дописать хочу функционал
А можно обзор на рабочий экран тему и на то как ты их кастомизируеш! пжпжпжп я ужн неделю ищу как в браузере убрать кнопки управления
Если надо могу и задонатить!!! просто капец красота
Оболочку допиливаю в свободное от работы время, поэтому если можете поддержать донатом, то это ускорит процесс в разы.
Не повезло. Я уже сделал веб прогу на Flask HTML и SCSS. И тут видео выходит про то как сделать всё, что я делал в 100 раз легче!!!😤😭
Эх...
@@zproger Это печально
Что такое WebRTC?
А ведь уже месяц прошел...))
С какого момента?
@@zproger Я про dot файлы системы) Первый ролик с новой системой был месяц назад
Она не готова, не знаю когда найду время чтобы допилить. Дело в том, что если я конфиги скину, то люди получат не ту систему, что у меня на видео, а они получат оболочку где поплыли все символы, все размеры, скрипты и т.д. Не вижу смысла такое заливать куда-то, это совершенно не юзабельно.
Смотрел-смотрел, коменты читал так и понял для чего это. Автор, можешь объяснить как это применять? А то писать все в одну строчку кода это наверно прям оргазм для однострочников, но что с этим всем делать непонятно.
На pywebio нету виджетов говорит он, а какие виджеты из коробки есть в стримлит? дропдаун список или демонстрация картинки? здесь без хтмл даже фон странички выставить не сможешь, не говорю о каком-то еще партиклс-джс...
Здесь абсолютно для всего надо писать key, лейблить и попрой даже лейблов не хватает и стримлит ноет чтобы ты еще и хелп писал своим методам. Зачем? потому что го_вно.
И даже не понятна задумка создатей, хотят они чтобы пользователи юзали процесс-стейт или результаты в переменные помещали. спойлер: оба варианта просто задушат гемором.
"Офигеть тут стрелочки рисовать дают, графики, ыыы."
(Но ничё что это не из коробки, и тебе все равно надо через плотли это делать не ?)
Парсеры деплоить не получится, а настройка селениума - тупо лол удачи братан земля пухом.
использовать стримлит как веб-страница - не получится, тут один домен.
создавать сайты визитки на этом кале - нафиг надо? на том же фласке будет в сто раз легче чем на этой ху_йне
которая кста не знаешь в какой момент самоуничтожится и выкинет ошибку "ты забыл добавить сто операторов для операторов для метода, здесь только 99, значит я хз что это, ну значит дублиткат - короче лови ошибку зае_бал!"
боже, в этом кале хепл и плейсхолдер придают уникальность.
Плюс, хероку нахер пошла, теперь только на сервера стримлит заливать можно. Где тупо желаю удачи устанавливать драйвера без досупа к терминалу!
на пх тоже по дефолту залить не варик.
так, внатуре зачем а главное нах_уя?
Вьетнамские флешбеки словил, начало бомбить снова.
Лейблы - это тот еще гемор.
Что-то серьёзное писать не стоит, но мелкий проект по быстрому никидать можно.
Как мне - так очень не хватает модальных окон.
Как сделать такую же тему, как у тебя в ide?
Это дефолт PyCharm на линукс
@@zproger понял, спасибо
а как сделать такую же верхнюю панель?
Будет видео
делай
Где пять тысяч лайков
не знаю ;(
Автор обьяснять очень плохо, я бы даже сказал ужасно. Хотелось бы увидеть реальные примеры применения, а не что одна строчка кода делает вот это, а две строчки делают вот это. Хотелось бы вообще понять для чего оно подходит? Только для одностраничника или можно что-то посерьёзнее замутить?
Это нереально поместить в одном видео, если оно зайдет, то сделаю еще одно видео где с нуля создам приложение. Ну а вообще, в течении видео я на эти вопросы отвечал.
можно и посерьезнее, но придется хакать. стримлит обновляется чуть ли не каждый месяц и хаканья нудно все меньше, но лимитов слишком много. Он же для дата народа придуман, а не для полноценной веб разработки.
Вот так вот
вот так вот
(Нихера не конкретное видео)
Вот так вот
:D