Skip to main content

A fake information generator for creating realistic personal data including names, phone numbers, emails, and more.

Project description

🌐 Phoney - Realistic Fake Data Generator

PyPI Version License: MIT Python Versions

Generate locale-aware fake personal data for testing, development, and anonymization. Perfect for populating databases and creating test users.


✨ Features

  • 50+ locales including en_US, fr_FR, ja_JP, de_DE, and more
  • Complete profiles with names, emails, phones, birthdates, and online presence
  • Gender-specific name generation
  • Usernames, passwords, UUIDs, user agents, and social handles
  • Financial data (credit card, IBAN, BIC, etc.)
  • Zero dependencies — lightweight and fast

📦 Installation

pip install phoney

🚀 Basic Usage

from phoney import Phoney

phoney = Phoney()

# Individual data
print(phoney.first_name(locale="it_IT"))  # → "Marco"
print(phoney.phone(locale="ja_JP"))       # → "+81 90-1234-5678"
print(phoney.email(first_name="Anna", last_name="Rossi", locale="it_IT"))

# Complete profile
profile = phoney.profile(locale="es_ES")
print(profile)

# Online presence
print(phoney.username("John", "Smith"))
print(phoney.password())
print(phoney.social_handle("John", "Smith", "twitter"))
print(phoney.online_presence("John", "Smith"))

# User agent and UUID
print(phoney.user_agent())
print(phoney.uuid())

📚 High-Level API: Phoney Class

Method Description
first_name() Generate first name (optionally by gender/locale)
last_name() Generate last name (optionally by gender/locale)
full_name() Generate full name
gender() Generate gender
phone() Generate phone number for locale
email() Generate email address
age() Generate random age
birthdate() Generate random birthdate
profile() Generate complete profile (see below)
user_agent() Generate browser user agent string
uuid() Generate UUID (v1, v3, v4, v5)
username() Generate username from names
password() Generate secure password
social_handle() Generate social media handle for a platform
online_presence() Generate dict of username, password, and social handles

🧩 Profile Structure

{
  'first_name': 'Sophie',
  'last_name': 'Martin',
  'gender': 'female',
  'age': 34,
  'birthdate': datetime.date(1990, 5, 12),
  'email': 'sophie.martin@example.fr',
  'phone': '+33 6 12 34 56 78',
  'locale': 'fr_FR'
}

🛠️ Low-Level API: Direct Functions

You can also import and use the following functions directly:

  • generate_person(locale, gender=None) — dict with first/last name and gender
  • generate_phone(locale) — phone number for locale
  • generate_email(first_name, last_name, locale, age=None, birth_year=None)
  • generate_age(min_age=18, max_age=80) — tuple of (age, birthdate)
  • generate_profile(locale, gender=None, domain=None, uuid_version=4) — full profile
  • generate_user_agent(device_type="desktop") — browser user agent string
  • generate_uuid(version=4, domain="example.com", name=None) — UUID string
  • generate_username(first_name, last_name, locale='en_US')
  • generate_password(min_length=12, max_length=18)
  • generate_social_handles(first_name, last_name, platform)
  • generate_online_presence(first_name, last_name)

📦 Modules Overview

phoney/age.py — Age and birthdate generation

  • generate_age(min_age=18, max_age=80)

phoney/agent.py — User agent string generation

  • generate_user_agent(device_type="desktop")

phoney/create_profile.py — Complete profile generation

  • generate_profile(locale, gender=None, domain=None, uuid_version=4)

phoney/data_loader.py — Loads locale data, names, phone formats, email domains

  • load_countries(), load_streets(), load_cities(), load_states()
  • get_available_locales(), load_names(locale), load_phone_formats(), load_email_domains()

phoney/emailgen.py — Email address generation

  • generate_email(first_name, last_name, locale, age=None, birth_year=None, domain=None)

phoney/finacial.py — Financial data generator

  • FinancialDataGenerator(locale='en_US') class: .generate() for credit card, IBAN, BIC, etc.

phoney/person.py — Person name and gender generation

  • generate_person(locale, gender=None)

phoney/phone.py — Phone number generation

  • generate_phone(locale=None, max_attempts=500)

phoney/username.py — Username, password, and online presence generation

  • generate_username(), generate_password(), generate_social_handles(), generate_online_presence()

phoney/uuidgen.py — UUID generation

  • generate_uuid(version=4, domain="example.com", name=None)

🌍 Supported Locales

Phoney supports 50+ locales across Asia, Europe, the Middle East, and the Americas. To list all available locales:

from phoney.data_loader import get_available_locales
print(get_available_locales())

📜 License

MIT — Free for commercial and personal use. Developed by rarfileReport Issue

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

phoney-0.2.19.tar.gz (186.7 kB view details)

Uploaded Source

Built Distribution

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

phoney-0.2.19-py3-none-any.whl (196.6 kB view details)

Uploaded Python 3

File details

Details for the file phoney-0.2.19.tar.gz.

File metadata

  • Download URL: phoney-0.2.19.tar.gz
  • Upload date:
  • Size: 186.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for phoney-0.2.19.tar.gz
Algorithm Hash digest
SHA256 e59c15960c86752b2e3b93c166f89a8276fc30cf482e8478f3087408ede8263d
MD5 82b1087a37c9a9235ad8b5813ffce8af
BLAKE2b-256 545919cda4b3bcf907ba628c9c075830def308589dbc3126f7f57357d4531b6f

See more details on using hashes here.

File details

Details for the file phoney-0.2.19-py3-none-any.whl.

File metadata

  • Download URL: phoney-0.2.19-py3-none-any.whl
  • Upload date:
  • Size: 196.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for phoney-0.2.19-py3-none-any.whl
Algorithm Hash digest
SHA256 e84f00f37f45e8b63ea8320f670291b5c2ef1536f450ed3d24e73ed33c4fe6a3
MD5 0bff877166c22ce2fa1f9996b41103b6
BLAKE2b-256 f4d4131db6cd61ea6df3a655106d335aaa00ab80b4221e5c5d0282943bab5db3

See more details on using hashes here.

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