Dashboard interativo para análise temporal de notícias do portal gov.br por agência governamental.
🚀 Criado a partir do streamlit-boilerplate
Este aplicativo Streamlit permite explorar e analisar notícias publicadas em diferentes agências do governo brasileiro, extraídas do portal gov.br.
- 📊 Análise temporal: Visualize notícias por ano, mês, semana ou dia
- 🏛️ Filtro por agências: Selecione agências governamentais específicas
- 📈 Visualizações interativas: Gráficos com Altair
- 📰 Listagem detalhada: Tabela com artigos filtrados
- 🔍 Ranking de agências: Veja as agências mais ativas
Dataset hospedado no HuggingFace:
- Dataset completo:
nitaibezerra/govbrnews - Dataset reduzido:
nitaibezerra/govbrnews-reduced(usado neste app) - Scraper: https://github.com/nitaibezerra/govbrnews-scraper
- Python 3.11+
- pip
-
Clone este repositório:
git clone https://github.com/destaquesgovbr/streamlit-dgb-basic.git cd streamlit-dgb-basic -
Instale as dependências:
pip install -r requirements.txt
-
Execute o app localmente:
streamlit run app/main.py
-
Acesse
http://localhost:8501no navegador
streamlit-dgb-basic/
├── app/
│ ├── main.py # Aplicação principal com análise de notícias
│ ├── components/ # Componentes reutilizáveis
│ └── utils/ # Funções auxiliares
├── tests/
│ └── test_app.py # Testes
├── .streamlit/
│ └── config.toml # Configuração do Streamlit
├── .streamlit-app.yaml # Metadados para catálogo
├── Dockerfile # Container definition
└── requirements.txt # Dependências Python
# Instalar dependências de desenvolvimento
pip install -r requirements-dev.txt
# Rodar testes
pytest
# Rodar com cobertura
pytest --cov=app tests/Este app está deployado na Plataforma Streamlit DGB via Cloud Run.
- ✅ Repositório: https://github.com/destaquesgovbr/streamlit-dgb-basic
- 🔄 Deploy: Automático via GitHub Actions (push to main)
- ☁️ Hospedagem: Google Cloud Run
- 🔐 Acesso: Público via URL
🌐 https://streamlit-dgb-basic-klvx64dufq-rj.a.run.app
- Streamlit 1.41.0: Framework para dashboards interativos
- HuggingFace Datasets 3.2.0: Carregamento de dados
- Altair 5.2.0: Visualizações declarativas
- Pandas 2.2.0: Manipulação de dados
- Carregamento de Dados: Dataset
nitaibezerra/govbrnews-reducedé carregado do HuggingFace e cacheado por 6 horas - Seleção de Agências: Multiselect permite filtrar agências de interesse
- Granularidade Temporal: Escolha entre ano, mês, semana ou dia
- Filtro de Período: Slider para selecionar intervalo de datas
- Visualizações:
- Gráfico de linha com total de notícias ao longo do tempo
- Gráfico comparativo por agência (top N agências)
- Tabela com artigos ordenados por data
# O app usa cache do Streamlit para performance
@st.cache_data(ttl=3600 * 6) # Cache por 6 horas
def load_data() -> pd.DataFrame:
dataset = load_dataset("nitaibezerra/govbrnews-reduced", split="train")
df = pd.DataFrame(dataset)
# ... processamento temporal
return dfEste app foi criado como validação da Plataforma Streamlit DGB (Fase 1 do plano de implementação).
Para contribuir:
- Fork o repositório
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Add nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
AGPL-3.0 License - ver LICENSE para detalhes.
- Plataforma Streamlit DGB: destaquesgovbr-infra
- Template Boilerplate: streamlit-boilerplate
- Catálogo de Apps: streamlit-catalog
- Documentação: docs/streamlit-platform.md
Este app faz parte da Fase 1 do plano de implementação da Plataforma Streamlit DGB, servindo como validação end-to-end de todo o processo:
- ✅ Uso do template boilerplate
- ✅ Migração de app existente
- ✅ Registro via issue template
- ✅ PR automatizado
- ✅ Deploy no Cloud Run
- ✅ Integração com HuggingFace
Para mais detalhes, veja STREAMLIT_PLATFORM_PLAN_2.md.