Arquitetura¶
nanojud é organizado em camadas pequenas para separar experiência pública, parsing, clientes HTTP e utilidades de domínio jurídico.
Camadas¶
nanojud.api: fachada pública para scripts, notebooks, CLIs e integrações.nanojud.client: cliente configurável para automações profissionais.nanojud.config: configuração imutável de timeout, cache, rate limit e User-Agent.nanojud.cache: cache JSON local e opcional.nanojud.esaj: cliente e parser do eSAJ/TJSP.nanojud.datajud: cliente da API pública DataJud/CNJ para dados processuais.nanojud.djen: cliente do DJEN para comunicações e publicações.nanojud.extraction: envelope versionado de extração por fonte.nanojud.timeline: timeline cronológica sem interpretação jurídica.nanojud.exports: exportadores JSON, JSONL, CSV e SQLite.nanojud.mcp_server: servidor MCP local opcional porstdio.nanojud.models: contratos tipados dos retornos.nanojud.exceptions: exceções públicas e previsíveis.nanojud.utils: normalização de texto, CNJ e classificação auxiliar.nanojud.cli: interface de linha de comando.
Princípios¶
- Testes não devem depender de rede.
- Fixtures devem ser sanitizadas.
- Erros previsíveis devem usar exceções próprias.
- A API pública deve preservar contratos estáveis.
- Funcionalidades sensíveis, como download de peças, devem respeitar restrições técnicas e jurídicas.
Fluxo eSAJ¶
- Valida e normaliza CNJ.
- Monta URL pública de busca.
- Abre sessão HTTP com cabeçalhos conservadores.
- Segue lista de resultados quando necessário.
- Detecta captcha, senha, restrição ou processo não encontrado.
- Extrai dados básicos, partes, movimentações, documentos e tabelas complementares.
- Retorna dicionário estruturado com
status,mensagem,origeme dados do processo.
Cliente configurável¶
O NanoJudClient encapsula a sessão HTTP e aplica configuração operacional sem mudar os contratos principais:
- cria sessão com
User-Agentversionado; - aplica timeout padrão;
- respeita intervalo mínimo entre chamadas quando configurado;
- consulta cache local quando habilitado;
- delega parsing e download aos módulos especializados;
- retorna os mesmos contratos documentados da API pública.
Fluxo DJEN¶
- Consulta endpoint público do DJEN por número CNJ.
- Pagina resultados até
max_pages. - Aplica retry/backoff para falhas transitórias e HTTP 429.
- Deduplica comunicações por
id. - Normaliza datas e campos de saída.
Fluxo DataJud¶
- Valida e normaliza o CNJ sem restringir a TJSP.
- Infere o índice DataJud a partir do segmento e tribunal do CNJ.
- Consulta a API pública DataJud/CNJ com
APIKey. - Normaliza classe, grau, órgão julgador, assuntos, movimentos e partes.
- Retorna payload bruto opcional quando solicitado.