Mini-projeto para listar todos os processos do SEI (MG) na unidade configurada e gerar um arquivo .xlsx com metadados.
- Faz login no SEI com
SEI_USER/SEI_PASS - Garante a unidade configurada em
SEI_UNIDADE(tenta trocar automaticamente após o login) - Lista processos Recebidos e Gerados (com paginação automática)
- Exporta um Excel em
./saida/processos.xlsx(ou no caminho passado em--saida)
- Não aplica filtros (sempre exporta tudo de Recebidos + Gerados)
- Não gera PDF
- Não abre cada processo para enriquecer dados “internos” (o Excel é baseado no que aparece no Controle de Processos)
- Python >= 3.13
- (Opcional)
uvinstalado: https://github.com/astral-sh/uv
-
Instalar dependências:
uv sync
-
Configurar credenciais e unidade (via
.env):cp .env.example .env
Preencha no
.envas variáveis obrigatórias:SEI_USERSEI_PASSSEI_ORGAOSEI_UNIDADE
-
Rodar a listagem e exportar Excel:
uv run listar_processos_sei.py
Saída padrão:
./saida/processos.xlsx
Opcional (alterar caminho do Excel):
uv run listar_processos_sei.py --saida ./saida/processos.xlsx-
Criar e ativar um virtualenv:
python3 -m venv .venv source .venv/bin/activate # macOS/Linux
No Windows (PowerShell):
py -m venv .venv .\.venv\Scripts\Activate.ps1 -
Instalar dependências:
pip install -r requirements.txt
-
Configurar credenciais:
cp .env.example .env
-
Rodar:
python3 listar_processos_sei.py
No Windows (PowerShell):
py listar_processos_sei.py
O arquivo .xlsx contém 1 linha por processo e colunas (nomes internos):
numero_processo,categoria,visualizadotitulo,tipo_especificidaderesponsavel_nome,responsavel_cpfmarcadorestem_documentos_novos,tem_anotacoesid_procedimento,hash,url
Obrigatórias:
SEI_USER/SEI_PASSSEI_ORGAO(código do órgão)SEI_UNIDADE(nome da unidade no SEI)
Opcionais:
SEI_DEBUG=1habilita logs detalhadosSEI_SAVE_DEBUG_HTML=1salva HTMLs úteis para depuração emdata/debug/SEI_DATA_DIR=datatroca o diretório base dos artefatos locais (debug HTML)
SEI_DEBUG=1habilita logs detalhadosSEI_SAVE_DEBUG_HTML=1salva HTMLs emdata/debug/(útil se o SEI mudar o layout)
- Erro de login/credenciais: confira
SEI_USER/SEI_PASSe se sua conta não está bloqueada. - Unidade não encontrada: confirme se
SEI_UNIDADEestá exatamente como aparece na lista do SEI (o script normaliza maiúsculas/espaços, mas precisa do mesmo texto). - Mudança de layout do SEI: habilite
SEI_SAVE_DEBUG_HTML=1e inspecione os HTMLs emdata/debug/.- Se a extração parar de funcionar, o que geralmente muda são IDs/classes das tabelas ou o formulário de paginação.
- Nunca commite o
.env(este repositório já ignora por padrão via.gitignore).