Pular para o conteúdo principal

persona_db/generators/gen_00_pessoa.py

gen_00_pessoa — gera a persona base (tabela pessoa, domínio 00).

Owned by Agent 10. Produz dicionários deterministicamente a partir de um seed mestre; todos os atributos são derivados dos engines (socio, health, geography, genetics, criminal) e dos seeds.

Contrato de saída (chaves do dict persona) — consumido por gen_01, gen_02 e pelos demais generators:

id, nome_completo, nome_social, data_nascimento (ISO str), sexo,
nacionalidade, cidade_nascimento, uf_nascimento, classe_social,
estado_civil, esta_vivo, data_obito,
education, setor_empregado, ancestry, ancestry_pcts,
cor_olhos, cor_cabelo, pele, mao_dominante, tipo_sanguineo, fator_rh,
altura, peso, criminal (dict do CriminalEngine), cidade_residencia

:::info Fonte Módulo persona_db.generators.gen_00_pessoa — 370 linhas · 0 classe(s) · 5 função(ões) pública(s). Ver no GitHub :::

Constantes e tabelas de módulo​

NomeAnotaçãoValor
DEFAULT_TODAY—date(2026, 1, 1)
generate—generate_personas

Funções​

simulation_today()​

def simulation_today() -> date

persona_db/generators/gen_00_pessoa.py:69

sample_age()​

def sample_age(rng: SeededRNG) -> int

Idade inteira varrida da pirâmide etária fictícia.

persona_db/generators/gen_00_pessoa.py:92

build_persona()​

def build_persona(idx: int, rng: SeededRNG, today: date, ancestor_class: str | None=None) -> dict

Constrói uma persona completa (dict de contrato).

persona_db/generators/gen_00_pessoa.py:208

generate_personas()​

def generate_personas(n: int, seed: int=7, today: date | None=None) -> list[dict]

Gera n personas completas a partir do seed mestre.

persona_db/generators/gen_00_pessoa.py:318

as_pessoa_row()​

def as_pessoa_row(p: dict) -> dict

Projeta o dict da persona para o formato da tabela pessoa (e validadores).

persona_db/generators/gen_00_pessoa.py:335