Pular para o conteúdo principal

Dados de referência

O pacote persona_db/seeds/ concentra tudo o que é fixo no PersonaDB: catálogos de nomes, lugares e instituições fictícias, e as distribuições de probabilidade calibradas.

MóduloConteúdo
lookup_data.pynomes, cidades, bairros, bancos, empresas, universidades, hospitais, profissões, doenças, medicamentos, cursos, raças de pet, partidos, salário mínimo histórico, IPCA
probability_tables.pymobilidade social, mortalidade, incidência de doenças, criminalidade, emprego, renda (Lorenz), ancestralidade → traços

Por que separar seeds de engines​

  • Motores descrevem mecanismos (como a renda se forma).
  • Seeds descrevem o mundo (quais empresas existem, quanto era o salário mínimo em 2015).

Essa separação permite trocar o universo fictício — por exemplo, gerar personas de outro país — sem alterar uma linha dos modelos probabilísticos.

Determinismo dos catálogos​

Vários catálogos são construídos em tempo de importação por funções puras:

BAIRROS: list[dict] = _build_bairros()
PROFISSOES: list[dict] = _build_profissoes()
DOENCAS = _fill_doencas()
IPCA_MENSAL: list[dict] = _build_ipca()
INCOME_DIST: list[float] = _lorenz_curve(_GINI, 100)

Como não há aleatoriedade nessas funções, o conteúdo é idêntico em qualquer máquina e execução.

Dados fictícios com formato válido​

Alguns campos precisam parecer reais para exercitar validações de sistemas consumidores sem jamais corresponder a registros verdadeiros:

def _valid_cnpj(digits14: str) -> bool: ...
def _make_cnpj(seed_str: str) -> str: ...

Os CNPJs das empresas fictícias passam no cálculo dos dígitos verificadores, mas pertencem a empresas inventadas. O mesmo vale para documentos gerados em gen_01_identidade.

:::danger Nunca use para fins reais Formatos válidos não transformam dados fictícios em dados legítimos. Não use esses identificadores em cadastros, testes de produção com terceiros ou qualquer contexto em que possam ser confundidos com documentos reais. :::