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!
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdc6df99cd238f9c4c18ccbe48d6c6de1b4a0b18ef5895927599e7ae456f5cdd
|
|
| MD5 |
0987913edae53ff6493974bd5e38b34d
|
|
| BLAKE2b-256 |
64bc92bf5c8111e6056f14654011c31435bf72a16a671a5d281f4d0910b678fe
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e41fb0282547a07dd41d9f61c8a31918769e8d943858b53fbd3ac1206727e7d1
|
|
| MD5 |
ce51f2aa12b007bad8b6858a70bd4213
|
|
| BLAKE2b-256 |
5bc8521730cbc2472e7f51fa2bdc8305d1db23a5c693d0c42acabf352895959a
|