andrebadini/repojus
RepoJus: Jurisprudência Brasileira de Inteiro Teor O RepoJus é um corpus consolidado de decisões judiciais e administrativas brasileiras obtidas de fontes públicas oficiais. O snapshot v2 reúne 4.106.391 registros canônicos, sem duplicatas de normalized_hash, em 4.666 shards Parquet determinísticos (39.290.819.138 bytes). O corpus foi estruturado para pesquisa jurídica, recuperação de informação, RAG, classificação, sumarização, extração de entidades e treinamento ou avaliação… See the full description on the dataset page: https://huggingface.co/datasets/andrebadini/repojus.
RepoJus: Jurisprudência Brasileira de Inteiro Teor
O RepoJus é um corpus consolidado de decisões judiciais e administrativas brasileiras obtidas de fontes públicas oficiais. O snapshot v2 reúne 4.106.391 registros canônicos, sem duplicatas de normalized_hash, em 4.666 shards Parquet determinísticos (39.290.819.138 bytes).
O corpus foi estruturado para pesquisa jurídica, recuperação de informação, RAG, classificação, sumarização, extração de entidades e treinamento ou avaliação de modelos de linguagem em português. Os registros preservam tanto um esquema canônico estável quanto o objeto original serializado, para permitir auditoria e reprocessamento.
Versão de dados: o conteúdo Parquet descrito nesta ficha está fixado no commit 5791ee745a5f63a9280bcf7e94e0242eaae88911. Commits posteriores exclusivamente documentais não mudam os shards desse snapshot.Visão geral do snapshot v2
Contagens por tribunal ou órgão
As datas mínima e máxima da tabela usam a partição anual. Registros com data ausente ou inválida podem estar associados a uma partição de fallback; consulte counts.csv para a distribuição exata por grupo e ano.
Contagens por fonte e tipo de decisão
Organização dos arquivos
Os registros estão em Parquet com particionamento Hive:
data/v2/
p_tribunal=<TRIBUNAL>/
p_source_key=<SOURCE_KEY>/
p_tipo_decisao=<TIPO>/
p_year=<ANO>/
p_bucket=<BUCKET_HEX>/
part-00000.parquetOs buckets derivam da chave canônica e tornam a distribuição e a reescrita determinísticas. Os caminhos legados data/<tribunal>/full/.../*.jsonl.gz pertencem ao snapshot anterior e não são caminhos válidos para o v2.
Arquivos de controle do snapshot:
snapshot-manifest.json: caminho, SHA-256, bytes, linhas, limites de hash e digest lógico de cada shard;schema.json: esquema Arrow explícito, versão e fingerprint;counts.csv: contagens por tribunal, fonte, tipo, ano e quantidade de shards;evidence/source-policy.csve.json: decisão de inclusão/exclusão dos novos grupos coletados;evidence/legacy-manifest-audit.json: auditoria dos manifests do snapshot predecessor;history/b0b750e45bdf51f378bc57e25a5c15f92b51c900/: metadados históricos preservados do snapshot JSONL, sem restaurar seus shards.
Configurações disponíveis
A configuração default lê todo o snapshot v2. Há também configurações por tribunal (tribunal-tjsp, tribunal-stf, etc.) e por combinação exata de fonte/tipo (tjsp-acordaos-acordao, tjdft-acordaos-monocratica, etc.). Todas apontam exclusivamente para data/v2/**/*.parquet.
Para cargas menores, prefira a configuração mais específica. Isso reduz tráfego, tempo de enumeração e custo de processamento.
Esquema canônico 2.0.0
Todos os campos do esquema canônico são não nulos. Ausência semântica é representada pelo valor vazio apropriado, mantendo um esquema estável entre shards. original_record_json preserva campos e estruturas do registro anterior que não foram promovidos a colunas canônicas.
Como usar
Streaming com datasets
Fixe o commit de dados quando a reprodutibilidade for importante:
from datasets import load_dataset
data_sha = "5791ee745a5f63a9280bcf7e94e0242eaae88911"
dataset = load_dataset(
"andrebadini/repojus",
"tribunal-tjsp",
split="train",
streaming=True,
revision=data_sha,
)
for record in dataset.take(1):
print(record["processo"])
print(record["normalized_hash"])
print(record["texto_integral"][:300])Carregar uma fonte específica
from datasets import load_dataset
dataset = load_dataset(
"andrebadini/repojus",
"tjpa-jurisprudencia-acordaos-acordao",
split="train",
streaming=True,
revision="5791ee745a5f63a9280bcf7e94e0242eaae88911",
)Consultar diretamente os Parquet com DuckDB
SELECT tribunal, partition_year, count(*) AS julgados
FROM read_parquet(
'hf://datasets/andrebadini/repojus@5791ee745a5f63a9280bcf7e94e0242eaae88911/data/v2/**/*.parquet',
hive_partitioning = true
)
GROUP BY tribunal, partition_year
ORDER BY tribunal, partition_year;Para uma cópia integral, reserve espaço adicional além dos ~39,29 GB compactados. Streaming ou seleção por configuração é recomendado quando o objetivo não exige todos os tribunais.
Consolidação, deduplicação e qualidade
O snapshot v2 é uma consolidação lógica completa. Ele contém todas as 3.129.257 chaves canônicas distintas do predecessor e 977.134 novos acórdãos, totalizando 4.106.391 chaves únicas.
A consolidação:
- normaliza e valida
normalized_hash; - agrupa variantes da mesma chave canônica;
- preserva o objeto original e conflitos relevantes;
- aplica esquema Arrow explícito;
- ordena e distribui por partições determinísticas;
- registra hashes e digests para reabertura independente.
No manifesto do snapshot, os seguintes contadores de conservação são zero:
- chaves legadas ausentes;
- objetos de origem legados ausentes;
- chaves novas incluídas ausentes;
- objetos de origem novos incluídos ausentes;
- chaves novas excluídas presentes;
- objetos de origem novos excluídos presentes.
Essas verificações são mais fortes que uma comparação apenas por total de linhas.
Sanitização e proveniência
Os coletores padronizam HTML residual, espaços, quebras de linha e outros ruídos de captura. Dependendo da fonte, podem existir rotinas para assinaturas eletrônicas repetitivas, cabeçalhos, rodapés e hifenização de OCR. O texto canônico serve ao consumo analítico; o registro original permanece disponível em original_record_json para auditoria.
source_key, snapshot_origin, baseline_commit_sha, metadata_extra_json e os manifests de evidência documentam a linhagem. Consulte sempre a URL oficial antes de usar um registro em contexto jurídico sensível.
Privacidade, ética e limitações
As decisões foram obtidas em fontes públicas oficiais. Ainda assim, textos jurídicos podem conter dados pessoais, nomes de partes, testemunhas, advogados ou outros elementos sensíveis tal como publicados na origem. O dataset não deve ser usado para assédio, discriminação, perfilamento indevido ou decisões automatizadas de alto impacto sem revisão humana e base legal apropriada.
Algumas limitações importantes:
- cobertura não implica completude absoluta do acervo de cada órgão;
- datas e campos estruturados dependem da qualidade da fonte;
- decisões podem ser posteriormente retificadas, anonimizadas ou retiradas pela origem;
- o texto normalizado não substitui a publicação oficial;
- filtros de qualidade reduzem lotes implausíveis, mas não eliminam todo erro de coleta ou parsing.
Usuários são responsáveis por avaliar LGPD, segredo de justiça, finalidade, segurança e demais obrigações aplicáveis ao seu caso de uso.
Licença
Textos oficiais devem ser avaliados conforme o regime jurídico aplicável, incluindo o art. 8º da Lei brasileira 9.610/1998. A seleção, organização, normalização, metadados agregados e documentação do RepoJus são disponibilizados sob Creative Commons Attribution 4.0 International (CC-BY-4.0). A atribuição deve indicar este dataset e o commit utilizado.
Histórico documental
O snapshot predecessor em JSONL foi publicado no commit b0b750e45bdf51f378bc57e25a5c15f92b51c900. Seus shards JSONL não foram restaurados no v2. O resumo de exportação e os 15 manifests efetivamente presentes naquele commit foram preservados, byte a byte, em history/b0b750e45bdf51f378bc57e25a5c15f92b51c900/, com índice de proveniência e SHA256SUMS.
Essa contagem histórica é deliberadamente derivada da árvore imutável do commit: apesar de referências externas a “16 manifests”, o commit predecessor contém 15 arquivos chamados manifest.json mais data/export_summary.json.
Contato
- Discussões: Hugging Face Community
- GitHub: @andrebadini
- Hugging Face: @andrebadini
- X: @_Andre_Badini
- Instagram: @andrebadini
- Artigos: Migalhas — André Carvalho Rondon Badini
Ao relatar um problema de dados, informe o normalized_hash, a configuração, o caminho do shard e o commit consultado. Isso permite uma investigação reprodutível sem depender apenas de exemplos visuais do Dataset Viewer.
