Aplicações Web com Streamlit
Streamlit é uma biblioteca e API em Python para criar aplicações web de forma super fácil e rápida. Ela já foi tratada em vários posts anteriores (por exemplo, aqui e aqui), mas vamos abordá-la novamente em uma série de novas postagens. A grande vantagem do Streamlit é que ela possibilita a criação de aplicações web escritas completamente em Python. Toda parte de frontend é feita com comandos do Python. Nos bastidores, a API do Streamlit traduz esses comandos nos elementos de HTML, CSS e JavaScript para você. E ela também lida com toda a lógica de backend. Ou seja, adicionar um widget em um app criado com Streamlit é o mesmo que declarar uma variável no Python. Não há necessidade de escrever um backend, definir roteamento, lidar com solicitações HTTP, conectar um frontend, escrever HTML, CSS, JavaScript.
Com isso, a criação de aplicações web com Streamlit pode ser feita com códigos enxutos e bem diferentes dos códigos de frameworks como Django. Com Streamlit, é possível criar uma aplicação web completa com poucas linhas de código.
Setup Básico
Se interessou? Para usar a biblioteca, precisa instalá-la, preferencialmente em ambiente virtual. A instalação com pip é feita com o comando:
pip install streamlit
Para instalação com o conda:
conda install conda-forge::streamlit
"Olá, mundo" com Streamlit
Para usar streamlit em código, a biblioteca precisa ser importada.
import streamlit as st
Depois, é só usar os comandos disponíveis por sua API para começar a criar aplicações web com Python. Para esse post, faremos o famoso “olá, mundo”. Basta digitar o comando:
st.write("olá, mundo")
Como para executar o código? Os códigos do Streamlit não são executados como códigos tradicionais do Python. Eles são executados com o comando streamlit run <nome_do_seu_codigo>.py. Ao executar esse comando, o conteúdo do seu arquivo é exibido diretamente no navegador. Ele deve ser parecido com a imagem abaixo.
A biblioteca também atualiza automaticamente o conteúdo mostrado no navegador conforme você modifica seu código.