Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ The generator supports sophisticated data generation with these capabilities:

- **Realistic data with presets**: Use built-in presets like `"name"`, `"email"`, `"address"`, `"phone"`, etc.
- **User agent strings**: Generate highly varied, realistic browser user agent strings from 17 browser categories with over 42,000 unique combinations
- **50+ country support**: Generate locale-specific data (e.g., `country="DE"` for German addresses)
- **100 country support**: Generate locale-specific data (e.g., `country="DE"` for German addresses)
- **Field constraints**: Control ranges, patterns, uniqueness, and allowed values
- **Multiple output formats**: Returns Polars DataFrames by default, but also supports Pandas (`output="pandas"`) or dictionaries (`output="dict"`)

Expand All @@ -405,7 +405,7 @@ This makes it easy to generate test data that matches your validation rules, hel
- **Built for collaboration**: Share results with colleagues through beautiful interactive reports
- **Practical outputs**: Get exactly what you need: counts, extracts, summaries, or full reports
- **Flexible deployment**: Use in notebooks, scripts, or data pipelines
- **Synthetic data generation**: Create realistic test data with 30+ presets, user agent strings, locale-aware formatting, and 50+ country support
- **Synthetic data generation**: Create realistic test data with 30+ presets, user agent strings, locale-aware formatting, and 100 country support
- **Customizable**: Tailor validation steps and reporting to your specific needs
- **Internationalization**: Reports can be generated in 40 languages, including English, Spanish, French, and German

Expand Down
22 changes: 11 additions & 11 deletions docs/user-guide/test-data-generation.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -486,24 +486,24 @@ Letters I, O, Q, and U are excluded from plate generation, matching real-world r

### Supported Countries

Pointblank currently supports 75 countries with full locale data for realistic test data generation.
Pointblank currently supports 100 countries with full locale data for realistic test data generation.
You can use either ISO 3166-1 alpha-2 codes (e.g., `"US"`) or alpha-3 codes (e.g., `"USA"`).

**Europe (33 countries):**
**Europe (38 countries):**

- Austria (`AT`), Belgium (`BE`), Bulgaria (`BG`), Croatia (`HR`), Cyprus (`CY`), Czech Republic (`CZ`), Denmark (`DK`), Estonia (`EE`), Finland (`FI`), France (`FR`), Germany (`DE`), Greece (`GR`), Hungary (`HU`), Iceland (`IS`), Ireland (`IE`), Italy (`IT`), Latvia (`LV`), Lithuania (`LT`), Luxembourg (`LU`), Malta (`MT`), Netherlands (`NL`), Norway (`NO`), Poland (`PL`), Portugal (`PT`), Romania (`RO`), Russia (`RU`), Slovakia (`SK`), Slovenia (`SI`), Spain (`ES`), Sweden (`SE`), Switzerland (`CH`), Ukraine (`UA`), United Kingdom (`GB`)
- Armenia (`AM`), Austria (`AT`), Azerbaijan (`AZ`), Belgium (`BE`), Bulgaria (`BG`), Croatia (`HR`), Cyprus (`CY`), Czech Republic (`CZ`), Denmark (`DK`), Estonia (`EE`), Finland (`FI`), France (`FR`), Georgia (`GE`), Germany (`DE`), Greece (`GR`), Hungary (`HU`), Iceland (`IS`), Ireland (`IE`), Italy (`IT`), Latvia (`LV`), Lithuania (`LT`), Luxembourg (`LU`), Malta (`MT`), Moldova (`MD`), Netherlands (`NL`), Norway (`NO`), Poland (`PL`), Portugal (`PT`), Romania (`RO`), Russia (`RU`), Serbia (`RS`), Slovakia (`SK`), Slovenia (`SI`), Spain (`ES`), Sweden (`SE`), Switzerland (`CH`), Ukraine (`UA`), United Kingdom (`GB`)

**Americas (11 countries):**
**Americas (19 countries):**

