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.2.tar.gz (8.6 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.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: faker_pk-0.1.2.tar.gz
  • Upload date:
  • Size: 8.6 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.2.tar.gz
Algorithm Hash digest
SHA256 928ffa2e13d3e35734fa85721409da6b9ba5baac49c8040ae5de99e45ebea8f9
MD5 38e5a91df2dce74758b173c0634df935
BLAKE2b-256 33e66784517553d45a107d28fb5e1ed9dd79eff450b88efd636e680cd91926a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: faker_pk-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a3d870d387c487546bf278d67686fc6397560064a4abb31104c5798c979f746f
MD5 c1cbed296c07cdfdc3ca52ca689e9060
BLAKE2b-256 d4e1692266d87a4d06f093e8bfd8f44ceb07fab35de8636678e07d63f9582091

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