Skip to main content

Generate and manage simulated human-like personalities based on the Big Five model.

Project description

personalitygen

personalitygen social preview

Build Status Supports Python versions 3.11+

personalitygen generates and manages simulated human-like personalities based on the Big Five (OCEAN) model. It is designed for simulation, storytelling, and testing scenarios where you want plausible, varied personality profiles without running surveys.

Intent and scope

  • Generate full Big Five profiles with sub-trait components and aggregate scores.
  • Bias outputs by life stage using tuned Gaussian distributions (child, young adult, adult).
  • Derive a conflict-resolution style from trait weights, plus mapped concern-for-self/others.
  • Support deterministic generation by accepting a seeded random source.
  • Stay lightweight and dependency-free (pure Python).

This package is not a clinical assessment tool and does not implement questionnaires or scoring rubrics.

Model overview

  • Big Five traits: openness, conscientiousness, extraversion, agreeableness, neuroticism.
  • Each trait is composed of three sub-traits and a weighted aggregate score.
  • Life stage influences distribution means and standard deviations for sampling.
  • Conflict-resolution style is selected from avoiding, obliging, integrating, dominating, or compromising based on trait scores.

Usage

from personalitygen import BigFivePersonality, LifeStage

personality = BigFivePersonality.random(LifeStage.ADULT)
print(personality.trait_configuration)
print(personality.conflict_resolution_configuration)

If you want deterministic output, pass a seeded random number generator:

import random
from personalitygen import BigFiveTraitConfiguration, LifeStage

rng = random.Random(42)
traits = BigFiveTraitConfiguration.random(LifeStage.YOUNG_ADULT, rng=rng)
print(traits)

Development

This package targets Python 3.11+.

pdm install --group dev
pdm run test
pdm run lint

Deeper architecture, quality, and maintenance guidance lives in docs/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

personalitygen-0.1.4.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

personalitygen-0.1.4-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file personalitygen-0.1.4.tar.gz.

File metadata

  • Download URL: personalitygen-0.1.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for personalitygen-0.1.4.tar.gz
Algorithm Hash digest
SHA256 6aed99166c7caae6f1ff288d0db75495b4ff85466b8d62ba16e256c8d39ccd41
MD5 a52278457ae4c5b6dc1ec47bfac47622
BLAKE2b-256 d312d0055782f57a151d6b25d21b1f8d552b71985dc09360b4ad381e697868d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for personalitygen-0.1.4.tar.gz:

Publisher: python-publish.yml on btfranklin/personalitygen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file personalitygen-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: personalitygen-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for personalitygen-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 01ae009c0381fe56780c37d722e857299343242c3c6180230660a225718cc42c
MD5 6b6b6879a3d0ab05123d78b8a3b60ce7
BLAKE2b-256 9115a67fd73ea603db0517ed3efedad0067c57d657caf882ad0ec326263da513

See more details on using hashes here.

Provenance

The following attestation bundles were made for personalitygen-0.1.4-py3-none-any.whl:

Publisher: python-publish.yml on btfranklin/personalitygen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page