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"])