Skip to content

Releases: lucmolero/nanojud

v0.5.3

Choose a tag to compare

@github-actions github-actions released this 16 Oct 00:51
f7611c0

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) e extrair (extract).
  • Opcoes em portugues: --fonte, --limite, --recentes-primeiro, --max-caracteres, --ajuda e --versao.
  • --formato auto|texto|json em consultar, partes, linha-do-tempo e djen. O padrao auto usa texto no terminal e JSON ao redirecionar a saida ou usar --out.
  • --out tambem em consultar e partes.
  • python -m nanojud funciona, e o resumo do search traz situacao.
  • Erros previstos mostram "O que fazer" no terminal e o campo dica no JSON; arquivo de extrato ausente ou invalido tem mensagem clara; Ctrl+C encerra com mensagem.
  • Sem o leitor de PDF, ler-pecas informa como instalar (python -m pip install "nanojud[pdf]").
  • linha-do-tempo --recentes-primeiro --limite N nao 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,<7 e mcp>=1.30.0,<2. Os pisos anteriores permitiam versoes com dezenas de avisos.
  • mcp>=1.0 estava errado: o servidor usa FastMCP, 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_datajud aceita compacto (padrao true), que omite o payload_origem repetido; processos grandes passavam de 150 KB.
  • Workflows de publicacao so rodam a partir de uma tag vX.Y.Z igual 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

Choose a tag to compare

@github-actions github-actions released this 15 Oct 21:19
05e3a43

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.
  • search ficou bem mais rapido: busca so uma pagina de movimentacoes (cerca de 11 s para 1 s no processo de demonstracao).
  • Fontes em paralelo: extract_process consulta eSAJ, DataJud e DJEN ao mesmo tempo, com prazo_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.todas vinha vazio em processos que so trazem a tabela de partes principais; agora repete as principais.
  • dados_basicos ganha situacao (ex.: Extinto) e etiquetas do cabecalho do processo no eSAJ.
  • Fora do TJSP, o eSAJ aparece como nao_aplicavel em source_status, sem gerar erro.
  • A saida de ler_pecas traz pasta_digital resumida (status e paginas), 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_oab devolve NUMERO/UF (140969/SP; suplementar 12345A/RJ); antes OAB/SP 140.969 virava /SP 140.969.

Novos recursos

  • desde em api.get_extrato, api.extract_process, CLI (extract, timeline) e MCP.
  • timeline --recent-first --limit N (e gerar_timeline no MCP) busca no eSAJ so as N movimentacoes mais recentes.
  • CLI --limite-movimentacoes em extract e timeline (0 busca todas).
  • MCP: consultar_esaj e extrair_processo aceitam compacto, 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_processo reaproveita 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

Choose a tag to compare

@github-actions github-actions released this 15 Oct 19:30
7188dc6

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_process ganha divergencias, que aponta diferencas entre eSAJ e DataJud e contexto de incidentes e graus.
  • Seguranca: o href de documentos lido de um extrato JSON externo so e aceito se for do eSAJ.

Correcoes

  • search, extrato e a timeline voltam a trazer movimentacoes e ultima movimentacao do eSAJ.
  • partes preenche polo_ativo e polo_passivo com as abreviaturas do eSAJ (Imptte, Imptdo etc.).
  • relacionados.incidentes nao traz mais a linha vazia de espacamento.
  • DJEN preserva numero_processo, incidente, status e cancelamento, hash, numero_comunicacao e advogados.
  • Timeline com ids unicos para movimentos repetidos; eventos DJEN passam a ter numero_cnj.

Novos recursos

  • limite_movimentacoes (padrao 100; 0 ou None busca todas) em api.get_extrato, NanoJudConfig, CLI extrato --limite-movimentacoes e MCP consultar_esaj. Quando ha corte ou falha parcial, origem.movimentacoes_completas fica false e origem.aviso_movimentacoes explica; o envelope agregado registra um warning.
  • DataJud: graus resume cada registro e cada movimento traz o grau de origem.
  • Workflow semanal Live smoke e 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

Choose a tag to compare

@github-actions github-actions released this 02 Aug 10:27

Release v0.5.0

Esta release adiciona o primeiro servidor MCP local do projeto.

Destaques

  • Servidor MCP local por stdio em nanojud.mcp_server.
  • Entrypoint nanojud-mcp.
  • Extra opcional mcp para 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_info
  • validar_cnj
  • extrair_numeros_cnj_de_texto
  • consultar_esaj
  • consultar_datajud
  • consultar_djen
  • extrair_processo
  • gerar_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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 17:32

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, extract e timeline.
  • 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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:48

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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:31

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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:13

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 check do 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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 14:27

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 popupSenha oculto
    padrao do eSAJ.
  • Adiciona teste automatizado para processo publico com popup oculto de senha.
  • Adiciona teste live opcional 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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 13:47

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.