Usando o Jupyter Lab em conjunto com o Streamlit

Lucas Rocha
comunidadeds
Published in
5 min readDec 8, 2023

Como criar sites para apresentar dashboards usando o Streamlit e a IDE do Jupyter Lab para Análise e Ciência de Dados

Olá!

Você já se perguntou como tornar suas análises de dados mais interativas e visualmente atraentes?

Hoje vou te mostrar como você pode usar o Streamlit para criar dashboards e usando também a IDE do Jupyter Lab.

Primeiramente, vale ressaltar que esse artigo se destina a você que está buscando formas para apresentar dashboards, seja para usar no trabalho, seja para criar um site para portfólio pessoal ou qualquer outro projeto que envolva Análise ou Ciência de Dados.

Vamos dividir então em três partes esse artigo: uma para falar do Jupyter Lab, outra do Streamlit e a parte final sobre como usar essas duas ferramentas juntas.

1) Jupyter Lab

2) Streamlit

3) Usando o Jupyter Lab com o Streamlit

1)Jupyter Lab

Jupyter Lab Logo

O Jupyter Lab é uma IDE (Integrated Development Environment). Isso significa que ela é um software que integra as três ferramentas necessárias para se programar.

As três ferramentas necessárias são um editor de texto, um compilador (nesse caso, um compilador Python) e um visualizador.

O Jupyter Lab, na verdade, é uma evolução do Jupyter Notebook, onde este tem um papel muito importante na área de Ciência de Dados.

O Jupyter Lab herdou do Notebook a função de execução em blocos, não havendo a necessidade de rodar todas as linhas do código, apesar de também ter essa possibilidade.

Dessa forma, o Jupyter Lab se torna uma ferramenta poderosa, podendo rodar scripts completos de Machine Learning em Python e também códigos simples de uma ou duas linhas através da execução em blocos.

Para fazer o download do Jupyter Lab Desktop, basta acessar esse link:

https://github.com/jupyterlab/jupyterlab-desktop

Essa é uma ferramenta importante para quem quer trabalhar com Ciência de Dados.

2) Streamlit

Streamlit Logo

Agora que já falamos sobre o Jupyter Lab, vamos explorar o Streamlit e, em seguida, aprender como integrá-los para potencializar nossos projetos.

O Streamlit é um Framework em Python para criação de aplicações Web, que são projetos que podem ser usados através de um navegador. O que é um Framework?

Framework é um conjunto de ferramentas, funções, serviços e/ou bibliotecas que pode ser usado em vários projetos.

Às vezes o termo Framework é usado no lugar de biblioteca, pacote, módulo, package.

Ex. o Streamlit é um pacote em Python, um Framework em Python, uma biblioteca em Python onde o resultado dele pode ser acessado via navegador.

Frameworks são úteis pois se cada Cientista de Dados fosse criar do zero um conjunto de ferramentas para se resolver um determinado tipo de problema, cada um faria um algoritmo de um jeito diferente, não existindo um padrão, além de levar mais tempo.

Uma coisa muito boa do Streamlit é que ele é útil para prototipagem, ou seja, digamos que você é um Analista ou Cientista de Dados em uma empresa e você é requisitado para fazer um trabalho. Você pode usar o Streamlit para mandar uma prévia do trabalho para os interessados.

Ele é útil também para apresentações para times de negócio, para visualizações, criação de layouts de páginas web com botões e barras que são usados como filtros.

Além disso, você pode mandar seu projeto no Streamlit como um link para as pessoas verem, como um site.

As oportunidades e vantagens que o Streamlit oferece são muitas, vale a pena dar uma conferida se você trabalha criando dashboards e tem pessoas interessadas em acessar e acompanhar isso.

O site e toda a documentação do Streamlit pode ser acessada através do site:

https://streamlit.io/

3) Usando o Jupyter Lab com o Streamlit

Fonte: streamlit.io

Agora que já foram apresentados o Jupyter Lab e o Streamlit, essa parte do artigo se destina a quem realmente tem interesse em usar essas duas ferramentas e já tem alguma familiaridade com programação, pois o conteúdo agora será um pouco mais técnico (mas nada complexo também, você vai perceber que é muito fácil usar ambas as ferramentas).

Através do terminal do Jupyter Lab, pode-se dar o comando:

streamlit run nome_do_arquivo.py

(isso caso o streamlit já esteja instalado, mas se não tiver, basta dar um pip install streamlit e depois rodar o código acima)

Após isso, automaticamente, irá abrir uma aba no navegador com o arquivo.py sendo rodado e o terminal ficará travado (pois estará rodando — run).

Caso se queira parar de rodar, basta dar um ctrl+c no terminal. Com isso, a aba no navegador não mais será atualizada e o terminal poderá ser usado novamente.

Na aba do navegador, após alguma modificação no arquivo.py, aparecerá a notificação de que o arquivo foi atualizado e algumas opções, de “rerun” e de “always rerun”.

Na opção de “always rerun”, a aba no navegador será atualizada automaticamente sempre que o arquivo .py for modificado

Dica: Caso se use um monitor grande ou dois monitores, é possível deixar o Jupyter Lab de um lado e a aba do navegador do outro lado, para que se veja em tempo real as modificações sendo feitas.

Existem alguns comandos usando a biblioteca Streamlit que permitem dividir a página Web de forma a criar a visualização desejada, criando o dashboard em linhas e colunas.

Após importar a biblioteca do Streamlit:

import streamlit as st

É possível, através da cláusula “with” fazer essa divisão em linhas e colunas, criando:

  • abas (st.tabs)
  • linhas (st.container())
  • colunas (st.columns(num_of_columns))

Exemplo:

Para facilitar o passo a passo da criação do dashboard é interessante quebrar o problema e ir construindo parte por parte. Como?

À medida que for criando as abas, linhas e colunas, escrever primeiramente os títulos de cada região (primeira parte) e depois escrever o código que irá mostrar os gráficos e/ou números em cada uma dessas linhas e colunas (segunda parte).

Essas foram algumas dicas de como usar o Jupyter Lab em conjunto com o Streamlit.

Lembrando que não adianta conhecer ferramenta se não conhecer o negócio.

Você pode dominar o Jupyter Lab, dominar o Streamlit, mas se não dominar que primeiro você é chamado para solucionar um problema, seja de que maneira você irá resolver isso, de nada adiantará saber Jupyter Lab, Streamlit ou qualquer outra coisa.

Entenda as ferramentas, mas domine seu trabalho. Suas ferramentas não são seu trabalho.

Caso você esteja construindo um projeto para portfólio, usar o Streamlit em conjunto com o Jupyter Lab é uma ótima opção, pois você ganha agilidade e qualidade no projeto.

Teste essa combinação e depois me conte e compartilhe como foi essa experiência. Não deixe também de continuar estudando e se aprofundando nos temas abordados aqui.

Espero ter te ajudado! Abraço!

--

--

Lucas Rocha
comunidadeds

Data Scientist | Cientista de Dados | Structural Analyst