- Argentina (`AR`), Brazil (`BR`), Canada (`CA`), Chile (`CL`), Colombia (`CO`), Costa Rica (`CR`), Ecuador (`EC`), Mexico (`MX`), Panama (`PA`), Peru (`PE`), United States (`US`)
- Argentina (`AR`), Bolivia (`BO`), Brazil (`BR`), Canada (`CA`), Chile (`CL`), Colombia (`CO`), Costa Rica (`CR`), Dominican Republic (`DO`), Ecuador (`EC`), El Salvador (`SV`), Guatemala (`GT`), Honduras (`HN`), Jamaica (`JM`), Mexico (`MX`), Panama (`PA`), Paraguay (`PY`), Peru (`PE`), United States (`US`), Uruguay (`UY`)

**Asia-Pacific (17 countries):**
**Asia-Pacific (22 countries):**

- Australia (`AU`), Bangladesh (`BD`), China (`CN`), Hong Kong (`HK`), India (`IN`), Indonesia (`ID`), Japan (`JP`), Malaysia (`MY`), New Zealand (`NZ`), Pakistan (`PK`), Philippines (`PH`), Singapore (`SG`), South Korea (`KR`), Sri Lanka (`LK`), Taiwan (`TW`), Thailand (`TH`), Vietnam (`VN`)
- Australia (`AU`), Bangladesh (`BD`), Cambodia (`KH`), China (`CN`), Hong Kong (`HK`), India (`IN`), Indonesia (`ID`), Japan (`JP`), Kazakhstan (`KZ`), Malaysia (`MY`), Myanmar (`MM`), Nepal (`NP`), New Zealand (`NZ`), Pakistan (`PK`), Philippines (`PH`), Singapore (`SG`), South Korea (`KR`), Sri Lanka (`LK`), Taiwan (`TW`), Thailand (`TH`), Uzbekistan (`UZ`), Vietnam (`VN`)

**Middle East & Africa (14 countries):**
**Middle East & Africa (21 countries):**

- Algeria (`DZ`), Egypt (`EG`), Ethiopia (`ET`), Ghana (`GH`), Kenya (`KE`), Morocco (`MA`), Nigeria (`NG`), Saudi Arabia (`SA`), Senegal (`SN`), South Africa (`ZA`), Tunisia (`TN`), Turkey (`TR`), Uganda (`UG`), United Arab Emirates (`AE`)
- Algeria (`DZ`), Cameroon (`CM`), Egypt (`EG`), Ethiopia (`ET`), Ghana (`GH`), Israel (`IL`), Jordan (`JO`), Kenya (`KE`), Lebanon (`LB`), Morocco (`MA`), Mozambique (`MZ`), Nigeria (`NG`), Rwanda (`RW`), Saudi Arabia (`SA`), Senegal (`SN`), South Africa (`ZA`), Tanzania (`TZ`), Tunisia (`TN`), Turkey (`TR`), Uganda (`UG`), United Arab Emirates (`AE`)

Additional countries and expanded coverage are planned for future releases.

