Catálogo automatizado de todas as aplicações Streamlit da Plataforma DGB (Destaques do Governo Brasileiro).
Este repositório gera automaticamente um catálogo visual de todos os apps Streamlit desenvolvidos na organização destaquesgovbr. O catálogo é atualizado diariamente e publicado via GitHub Pages.
- Descoberta Automática: O script
fetch_app_metadata.pybusca todos os repositórios que começam comstreamlit-na organização - Extração de Metadados: Para cada repositório, extrai o arquivo
.streamlit-app.yamlque contém informações sobre o app - Geração do Site: O script
generate_site.pycria uma página HTML estática com todos os apps - Publicação: O GitHub Pages serve o catálogo em
https://destaquesgovbr.github.io/streamlit-catalog/
streamlit-catalog/
├── .github/
│ └── workflows/
│ └── generate-catalog.yml # Workflow para atualização automática
├── scripts/
│ ├── fetch_app_metadata.py # Busca metadados dos apps
│ └── generate_site.py # Gera o site HTML
├── data/
│ └── apps.json # Metadados dos apps (gerado)
├── index.html # Página do catálogo (gerado)
└── README.md
- Busca em Tempo Real: Filtre apps por nome, descrição ou palavras-chave
- Filtro por Categoria: Veja apps de categorias específicas (analytics, visualization, etc.)
- Informações Completas: Nome, descrição, owner, tags, stars, e links
- Design Responsivo: Funciona em desktop, tablet e mobile
- Tema DGB: Cores oficiais do Design System do Governo
Para que seu app apareça no catálogo, ele deve:
- Estar na organização
destaquesgovbr - Nome começar com
streamlit-(ex:streamlit-my-app) - Ter um arquivo
.streamlit-app.yamlna raiz do repositório com a seguinte estrutura:
name: "Nome da Aplicação"
description: "Breve descrição do que o app faz"
owner:
name: "Nome do Time/Pessoa"
email: "owner@example.com"
category: "analytics" # analytics, visualization, exploration, admin
tags:
- "tag1"
- "tag2"
keywords: "palavras, chave, busca"
icon: "📊"
version: "1.0.0"
repository: "https://github.com/destaquesgovbr/streamlit-my-app"
documentation: "https://url-do-app.run.app"O catálogo será atualizado automaticamente no próximo ciclo (diariamente às 6h UTC).
Para forçar uma atualização do catálogo:
- Vá em Actions
- Selecione o workflow "Generate Catalog"
- Clique em "Run workflow"
Para testar a geração do catálogo localmente:
# Instalar dependências
pip install PyYAML requests jinja2
# Buscar metadados (requer GH_TOKEN)
export GH_TOKEN=your_github_token
python scripts/fetch_app_metadata.py
# Gerar site
python scripts/generate_site.py
# Abrir index.html no navegador
open index.html- Python 3.11: Scripts de geração
- GitHub Actions: Automação
- GitHub Pages: Hospedagem
- Jinja2: Template engine
- PyYAML: Parse de metadados
- GitHub API: Descoberta de repositórios
Este repositório é gerado automaticamente. Se você encontrar problemas:
- Verifique se o arquivo
.streamlit-app.yamldo seu app está correto - Abra um issue neste repositório se houver problemas com os scripts de geração
AGPL-3.0 License - ver LICENSE para detalhes.