Open source legal data infrastructure
Dados judiciais públicos para agentes, automações e pesquisa jurídica confiável.
Uma biblioteca Python para consultar, estruturar e auditar informações públicas do eSAJ/TJSP, dados estruturados do DataJud/CNJ e comunicações do DJEN com rastreabilidade, testes automatizados e governança documentada.
{
"tribunal": "TJSP",
"origem": "eSAJ",
"status": "estruturado",
"governanca": ["LGPD", "limites", "reprodutibilidade"],
"automacao": "pronta_para_agentes"
}
py.typed
Para quem está construindo o futuro jurídico
Base técnica para produtos, escritórios e pesquisa aplicada.
O projeto foi desenhado para unir engenharia de software, responsabilidade jurídica e abertura acadêmica. Ele transforma consultas públicas em dados estruturados para fluxos verificáveis, sem prometer acesso privilegiado, contornar barreiras ou substituir análise profissional.
Rotinas repetíveis
Consulta, estruturação e extração de informações públicas para reduzir retrabalho operacional com revisão humana.
Produto sobre base aberta
Contratos tipados, cliente configurável, cache opt-in e erros previsíveis para integração profissional.
Metodologia explícita
Documentação sobre reprodutibilidade, fixtures sanitizadas, limitações e validação controlada.
Agentes com MCP
Instalação guiada para Claude Code, Codex, Gemini e clientes compatíveis com MCP local por stdio.
Engenharia verificável
Um projeto open source que mostra senioridade no código e no cuidado institucional.
O repositório combina parser, cliente, CLI, documentação, testes sem rede, testes live opcionais, validação de build, auditoria de dependências, changelog, governança, segurança e notas de release versionadas.
Primeiro uso
Instale, consulte e trabalhe com dados estruturados.
A API favorece fluxos claros: configurar limites, consultar uma fonte pública e receber um extrato pronto para auditoria, persistência ou integração com agentes internos. Para uso assistido por IA, siga a jornada de instalação com MCP local.
from nanojud import NanoJudClient, NanoJudConfig
client = NanoJudClient(
NanoJudConfig(
timeout=20,
rate_limit_interval=1.0,
cache_enabled=True,
)
)
extrato = client.get_extrato("0015020-23.2010.8.26.0053")
print(extrato["dados_basicos"]["classe"])
print(len(extrato["movimentacoes"]))