Pular para o conteúdo principal

validators.run_validators

python3 -m persona_db.validators.run_validators [opções]

Regenera um dataset com a semente informada e aplica as 10 verificações (4 estruturais + 6 de domínio).

Flags​

FlagPadrãoDescrição
--personas100Número de personas a gerar para validação
--seed7Semente determinística
--html-out—Caminho opcional para o relatório HTML

Exemplo​

python3 -m persona_db.validators.run_validators --personas 500 --seed 42 --html-out report.html
{"passed": true, "violation_count": 0, "overall_consistency_pct": 100.0,
"domain_consistency": {"genealogia": 100.0, "temporal": 100.0, "financas": 100.0,
"saude": 100.0, "juridico": 100.0, "social": 100.0},
"tables_count": 257, "total_rows": 171034}

Retorna 0 quando passed é verdadeiro e 1 caso contrário — pronto para ser um passo de CI.

:::note Ele regenera, não lê arquivo Este CLI não aceita um dataset.json de entrada: ele chama generate_all(n, seed) internamente. Para validar um JSON existente, use a API:

import json
from persona_db.validators import validate_dataset

dataset = json.load(open("dataset.json"))
report = validate_dataset(dataset)
print(report["passed"], report["violations_by_rule"])

:::

Funções exportadas​

from persona_db.validators import (
validate_dataset, # relatório consolidado
build_validation_table_rows, # linhas de validacao_consistencia
render_html_report, # relatório HTML
validate_genealogia, validate_temporal, validate_financas,
validate_saude, validate_juridico, validate_social,
)

Detalhes do formato em Relatório de validação e a lista completa de regras em Catálogo de regras.

Via Makefile​

make -C persona_db validate N_PESSOAS=200 SEED=42