É possível executar um aplicativo Streamlit em um ambiente Jupyter? Vamos descobrir!
Published on
Na paisagem em constante evolução da ciência de dados, duas ferramentas surgiram como inovadoras por sua capacidade de transformar dados complexos em aplicações interativas e fáceis de usar: o Streamlit e o Jupyter. Embora sejam ferramentas separadas, cada uma com suas próprias vantagens únicas, elas podem ser usadas juntas em um fluxo de trabalho para desenvolver e implantar aplicações de dados interativas.
O Streamlit é uma ferramenta poderosa para criar aplicações de dados interativas, enquanto o Jupyter é um ambiente versátil para computação interativa. Os aplicativos Streamlit não são normalmente executados diretamente no Jupyter. Em vez disso, eles são escritos como scripts em Python e executados a partir de um terminal onde o Streamlit está instalado. Este guia irá explorar as profundezas dessas ferramentas, explorando suas características únicas, como elas podem ser usadas juntas em um fluxo de trabalho e como desenvolver e implantar aplicativos do Streamlit usando notebooks do Jupyter.
Já ouviu falar dessa incrível ferramenta de análise e visualização de dados, que transforma seu aplicativo Streamlit em uma versão do Tableau?
PyGWalker (opens in a new tab) é uma biblioteca Python que ajuda você a incorporar facilmente uma interface semelhante ao Tableau em seu próprio aplicativo Streamlit sem esforço.
Introdução ao Streamlit e ao Jupyter
O que é o Streamlit?
Streamlit é uma biblioteca Python de código aberto que permite aos cientistas de dados e desenvolvedores criar belas aplicações web interativas com apenas algumas linhas de código. Foi projetado para lidar com exploração de dados, treinamento de modelos e fluxos de trabalho de aprendizado de máquina com facilidade. A simplicidade e eficiência do Streamlit o tornaram uma escolha popular entre os profissionais de dados.
O que é o Jupyter?
Jupyter é um ambiente versátil para computação interativa. Ele oferece todos os blocos de construção familiares do Jupyter Notebook clássico (notebook, terminal, editor de texto, navegador de arquivos, saídas ricas, etc.) em uma interface de usuário flexível e poderosa. O Jupyter permite que você trabalhe com documentos e atividades como notebooks do Jupyter, editores de texto, terminais e componentes personalizados de maneira flexível, integrada e extensível.
Desenvolvendo Aplicativos Streamlit em Notebooks Jupyter
Embora o Streamlit e o Jupyter sejam ferramentas separadas, eles podem ser usados juntos em um fluxo de trabalho. Você pode desenvolver e visualizar seus aplicativos Streamlit em um notebook Jupyter usando o pacote streamlit-jupyter (opens in a new tab). Este pacote permite que você use widgets e componentes do Streamlit dentro do seu notebook para fins de desenvolvimento e visualização.
O Pacote Streamlit-Jupyter
O pacote Streamlit-Jupyter (opens in a new tab) é um pacote Python simples que permite visualizar e desenvolver aplicativos Streamlit dentro de notebooks Jupyter. Ele fornece wrappers compatíveis com o Jupyter para os métodos Streamlit, permitindo que você use os widgets interativos e componentes do Streamlit dentro do seu notebook.
Sem problema, vamos continuar.
O Pacote Streamlit-Jupyter
O pacote Streamlit-Jupyter (opens in a new tab) é um pacote Python simples que permite visualizar e desenvolver aplicativos Streamlit dentro de notebooks Jupyter. Ele fornece wrappers compatíveis com o Jupyter para os métodos Streamlit, permitindo que você use os widgets interativos e componentes do Streamlit dentro do seu notebook.
Para usar este pacote, você começa importando o Streamlit e integrando-o com o Streamlit-Jupyter:
import streamlit as st
from streamlit_jupyter import streamlit_patcher
streamlit_patcher.jupyter()
Agora você pode desenvolver seu notebook como de costume, mas com a capacidade adicional de usar os recursos interativos do Streamlit. Isso pode ser especialmente útil para experimentar diferentes visualizações e componentes antes de converter seu notebook em um aplicativo Streamlit.
Convertendo Notebooks Jupyter em Aplicativos Streamlit
Depois de desenvolver e visualizar seu aplicativo Streamlit em um notebook Jupyter, o próximo passo é converter seu notebook em um script Python que possa ser executado pelo Streamlit. Isso pode ser feito usando uma ferramenta chamada Jupytext, como demonstrado neste vídeo do YouTube (opens in a new tab).
O Jupytext é um pacote Python que pode converter notebooks Jupyter para diferentes formatos, incluindo scripts. Ele permite que você converta seu notebook, com todas as suas células de markdown e células de código, em um script Python que pode ser executado como um aplicativo Streamlit.
Aqui está um exemplo simples de como usar o Jupytext para converter um notebook em um script Python:
jupytext --to py seu_notebook.ipynb
Este comando irá criar um script Python chamado seu_notebook.py
a partir do seu notebook seu_notebook.ipynb
. Em seguida, você pode executar este script como um aplicativo Streamlit usando o comando streamlit run
:
streamlit run seu_notebook.py
Executando Aplicativos Streamlit
Os aplicativos Streamlit são geralmente executados a partir de um terminal onde o Streamlit está instalado. Você pode executar seu aplicativo Streamlit navegando até o diretório que contém o script Python do seu aplicativo e usando o comando streamlit run
, seguido pelo nome do seu script:
streamlit run seu_script.py
Isso iniciará o servidor Streamlit e abrirá seu navegador web padrão na URL do seu aplicativo, geralmente http://localhost:8501
.
Conclusão
Streamlit e JupyterLab são ferramentas poderosas no arsenal da ciência de dados. Embora cada uma tenha suas próprias habilidades únicas, elas também podem ser usadas juntas em um fluxo de trabalho para desenvolver aplicações de dados interativas. Com a ajuda do pacote Streamlit-Jupyter, você pode desenvolver e visualizar aplicativos Streamlit dentro de notebooks Jupyter e, em seguida, usar o Jupytext para converter seus notebooks em scripts Python que podem ser executados como aplicativos Streamlit.
Seja explorando dados, construindo modelos de aprendizado de máquina ou criando painéis interativos, o Streamlit e o JupyterLab oferecem uma maneira flexível e eficiente de transformar seus dados em aplicativos interativos.
Você já ouviu falar desta incrível ferramenta de Análise de Dados e Visualização de Dados que transforma seu aplicativo Streamlit em um Tableau?
PyGWalker (opens in a new tab) é uma biblioteca Python que ajuda você a incorporar facilmente uma interface de usuário semelhante ao Tableau em seu próprio aplicativo Streamlit sem esforço.
Perguntas frequentes
O Streamlit é compatível com o Jupyter notebook?
Embora o Streamlit e o Jupyter sejam ferramentas separadas, eles podem ser usados juntos em um fluxo de trabalho. Você pode desenvolver e visualizar seus aplicativos Streamlit dentro de um notebook Jupyter usando o pacote streamlit-jupyter.
Como faço para implantar um notebook Jupyter no Streamlit?
Você pode converter seu notebook Jupyter em um script Python usando uma ferramenta como o Jupytext e, em seguida, executar este script como um aplicativo Streamlit usando o comando streamlit run
.
Qual é a diferença entre Jupyter e JupyterHub?
O Jupyter é um ambiente versátil para computação interativa, enquanto o JupyterHub é uma versão multiusuário do Jupyter que permite que vários usuários usem notebooks Jupyter, colaborem e compartilhem recursos.
O que é semelhante ao JupyterHub?
Existem várias ferramentas semelhantes ao JupyterHub, incluindo RStudio Server, Apache Zeppelin e Databricks.
Qual é a diferença entre o Streamlit e o Jupyter Notebook?
O Streamlit é uma ferramenta para criar aplicativos de dados interativos, enquanto o Jupyter Notebook é um ambiente para computação interativa e exploração de dados. Os aplicativos Streamlit são normalmente escritos como scripts Python e executados a partir de uma linha de comando, enquanto os notebooks Jupyter são baseados na web e permitem a codificação e visualização interativa de dados.
Como executar o Streamlit no Jupyterlab?
Embora você possa desenvolver e visualizar aplicativos Streamlit dentro de um notebook Jupyter usando o pacote streamlit-jupyter, os aplicativos Streamlit são normalmente executados a partir de uma linha de comando onde o Streamlit está instalado, não diretamente dentro do JupyterLab.