[PITCH] Lib de multi páginas para Streamlit (Fazendo Front sem codar Front)

E aí, pessoal! 👋

Deixa eu contar pra vocês sobre um projeto que estou trabalhando – é o Streamlit Super App! Esse negócio é um canivete suíço pra quem tá na vibe de criar apps com Streamlit.

O que é? É um pacote que vai dar aquele gás no desenvolvimento de apps multipágina e ainda vem com um gerenciamento de estado dos widgets que é uma beleza.

Por que é legal?

  • Roteamento de múltiplas páginas: Sabe aquela dor de cabeça de rotear suas páginas? Com essa biblioteca, a estrutura de pastas do seu projeto já resolve isso.
  • Estado Persistente: Trocar de página sem perder os dados? Yes baby!

Instalação? Moleza!

pip install streamlit-superapp

Bora começar?

Cria uma pasta pages e joga suas páginas lá dentro. Tipo assim:

pages/
├─  __init__.py
└─  hello/__init__.py
app.py

Aí no hello/__init__.py, você faz a mágica acontecer com um "Hello World!" maneiro.

import streamlit as st

def main():
    st.write("Hello Tab News!")

E no seu app.py

import streamlit_superapp

streamlit_superapp.run()

Agora é só dar um streamlit run app.py e partir pro abraço!

Este será o seu hub de páginas:

E clicando nesse card maravilhoso você tem o seu Hello World!

Partindo para a loucura com páginas dentro de páginas dentro de páginas

Apenas criando arquivos vazios, o Streamlit Super App já desenha a interface na web!

├── hello
│   └── __init__.py
│
└── sub_paginas
    ├── pagina_1.py
    ├── pagina_2.py
    └── __init__.py

Página Inicial

Sub Páginas

Acabou?

Ainda tem mais... mas convido vocês a checarem o repositório da biblioteca no Github e testar a Demo que tem exemplos bem legais!

Github Demo

Muito boa a proposta! Vou testar, estive precisando disso ha um tempo atras.

Belo trabalho op!

Muito obrigado! Quero muito que o pessoal que usa Streamlit fique sabendo dessa lib... Dê um star no repositório se puder hehe