analise_viabilidade
analise_viabilidade
Análise de viabilidade — estima volume de processos antes de uma raspagem.
Roda sempre local (no próprio computador do usuário): a análise consulta APIs públicas (Datajud do CNJ + bancos de jurisprudência via juscraper), constrói o JSON de resultados e renderiza o relatório PDF/MD via Quarto. Sem dependência da infra nuvem do escritório, sem API key, sem cota.
A lógica vive em labdados-core — mesmo núcleo que o admin do escritório usa quando aprova um pedido de consultoria-levantamento via UI. Garantia de paridade: o veredito e o template são byte-equivalentes.
Functions
| Name | Description |
|---|---|
| analise_viabilidade | Estima o volume de processos antes de uma coleta — sempre local. |
analise_viabilidade
analise_viabilidade.analise_viabilidade(
descricao,
listagem,
tribunais,
saida=None,
palavras_chave='',
classes_cnj=None,
assuntos_cnj=None,
grau=None,
inicio=None,
fim=None,
notas='',
progress=True,
)Estima o volume de processos antes de uma coleta — sempre local.
Esta função não tem modo nuvem: a análise é leve (consulta APIs públicas como Datajud e juscraper, sem GPU nem dados sigilosos), e rodar local elimina latência de fila do escritório, custo de infraestrutura e cota de API key. Requer apenas pip install labdados[viabilidade] e — opcionalmente — o Quarto + Typst para o relatório PDF.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| descricao | str | Descrição da pesquisa em uma frase. Vai pro relatório. | required |
| listagem | ListagemTipo | Fonte da listagem: - "datajud": API pública do CNJ (estudos prospectivos). Permite filtrar por classe, assunto, grau, datas. - "jurisprudencia": bancos de acórdãos (2º grau). Filtra por palavras-chave + datas. - "sentencas": bancos de sentenças (1º grau). Disponibilidade varia por tribunal. |
required |
| tribunais | list[str] | Códigos dos tribunais ("tjsp", "tjrj", "trf3", …). |
required |
| saida | PathLike | None | Pasta de saída (PDF + MD + JSON com os resultados). | None |
| palavras_chave | str | Para listagem="jurisprudencia" ou "sentencas". Sintaxe depende do tribunal. |
'' |
| classes_cnj | list[str] | None | Filtros do Datajud. Códigos numéricos da TPU do CNJ — listas completas em abjur/tpur. | None |
| assuntos_cnj | list[str] | None | Filtros do Datajud. Códigos numéricos da TPU do CNJ — listas completas em abjur/tpur. | None |
| grau | list[str] | None | Filtros do Datajud. Códigos numéricos da TPU do CNJ — listas completas em abjur/tpur. | None |
| inicio | str | None | Recorte temporal em "YYYY-MM-DD" (inclusivo). None = sem filtro temporal nesse extremo. |
None |
| fim | str | None | Recorte temporal em "YYYY-MM-DD" (inclusivo). None = sem filtro temporal nesse extremo. |
None |
| notas | str | Texto livre para o relatório. | '' |
| progress | bool | Spinner no stderr. | True |
Returns
| Name | Type | Description |
|---|---|---|
| dict | {"results": ..., "report_pdf": Path \| None, "report_md": Path \| None}. |
Examples
Datajud — Tratamento Domiciliar (Home Care) e Fornecimento de Medicamentos no TJSP, 2020 a 2024:
>>> import labdados
>>> ana = labdados.analise_viabilidade(
... descricao="Acoes contra planos de saude — TJSP, 2020-2024",
... listagem="datajud",
... tribunais=["tjsp"],
... assuntos_cnj=["11884", "14759"], # Medicamentos + Home Care
... inicio="2020-01-01",
... fim="2024-12-31",
... saida="relatorios/",
... )
>>> print(ana["results"]["verdict"])