Repository navigation
Releases: lucmolero/nanojud
Release list
v0.5.3
Release v0.5.3
Esta release torna a CLI utilizavel por quem nao programa: comandos, ajuda e erros em portugues, saida legivel no terminal e um guia passo a passo para advogados. Tambem endurece as dependencias e a publicacao. Nao ha mudanca nas consultas nem nos dados; continua sendo uma lib de consulta processual.
A 0.5.3 inclui tudo da 0.5.2 (tag e release no GitHub, nao publicada no PyPI): correcao da leitura de pecas, ritmo minimo de consultas ao eSAJ, search fora do TJSP via DataJud, fontes em paralelo, desde, situacao e etiquetas. Veja as notas da 0.5.2.
Destaques
- CLI em portugues: ajuda, mensagens de uso e de erro, e apelidos para os comandos. Os nomes em ingles continuam valendo.
- Saida em texto legivel no terminal, com datas em dia/mes/ano. Ao redirecionar a saida ou usar
--out, continua JSON, entao scripts existentes nao quebram. - Erros com "O que fazer" e avisos de andamento durante consultas demoradas.
- Novo Guia do advogado (
docs/guia-do-advogado.md): da instalacao do Python no Windows a primeira consulta, com tarefas do dia a dia, tabela de erros e glossario.
CLI
- Apelidos:
consultar(search),linha-do-tempo(timeline) eextrair(extract). - Opcoes em portugues:
--fonte,--limite,--recentes-primeiro,--max-caracteres,--ajudae--versao. --formato auto|texto|jsonemconsultar,partes,linha-do-tempoedjen. O padraoautousa texto no terminal e JSON ao redirecionar a saida ou usar--out.--outtambem emconsultarepartes.python -m nanojudfunciona, e o resumo dosearchtrazsituacao.- Erros previstos mostram "O que fazer" no terminal e o campo
dicano JSON; arquivo de extrato ausente ou invalido tem mensagem clara; Ctrl+C encerra com mensagem. - Sem o leitor de PDF,
ler-pecasinforma como instalar (python -m pip install "nanojud[pdf]"). linha-do-tempo --recentes-primeiro --limite Nnao avisa mais do corte de movimentacoes que a propria CLI escolhe.
Documentacao
- Guia do advogado, com instalacao no Windows, tarefas do dia a dia, como ler o resultado, solucao de problemas e glossario.
- README com "Primeiros passos em 2 minutos", quickstart que comeca pelo terminal, guia da CLI reescrito e pagina "Para advogados" apontando para o guia.
Seguranca e confiabilidade
- Pisos de dependencia sem vulnerabilidades conhecidas (
pip-audit):requests>=2.33.0,pypdf>=6.19.0,<7emcp>=1.30.0,<2. Os pisos anteriores permitiam versoes com dezenas de avisos. mcp>=1.0estava errado: o servidor usaFastMCP, disponivel a partir do mcp 1.2.- Links relativos do README quebravam na pagina do PyPI; agora apontam para o site da documentacao e para o GitHub.
- MCP:
consultar_datajudaceitacompacto(padraotrue), que omite opayload_origemrepetido; processos grandes passavam de 150 KB. - Workflows de publicacao so rodam a partir de uma tag
vX.Y.Zigual a versao do pacote.
Compatibilidade
Os comandos e opcoes em ingles continuam funcionando. A unica diferenca de comportamento e visivel so em terminal interativo: consultar, partes, linha-do-tempo e djen mostram texto em vez de JSON. Use --formato json para manter o JSON no terminal.
Validacao
Suite offline com 228 testes, ruff, mypy, cobertura minima de 90% e mkdocs build --strict sem avisos. Instalacao limpa (base, [pdf] e [mcp]), suite contra o wheel instalado com as versoes minimas e mais novas das dependencias, pip-audit limpo nos pisos, upgrade a partir da 0.5.1 e servidor MCP real por stdio, com comandos do guia verificados contra eSAJ, DataJud e DJEN reais. Obs.: o teste live do DataJud falhou na auditoria porque o indice do TJSP do CNJ estava fora do ar (outros indices respondiam lentos).
v0.5.2
Release v0.5.2
Esta release torna a consulta mais rapida e mais confiavel, e corrige dados que a lib perdia ou reportava errado. Nao ha funcoes de interpretacao: continua sendo uma lib de consulta processual.
Destaques
- eSAJ: consultas em sequencia muito rapida recebiam o aviso de "multiplas consultas simultaneas" no lugar do processo, e a lib reportava isso como "processo nao encontrado". Agora ha nova tentativa apos pausa e, se o bloqueio persistir, o erro e de indisponibilidade com mensagem clara.
searchficou bem mais rapido: busca so uma pagina de movimentacoes (cerca de 11 s para 1 s no processo de demonstracao).- Fontes em paralelo:
extract_processconsulta eSAJ, DataJud e DJEN ao mesmo tempo, comprazo_total(padrao 60 s). Uma fonte lenta vira erro isolado e as demais voltam. desde(AAAA-MM-DD): restringe movimentacoes e comunicacoes e interrompe a paginacao do eSAJ ao chegar em dados antigos.- Leitura de pecas corrigida: a pasta digital so abre na sessao que consultou o processo, e a lib devolvia a tela "Sua sessao expirou" como se fosse o texto do documento ao ler a partir de um extrato salvo (JSON). Agora a sessao e preparada e a tela de erro vira
status: sessao_expirada. - Ritmo minimo de 1,1 s entre consultas de processo ao eSAJ (o eSAJ recusa intervalos menores por IP): um lote de 4 processos passou de cerca de 13 s para cerca de 6 s.
Correcoes de dados
partes.todasvinha vazio em processos que so trazem a tabela de partes principais; agora repete as principais.dados_basicosganhasituacao(ex.: Extinto) eetiquetasdo cabecalho do processo no eSAJ.- Fora do TJSP, o eSAJ aparece como
nao_aplicavelemsource_status, sem gerar erro. - A saida de
ler_pecastrazpasta_digitalresumida (statusepaginas), sem a URL com ticket. - "Processo nao encontrado" do eSAJ passa a dizer que pode ser processo sigiloso, de outro sistema ou numero inexistente.
normalizar_oabdevolveNUMERO/UF(140969/SP; suplementar12345A/RJ); antesOAB/SP 140.969virava/SP 140.969.
Novos recursos
desdeemapi.get_extrato,api.extract_process, CLI (extract,timeline) e MCP.timeline --recent-first --limit N(egerar_timelineno MCP) busca no eSAJ so as N movimentacoes mais recentes.- CLI
--limite-movimentacoesemextractetimeline(0busca todas). - MCP:
consultar_esajeextrair_processoaceitamcompacto, que remove dados repetidos. search(API, cliente e CLI) funciona fora do TJSP usando o DataJud, sem partes, foro e juiz (fonte: datajud).NanoJudClient.search_processoreaproveita o extrato ja buscado pelo mesmo cliente.- CLI
djen --desde(mesmo que--data-inicio).
Mudanca de comportamento
No MCP, consultar_esaj e extrair_processo passam a devolver por padrao a versao compacta (compacto=true): extrair_processo mantem so a timeline unificada, sem repetir movimentacoes e comunicacoes em data, e consultar_esaj omite texto repetido e documentos por movimentacao (a lista de documentos continua em documentos). Use compacto=false para o formato anterior.
Quando o limite de movimentacoes e pedido de proposito, o aviso de corte continua deixando o status do envelope como partial.
Validacao
Suite offline com 198 testes, ruff, mypy e cobertura minima de 90%. Medido ao vivo no processo de demonstracao: search de 11,6 s para 0,8 s, duas consultas seguidas funcionando e leitura do texto da sentenca a partir de um extrato salvo.
v0.5.1
Release v0.5.1
Esta release corrige a extracao de movimentacoes do eSAJ, que havia quebrado, e traz varias correcoes de dados e seguranca encontradas em testes de uso real.
Destaques
- eSAJ: as movimentacoes voltam a ser extraidas. O eSAJ passou a carregar a lista sob demanda (
carregarMovimentacoesAjax.do); a lib agora pagina por cursor, com limite configuravel e pausa entre paginas. - DataJud: consulta todos os graus do numero CNJ em vez de um registro arbitrario.
- Envelope de
extract_processganhadivergencias, que aponta diferencas entre eSAJ e DataJud e contexto de incidentes e graus. - Seguranca: o
hrefde documentos lido de um extrato JSON externo so e aceito se for do eSAJ.
Correcoes
search,extratoe a timeline voltam a trazer movimentacoes e ultima movimentacao do eSAJ.partespreenchepolo_ativoepolo_passivocom as abreviaturas do eSAJ (Imptte,Imptdoetc.).relacionados.incidentesnao traz mais a linha vazia de espacamento.- DJEN preserva
numero_processo,incidente, status e cancelamento,hash,numero_comunicacaoe advogados. - Timeline com ids unicos para movimentos repetidos; eventos DJEN passam a ter
numero_cnj.
Novos recursos
limite_movimentacoes(padrao 100;0ouNonebusca todas) emapi.get_extrato,NanoJudConfig, CLIextrato --limite-movimentacoese MCPconsultar_esaj. Quando ha corte ou falha parcial,origem.movimentacoes_completasficafalseeorigem.aviso_movimentacoesexplica; o envelope agregado registra um warning.- DataJud:
grausresume cada registro e cada movimento traz ograude origem. - Workflow semanal
Live smokee testes live de DataJud e DJEN.
Mudanca de comportamento
Os comandos extrato, datajud, djen, extract, timeline e ler-pecas agora imprimem o JSON na tela quando --out nao e informado. Antes gravavam um arquivo no diretorio atual (extrato.json, datajud.json etc.). Scripts que dependiam desse arquivo devem passar --out.
Observacao sobre as fontes
No processo de demonstracao, o DataJud indexa so o registro de um incidente (Requisicao de Pequeno Valor) sob o mesmo numero, e por isso divergencias aponta diferencas em relacao ao eSAJ. Isso vem das fontes, nao da biblioteca.
Validacao
Suite offline com 155 testes, ruff, mypy e cobertura minima de 90%. Testes live validados contra eSAJ, DataJud e DJEN reais.
v0.5.0
Release v0.5.0
Esta release adiciona o primeiro servidor MCP local do projeto.
Destaques
- Servidor MCP local por
stdioemnanojud.mcp_server. - Entrypoint
nanojud-mcp. - Extra opcional
mcppara instalar o SDK MCP apenas quando necessario. - Ferramentas MCP somente leitura para extracao, normalizacao e timeline.
- Chave publica vigente do DataJud/CNJ como fallback documentado, com override por variavel de ambiente ou argumento.
- Documentacao de configuracao local para clientes MCP.
Ferramentas MCP
server_infovalidar_cnjextrair_numeros_cnj_de_textoconsultar_esajconsultar_datajudconsultar_djenextrair_processogerar_timeline
Escopo
O MCP desta versao e local. Ele nao implementa hospedagem HTTPS, autenticacao remota, multiusuario ou deploy em nuvem.
A decisao foi manter a primeira entrega MCP simples, auditavel e segura para uso em clientes locais.
Validacao
Esta release preserva a arquitetura principal da biblioteca e adiciona testes sem rede para garantir registro e delegacao das ferramentas MCP.
v0.4.0
esaj-datajud v0.4.0
Release de extração multi-fonte.
Destaques
- DataJud/CNJ passa a ser uma fonte própria para dados processuais estruturados.
- DJEN permanece separado para comunicações, publicações e intimações.
- Novo envelope versionado de extração com resultados por fonte, erros isolados e timeline cronológica.
- Nova timeline técnica sem fase, relevância, risco ou interpretação jurídica.
- Novos exportadores JSON, JSONL, CSV e SQLite.
- Novos comandos CLI:
datajud,extractetimeline. - Documentação nova para fontes e extração agregada.
Escopo
Esta versão mantém o projeto no campo de extração de dados: coleta, normalização, preservação de fonte e exportação. Não adiciona análise jurídica, classificação de relevância, risco, contingência ou parecer.
Compatibilidade
A API eSAJ e DJEN existente permanece compatível. As novas APIs são aditivas.
v0.3.8
esaj-datajud v0.3.8
Release de correção visual e reposicionamento da página inicial pública.
Destaques
- Página inicial refeita para renderizar corretamente no MkDocs Material.
- Hero redesenhado sem quebra artificial do título.
- Navegação lateral e índice ocultos na home para uma landing mais limpa.
- Layout responsivo com breakpoints previsíveis para desktop, tablet e mobile.
- Narrativa visual reposicionada para infraestrutura jurídica, automações e IA agentica.
- Pipeline técnico, métricas de confiança, cards de uso e CTA final redesenhados.
Validação
- Build estrito da documentação validado localmente.
- Página inicial gerada com CSS dedicado e assets incluídos.
- Release sem mudança de contrato público da API.
Nota
Esta versão corrige a experiência visual percebida na documentação pública. A API Python permanece compatível com a versão anterior.
v0.3.7
esaj-datajud v0.3.7
Release visual da documentação pública.
Destaques
- Página inicial redesenhada com hero moderno para legaltech e fluxos de IA agentica.
- Visual de pipeline jurídico com ingestão, parsing e auditoria.
- Métricas de confiança em destaque: cobertura, CI, CodeQL e LGPD.
- Cards responsivos para públicos de advocacia, legaltech e pesquisa.
- CTA mais claro para Quickstart e GitHub.
- CSS dedicado para a landing da documentação.
- Assets visuais da documentação passam a entrar no pacote fonte.
Validação
- Build estrito da documentação validado.
- Testes automatizados mantidos.
- Build e validação de metadados do pacote executados localmente.
Nota
Esta release não muda o contrato da API. O objetivo é elevar a percepção visual e institucional do projeto para uma apresentação open source mais moderna, confiável e profissional.
v0.3.6
esaj-datajud v0.3.6
Release de branding, confiança e acabamento editorial.
Destaques
- README reposicionado como vitrine premium do projeto.
- Logo SVG adicionado ao repositório e ao site MkDocs.
- Badges de CI, Docs, CodeQL, release, licença e Python organizados no topo.
- Seções de confiança, uso responsável e evidência de robustez real reforçadas.
- Página inicial da documentação reescrita para comunicar público-alvo, diferenciais e limites.
- Metadados do pacote atualizados com descrição e keywords mais alinhadas a legaltech/lawtech.
Validação
- Testes automatizados mantidos.
- Build estrito da documentação validado.
- Build e
twine checkdo pacote validados.
Nota
Esta release não muda o contrato da API. O foco é tornar o projeto mais claro, confiável e atraente para quem chega pelo GitHub ou pela documentação pública.
v0.3.5
esaj-datajud v0.3.5
Release de robustez baseada em validacao com corpus real privado de eSAJ/TJSP.
Destaques
- Corrige falso positivo de acesso restrito em paginas publicas que contem o
popupSenhaoculto
padrao do eSAJ. - Adiciona teste automatizado para processo publico com popup oculto de senha.
- Adiciona teste
liveopcional para consulta real controlada ao eSAJ/TJSP. - Documenta criterio de uso de corpus real privado e sanitizacao de fixtures.
- Release workflow passa a usar notas versionadas como corpo do GitHub Release.
Validacao
- 86 testes automatizados.
- Cobertura acima do gate de 90%.
- Lint, formatacao, type check, build e metadados do pacote validados.
- Corpus privado local com 32 HTMLs reais: 17 processos publicos extraidos, 10.310 movimentacoes,
42 partes principais, 2.451 partes em tabelas completas e 1.020 documentos classificados.
Nota de uso responsavel
O projeto continua sem publicar HTMLs, PDFs ou pecas reais no repositorio. Casos reais devem ser
usados apenas como material privado de validacao ou convertidos em fixtures sanitizadas.
v0.3.4
esaj-datajud v0.3.4
Release de alinhamento pós-abertura pública.
Destaques
- GitHub Pages habilitado para a documentação pública.
- Homepage do repositório atualizada para
https://lucmolero.github.io/esaj-datajud/. - Metadados do pacote atualizados para apontar documentação e homepage para o site público.
Validação Esperada
- CI com cobertura mínima de 90%.
- Docs com deploy para GitHub Pages.
- CodeQL com upload para Code Scanning.
- Release com wheel e sdist anexados.