Expand Down Expand Up @@ -611,7 +611,7 @@ pb.preview(
)
```

All 71 supported country locales have tiered name and location data, so `weighted=True` produces
All 100 supported country locales have tiered name and location data, so `weighted=True` produces
realistic frequency distributions for every country.

## Output Formats
Expand Down Expand Up @@ -835,7 +835,7 @@ By incorporating test data generation into your process, you can:

- quickly prototype validation rules before working with production data
- create reproducible test fixtures for automated testing and CI/CD pipelines
- generate locale-specific data for internationalization testing across 75 countries
- generate locale-specific data for internationalization testing across 100 countries
- ensure coherent relationships between related fields like names, emails, addresses, jobs, and
license plates
- produce datasets of any size with consistent, realistic values
Expand Down
25 changes: 25 additions & 0 deletions pointblank/countries/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,23 +233,28 @@
# internet, misc, person, and text JSON files in the data directory
COUNTRIES_WITH_FULL_DATA: list[str] = [
"AE", # United Arab Emirates
"AM", # Armenia
"AR", # Argentina
"AT", # Austria
"AU", # Australia
"AZ", # Azerbaijan
"BD", # Bangladesh
"BE", # Belgium
"BG", # Bulgaria
"BO", # Bolivia
"BR", # Brazil
"CA", # Canada
"CH", # Switzerland
"CL", # Chile
"CM", # Cameroon
"CN", # China
"CO", # Colombia
"CR", # Costa Rica
"CY", # Cyprus
"CZ", # Czech Republic
"DE", # Germany
"DK", # Denmark
"DO", # Dominican Republic
"DZ", # Algeria
"EC", # Ecuador
"EE", # Estonia
Expand All @@ -259,52 +264,72 @@
"FI", # Finland
"FR", # France
"GB", # United Kingdom
"GE", # Georgia
"GH", # Ghana
"GR", # Greece
"GT", # Guatemala
"HK", # Hong Kong
"HN", # Honduras
"HR", # Croatia
"HU", # Hungary
"ID", # Indonesia
"IE", # Ireland
"IL", # Israel
"IN", # India
"IS", # Iceland
"IT", # Italy
"JM", # Jamaica
"JO", # Jordan
"JP", # Japan
"KE", # Kenya
"KH", # Cambodia
"KR", # South Korea
"KZ", # Kazakhstan
"LB", # Lebanon
"LK", # Sri Lanka
"LT", # Lithuania
"LU", # Luxembourg
"LV", # Latvia
"MA", # Morocco
"MD", # Moldova
"MM", # Myanmar
"MT", # Malta
"MX", # Mexico
"MY", # Malaysia
"MZ", # Mozambique
"NG", # Nigeria
"NL", # Netherlands
"NO", # Norway
"NP", # Nepal
"NZ", # New Zealand
"PA", # Panama
"PE", # Peru
"PH", # Philippines
"PK", # Pakistan
"PL", # Poland
"PT", # Portugal
"PY", # Paraguay
"RO", # Romania
"RS", # Serbia
"RU", # Russia
"RW", # Rwanda
"SA", # Saudi Arabia
"SE", # Sweden
"SG", # Singapore
"SI", # Slovenia
"SK", # Slovakia
"SN", # Senegal
"SV", # El Salvador
"TH", # Thailand
"TN", # Tunisia
"TR", # Turkey
"TW", # Taiwan
"TZ", # Tanzania
"UA", # Ukraine
"UG", # Uganda
"US", # United States
"UY", # Uruguay
"UZ", # Uzbekistan
"VN", # Vietnam
"ZA", # South Africa
]
Expand Down
146 changes: 143 additions & 3 deletions pointblank/countries/data/AE/address.json
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,77 @@
"Palm Jumeirah Crescent",
"The Walk JBR",
"Marina Walk Road",
"Al Seef Road"
"Al Seef Road",
"Sheikh Mohammed Bin Zayed Road",
"Al Ain Road",
"Emirates Road",
"Al Rebat Street",
"Al Mankhool Road",
"Al Satwa Road",
"Jumeirah Street",
"Al Thanya Street",
"Al Hudaiba Road",
"Al Safa Street",
"Kuwait Street",
"Al Muraqqabat Road",
"Salahuddin Road",
"Naif Street",
"Sikkat Al Khail Road",
"Abu Hail Road",
"Hor Al Anz Road",
"Al Nahda Street",
"Al Qusais Road",
"International City Road",
"Al Warqaa Road",
"Mirdif City Road",
"Academic City Road",
"Silicon Oasis Road",
"Sports City Road",
"Al Barsha South Road",
"Umm Suqeim Street",
"Al Manara Road",
"Al Safa Park Road",
"Zabeel Road",
"Oud Metha Road",
"Festival City Boulevard",
"Al Jadaf Road",
"Healthcare City Road",
"Design District Road",
"Creek Harbour Boulevard",
"Pearl Jumeira Road",
"La Mer Promenade",
"Al Ghurair Road",
"Deira Waterfront Road",
"Gold Souq Road",
"Textile Souq Road",
"Perfume Souq Road",
"Al Bastakiya Road",
"Al Shindagha Road",
"Heritage Village Road",
"Al Karama Street",
"Za'abeel Park Road",
"Dubai Frame Road",
"Burj Khalifa Boulevard",
"Al Mustaqbal Street",
"Happiness Street",
"Al Yalayis Road",
"Hattan Road",
"Al Asayel Road",
"Al Thanayah Street",
"Latifa Bint Hamdan Street",
"Umm Al Sheif Road",
"Al Qudra Road",
"Jebel Ali Beach Road",
"Dubai Production City Road",
"Damac Hills Boulevard",
"Town Square Boulevard",
"Dubai South Road",
"Expo City Road",
"Al Maktoum International Road",
"Meydan Road",
"Nad Al Sheba Road",
"Ras Al Khor Road",
"Warsan Road"
],
"Abu Dhabi": [
"Corniche Road",
Expand Down Expand Up @@ -272,7 +342,77 @@
"New Airport Road",
"Musaffah Road",
"Al Raha Beach Road",
"Yas Island Road"
"Yas Island Road",
"Al Meena Street",
"Al Zahiyah Street",
"Tourist Club Street",
"Al Khaleej Al Arabi Street",
"Fatima Bint Mubarak Street",
"Sultan Bin Zayed The First Street",
"Al Maqta Street",
"Al Rawdah Street",
"Al Murjan Street",
"Khalidiya Street",
"Al Manhal Street",
"Al Hosn Street",
"Al Markaziya Street",
"Al Madina Street",
"Al Etihad Street",
"Al Ittihad Park Road",
"Al Wahda Street",
"Al Zaab Street",
"Old Airport Road",
"Al Salam Hospital Road",
"Umm Al Nar Street",
"Al Safari Street",
"Dalma Street",
"Bain Al Jessrain Road",
"Capital Centre Road",
"ADNEC Boulevard",
"Al Qurm Corniche Road",
"Mangrove National Park Road",
"Hudayriyat Island Road",
"Al Jubail Island Road",
"Nurai Island Road",
"Abu Dhabi Mall Road",
"Marina Mall Road",
"Galleria Al Maryah Road",
"Al Raha Mall Road",
"Khalifa Park Road",
"Heritage Park Road",
"Al Nahyan Street",
"Al Mushrif Street",
"Al Shamkha Street",
"Al Wathba Street",
"Mohamed Bin Khalifa Street",
"Zayed Sports City Road",
"Baniyas Tower Road",
"Sheikh Sultan Bin Khalifa Street",
"Al Jazira Sports Road",
"Al Qana Boulevard",
"Al Bateen Marina Road",
"Abu Dhabi Sailing Road",
"Eastern Mangrove Road",
"Masdar Boulevard",
"Innovation Drive",
"Sustainability Street",
"Knowledge Avenue",
"Al Forsan Road",
"Al Reef Boulevard",
"Al Shamkha Bypass Road",
"Abu Dhabi Gate City Road",
"Al Ghazal Golf Road",
"Zayed Military City Road",
"Al Mafraq Road",
"Al Bahia Street",
"Al Rahba Street",
"Shahama Street",
"Al Wagan Road",
"Al Silaa Road",
"Ghayathi Road",
"Ruwais Road",
"Mirfa Road",
"Madinat Zayed Road"
],
"Sharjah": [
"Al Wahda Street",
Expand Down Expand Up @@ -883,4 +1023,4 @@
]
},
"phone_format": "+971 {area_code} ### ####"
}
}
Loading
Loading