Skip to main content

Fake data generator for Pakistani names, CNICs, phone numbers, and addresses.

Project description

🇵🇰 faker-pk

faker-pk is a lightweight Python library that generates fake Pakistani data — including names, CNICs, phone numbers, cities, and addresses — for testing, demos, and development purposes.

It’s designed for developers who want realistic-looking Pakistani data in their applications or ML datasets.


🧩 Installation

Install directly from PyPI:

pip install faker-pk

Or upgrade to the latest version:

pip install --upgrade faker-pk

⚡ Quick Start

from faker_pk import FakerPK

fake = FakerPK()

print(fake.male_name())       # "Bilal Khan"
print(fake.female_name())     # "Ayesha Malik"
print(fake.cnic())            # "37405-7654321-9"
print(fake.phone_number())    # "+923001234567"
print(fake.city())            # "Lahore"
print(fake.province())        # "Punjab"
print(fake.full_address())    # "House No. 45, Street No. 6, Karachi, Sindh, 75000"
print(fake.company_name())    # "Tech Solutions"

🔁 Generate Multiple Entries

You can generate a list of fake entries by passing an integer count:

fake.male_name(5)
# ['Ali Khan', 'Usman Raza', 'Zain Qureshi', 'Ahmed Farooq', 'Sami Shah']

fake.city(3)
# ['Lahore', 'Islamabad', 'Multan']

🧠 Features

  • Realistic Pakistani male and female names
  • Valid CNIC format (xxxxx-xxxxxxx-x)
  • Pakistani-style phone numbers (+92xxxxxxxxxx)
  • Cities and provinces from real data
  • Randomized company and address generation
  • Easy to extend for your own data sources

🧩 API Reference

Function Description Example Output
male_name(count=1) Generates one or more male names ['Ali Khan']
female_name(count=1) Generates one or more female names ['Ayesha Malik']
cnic(count=1) Generates valid CNIC numbers ['37405-1234567-8']
phone_number(count=1) Generates Pakistani phone numbers ['+923001234567']
city(count=1) Returns cities from Pakistan ['Karachi']
province(count=1) Returns Pakistani provinces ['Sindh']
full_address(count=1) Returns complete fake addresses ['House No. 23, Street No. 8, Lahore, Punjab, 54000']
company_name(count=1) Returns random company names ['TechNova Pvt Ltd']

🧪 Example Script

from faker_pk import FakerPK

fake = FakerPK()  

for _ in range(3):
    print({
        "Name": fake.male_name(),
        "CNIC": fake.cnic(),
        "Phone": fake.phone_number(),
        "Address": fake.full_address(),
        "Company": fake.company_name()
    })

Output:

{'Name': 'Ali Raza', 'CNIC': '35201-6543210-7', 'Phone': '+923125678901', 'Address': 'House No. 12, Street No. 3, Islamabad, Islamabad, 44000', 'Company': 'Techworks'}

🛠️ Development

Clone the repository and install locally:

git clone https://github.com/Khubaib8281/faker-pk.git
cd faker-pk
pip install -e .

🚀 Contributing

Contributions are welcome!
If you’d like to add more realistic datasets (Pakistani districts, universities, etc.), submit a pull request.


🧾 License

This project is licensed under the MIT License.


👤 Author

Muhammad Khubaib Ahmad
📧 khubaib0.1ai@gmail.com
🌐 GitHub: Khubaib8281


⭐ Support

If you find this library useful, consider giving it a star on GitHub to support development!

👉 https://github.com/Khubaib8281/faker-pk

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

faker_pk-0.1.3.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

faker_pk-0.1.3-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file faker_pk-0.1.3.tar.gz.

File metadata

  • Download URL: faker_pk-0.1.3.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for faker_pk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 bdc6df99cd238f9c4c18ccbe48d6c6de1b4a0b18ef5895927599e7ae456f5cdd
MD5 0987913edae53ff6493974bd5e38b34d
BLAKE2b-256 64bc92bf5c8111e6056f14654011c31435bf72a16a671a5d281f4d0910b678fe

See more details on using hashes here.

File details

Details for the file faker_pk-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: faker_pk-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for faker_pk-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e41fb0282547a07dd41d9f61c8a31918769e8d943858b53fbd3ac1206727e7d1
MD5 ce51f2aa12b007bad8b6858a70bd4213
BLAKE2b-256 5bc8521730cbc2472e7f51fa2bdc8305d1db23a5c693d0c42acabf352895959a

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