Generate coherent synthetic US-person profiles sampled from US demographic distributions.
Project description
aurium-people 🫂
Generate coherent synthetic US-person profiles sampled from US demographic distributions.
aurium-people is a Faker-style package that fixes Faker's main shortcoming for
people data: with Faker, each call is independent, so a name doesn't correspond
to its email, phone, or address. An aurium-people profile ties everything
together — name → email → phone → address → state → ethnicity → language → age
→ employment → job → work email — into one mutually-consistent person.
The distribution name is aurium-people; import it as aurium_people.
Install 📦
uv pip install aurium-people
Quickstart 🚀
from aurium_people import Profile, Profiles
# One coherent profile
p = Profile()
print(p.first_name, p.full_name, p.email, p.ssn, p.job_title)
# Reproducible: same seed -> identical profile
a = Profile(seed=42)
b = Profile(seed=42)
assert a.to_dict() == b.to_dict()
# A batch of profiles
people = Profiles(50, seed=7)
print(len(people)) # 50
print(people[0].job_title)
# Subset a single profile
p.only("first_name", "email") # -> {"first_name": ..., "email": ...}
# Subset across the whole collection
people.only("first_name", "email") # -> list[dict]
Reproducibility 🔁
Profile(seed=N) seeds a private random.Random and Faker instance, so the
same seed always produces the same profile. Profiles(count, seed=N) generates
profile i with seed N + i, making the whole batch reproducible. Passing no
seed (or seed=None) yields a fresh random profile each time.
Fields 📋
A Profile exposes ~40 fields, including:
| Group | Fields |
|---|---|
| Demographics | gender, first_name, last_name, full_name, address, state, ethnicity, native_language, age, date_of_birth |
| Contact | email, personal_phone, work_phone |
| Documents | ssn, passport_number, driving_licence_number |
| Employment | is_employed, employment_status, organization, job_title, job_category, work_email, employee_id, office_location, years_at_company |
| Education | education_level, institution, student_email, student_id |
| Accounts | bank_account_number, customer_account_id, account_number |
| Other PII | religion, medical_condition, volunteer_work, hobby_club_membership, vehicle_make_model, vehicle_color, license_plate, formality_level |
Generation options 🎛️
Profile() and Profiles() forward these keyword arguments to the generator:
min_age/max_age— age range (default 16–86).force_employment_status— one of"Employed","Student","Retired","Unemployed","Not in Labor Force". Default follows the statistical distribution.prob_double_barrel_first/prob_double_barrel_second— chance of hyphenated names.prob_number_in_email— chance of a number in the personal email.
License 📄
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aurium_people-0.1.0.tar.gz.
File metadata
- Download URL: aurium_people-0.1.0.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7c7641c5188542fbfdd39d82d85a75a1b7f5568e681867fb44c985e15b8be72
|
|
| MD5 |
809b68d55485b25eee696a63041f16c9
|
|
| BLAKE2b-256 |
24bf590dc8edd79902acf64e915b619958b105c53def11d82fc49bc58f5d3115
|
Provenance
The following attestation bundles were made for aurium_people-0.1.0.tar.gz:
Publisher:
release.yml on aurium-labs/aurium-people
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aurium_people-0.1.0.tar.gz -
Subject digest:
e7c7641c5188542fbfdd39d82d85a75a1b7f5568e681867fb44c985e15b8be72 - Sigstore transparency entry: 1900244276
- Sigstore integration time:
-
Permalink:
aurium-labs/aurium-people@69351c48c4b475f26d78120c84199aeac60fd147 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/aurium-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@69351c48c4b475f26d78120c84199aeac60fd147 -
Trigger Event:
push
-
Statement type:
File details
Details for the file aurium_people-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aurium_people-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f5e26e8ec5b2131b2bc42b1f1b9e3f76b6008c448f496212bfded3b9f6498bd
|
|
| MD5 |
5f7f9808fc01f15fbfc290e7eddc9bd0
|
|
| BLAKE2b-256 |
57818e18aeaf6056283b18e8e10de04259f9b7a7f9a3cf96319ceaa83b2b84a4
|
Provenance
The following attestation bundles were made for aurium_people-0.1.0-py3-none-any.whl:
Publisher:
release.yml on aurium-labs/aurium-people
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aurium_people-0.1.0-py3-none-any.whl -
Subject digest:
7f5e26e8ec5b2131b2bc42b1f1b9e3f76b6008c448f496212bfded3b9f6498bd - Sigstore transparency entry: 1900244411
- Sigstore integration time:
-
Permalink:
aurium-labs/aurium-people@69351c48c4b475f26d78120c84199aeac60fd147 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/aurium-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@69351c48c4b475f26d78120c84199aeac60fd147 -
Trigger Event:
push
-
Statement type: