diff --git a/docs/llms-full.txt b/docs/llms-full.txt index 332be0241..bbcb6dc9b 100644 --- a/docs/llms-full.txt +++ b/docs/llms-full.txt @@ -14714,6 +14714,94 @@ Execute a YAML-based validation workflow. pipeline or version control system, allowing you to maintain validation rules alongside your code. + ### Governance Metadata + + YAML workflows support governance metadata via `owner`, `consumers`, and `version` top-level + keys. These are forwarded to the `Validate` constructor and embedded in the validation report: + + ```python + yaml_config = ''' + tbl: small_table + tbl_name: sales_pipeline + owner: Data Engineering + consumers: [Analytics, Finance, Compliance] + version: "2.1.0" + steps: + - col_vals_not_null: + columns: [a, b] + ''' + + result = pb.yaml_interrogate(yaml_config) + print(f"Owner: {result.owner}") + print(f"Consumers: {result.consumers}") + print(f"Version: {result.version}") + ``` + + ### Aggregate Validations + + YAML supports aggregate validation methods for checking column-level statistics. These methods + validate that a column's sum, average, or standard deviation meets a threshold: + + ```python + yaml_config = ''' + tbl: small_table + steps: + - col_sum_gt: + columns: [d] + value: 0 + - col_avg_le: + columns: [a] + value: 10 + ''' + + result = pb.yaml_interrogate(yaml_config) + result + ``` + + The 15 available aggregate methods follow the pattern `col_{stat}_{comparator}` where + `{stat}` is `sum`, `avg`, or `sd` and `{comparator}` is `gt`, `lt`, `ge`, + `le`, or `eq`. + + ### Data Freshness + + Check that a date/datetime column has recent data using `data_freshness`: + + ```yaml + tbl: events.csv + steps: + - data_freshness: + columns: event_date + freshness: "24h" + ``` + + ### Active Parameter Shortcut + + The `active=` parameter controls whether a validation step runs. It supports boolean values + and Python expression shortcuts: + + ```yaml + steps: + - col_vals_gt: + columns: [d] + value: 100 + active: false # Skip this step + + - col_vals_not_null: + columns: [a] + active: true # Always run (default) + ``` + + ### Null Percentage Check + + Use `col_pct_null` to validate that the percentage of null values in a column is within bounds: + + ```yaml + steps: + - col_pct_null: + columns: [a, b] + value: 0.05 + ``` + ### Using `set_tbl=` to Override the Table The `set_tbl=` parameter allows you to override the table specified in the YAML configuration. @@ -14903,6 +14991,39 @@ Validate YAML configuration against the expected structure. source ('tbl') exists or is accessible. Data source validation occurs during execution with `yaml_interrogate()`. + Supported Top-level Keys + ------------------------ + The following top-level keys are recognized in the YAML configuration: + + - `tbl`: data source specification (required) + - `steps`: list of validation steps (required) + - `tbl_name`: human-readable table name + - `label`: validation description + - `df_library`: DataFrame library (`"polars"`, `"pandas"`, `"duckdb"`) + - `lang`: language code + - `locale`: locale setting + - `brief`: global brief template + - `thresholds`: global failure thresholds + - `actions`: global failure actions + - `final_actions`: actions triggered after all steps complete + - `owner`: data owner (governance metadata) + - `consumers`: data consumers (governance metadata) + - `version`: validation version string (governance metadata) + - `reference`: reference table for comparison-based validations + + Unknown top-level keys are rejected, which catches typos like `tbl_nmae` or `step`. + + Supported Validation Methods + ---------------------------- + In addition to all standard validation methods (e.g., `col_vals_gt`, `rows_distinct`, + `col_schema_match`), the following methods are also supported: + + - `col_pct_null`: check the percentage of null values in a column + - `data_freshness`: check that data is recent + - aggregate methods: `col_sum_gt`, `col_sum_lt`, `col_sum_ge`, `col_sum_le`, + `col_sum_eq`, `col_avg_gt`, `col_avg_lt`, `col_avg_ge`, `col_avg_le`, + `col_avg_eq`, `col_sd_gt`, `col_sd_lt`, `col_sd_ge`, `col_sd_le`, `col_sd_eq` + See Also -------- yaml_interrogate : execute YAML-based validation workflows @@ -14993,6 +15114,28 @@ Convert YAML validation configuration to equivalent Python code. The generated code includes all configuration parameters, thresholds, and maintains the exact same validation logic as the original YAML workflow. + Governance metadata (`owner`, `consumers`, `version`) and `reference` are also rendered + in the generated Python code: + + ```python + yaml_config = ''' + tbl: small_table + tbl_name: Sales Pipeline + owner: Data Engineering + consumers: [Analytics, Finance] + version: "2.1.0" + steps: + - col_vals_not_null: + columns: [a] + - col_sum_gt: + columns: [d] + value: 0 + ''' + + python_code = pb.yaml_to_python(yaml_config) + print(python_code) + ``` + This function is also useful for educational purposes, helping users understand how YAML configurations map to the underlying Python API calls. @@ -15844,20 +15987,20 @@ generate_dataset(schema: 'Schema', n: 'int' = 100, seed: 'int | None' = None, ou Supported Countries ------------------- - The `country=` parameter currently supports 71 countries with full locale data: + The `country=` parameter currently supports 75 countries with full locale data: - **Europe (32 countries):** Austria (`"AT"`), Belgium (`"BE"`), Bulgaria (`"BG"`), + **Europe (33 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"`), United Kingdom (`"GB"`) + Switzerland (`"CH"`), Ukraine (`"UA"`), United Kingdom (`"GB"`) - **Americas (9 countries):** Argentina (`"AR"`), Brazil (`"BR"`), Canada (`"CA"`), - Chile (`"CL"`), Colombia (`"CO"`), Costa Rica (`"CR"`), Mexico (`"MX"`), - Peru (`"PE"`), United States (`"US"`) + **Americas (11 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"`) **Asia-Pacific (17 countries):** Australia (`"AU"`), Bangladesh (`"BD"`), China (`"CN"`), Hong Kong (`"HK"`), India (`"IN"`), Indonesia (`"ID"`), @@ -15865,10 +16008,10 @@ generate_dataset(schema: 'Schema', n: 'int' = 100, seed: 'int | None' = None, ou Philippines (`"PH"`), Singapore (`"SG"`), South Korea (`"KR"`), Sri Lanka (`"LK"`), Taiwan (`"TW"`), Thailand (`"TH"`), Vietnam (`"VN"`) - **Middle East & Africa (13 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), + **Middle East & Africa (14 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), Ethiopia (`"ET"`), Ghana (`"GH"`), Kenya (`"KE"`), Morocco (`"MA"`), - Nigeria (`"NG"`), Senegal (`"SN"`), South Africa (`"ZA"`), Tunisia (`"TN"`), - Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) + Nigeria (`"NG"`), Saudi Arabia (`"SA"`), Senegal (`"SN"`), South Africa (`"ZA"`), + Tunisia (`"TN"`), Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) Pytest Fixture -------------- diff --git a/docs/user-guide/test-data-generation.qmd b/docs/user-guide/test-data-generation.qmd index 34bad901b..2b7e3ccfe 100644 --- a/docs/user-guide/test-data-generation.qmd +++ b/docs/user-guide/test-data-generation.qmd @@ -486,24 +486,24 @@ Letters I, O, Q, and U are excluded from plate generation, matching real-world r ### Supported Countries -Pointblank currently supports 71 countries with full locale data for realistic test data generation. +Pointblank currently supports 75 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 (32 countries):** +**Europe (33 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`), United Kingdom (`GB`) +- 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`) -**Americas (9 countries):** +**Americas (11 countries):** -- Argentina (`AR`), Brazil (`BR`), Canada (`CA`), Chile (`CL`), Colombia (`CO`), Costa Rica (`CR`), Mexico (`MX`), Peru (`PE`), United States (`US`) +- Argentina (`AR`), Brazil (`BR`), Canada (`CA`), Chile (`CL`), Colombia (`CO`), Costa Rica (`CR`), Ecuador (`EC`), Mexico (`MX`), Panama (`PA`), Peru (`PE`), United States (`US`) **Asia-Pacific (17 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`) -**Middle East & Africa (13 countries):** +**Middle East & Africa (14 countries):** -- Algeria (`DZ`), Egypt (`EG`), Ethiopia (`ET`), Ghana (`GH`), Kenya (`KE`), Morocco (`MA`), Nigeria (`NG`), Senegal (`SN`), South Africa (`ZA`), Tunisia (`TN`), Turkey (`TR`), Uganda (`UG`), United Arab Emirates (`AE`) +- 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`) Additional countries and expanded coverage are planned for future releases. @@ -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 71 countries +- generate locale-specific data for internationalization testing across 75 countries - ensure coherent relationships between related fields like names, emails, addresses, jobs, and license plates - produce datasets of any size with consistent, realistic values diff --git a/pointblank/countries/__init__.py b/pointblank/countries/__init__.py index 8bff8241b..e816e7abc 100644 --- a/pointblank/countries/__init__.py +++ b/pointblank/countries/__init__.py @@ -251,6 +251,7 @@ "DE", # Germany "DK", # Denmark "DZ", # Algeria + "EC", # Ecuador "EE", # Estonia "EG", # Egypt "ES", # Spain @@ -283,6 +284,7 @@ "NL", # Netherlands "NO", # Norway "NZ", # New Zealand + "PA", # Panama "PE", # Peru "PH", # Philippines "PK", # Pakistan @@ -290,6 +292,7 @@ "PT", # Portugal "RO", # Romania "RU", # Russia + "SA", # Saudi Arabia "SE", # Sweden "SG", # Singapore "SI", # Slovenia @@ -299,6 +302,7 @@ "TN", # Tunisia "TR", # Turkey "TW", # Taiwan + "UA", # Ukraine "UG", # Uganda "US", # United States "VN", # Vietnam diff --git a/pointblank/countries/data/EC/address.json b/pointblank/countries/data/EC/address.json new file mode 100644 index 000000000..dbbac9487 --- /dev/null +++ b/pointblank/countries/data/EC/address.json @@ -0,0 +1,617 @@ +{ + "locations": { + "very_common": [ + { + "city": "Quito", + "state": "Pichincha", + "state_abbr": "PI", + "postcode_prefix": "170", + "lat_min": -0.3, + "lat_max": -0.1, + "lon_min": -78.55, + "lon_max": -78.45 + }, + { + "city": "Guayaquil", + "state": "Guayas", + "state_abbr": "GY", + "postcode_prefix": "090", + "lat_min": -2.25, + "lat_max": -2.1, + "lon_min": -79.95, + "lon_max": -79.85 + }, + { + "city": "Cuenca", + "state": "Azuay", + "state_abbr": "AZ", + "postcode_prefix": "010", + "lat_min": -2.92, + "lat_max": -2.87, + "lon_min": -79.02, + "lon_max": -78.97 + }, + { + "city": "Santo Domingo", + "state": "Santo Domingo de los Tsachilas", + "state_abbr": "SD", + "postcode_prefix": "230", + "lat_min": -0.27, + "lat_max": -0.23, + "lon_min": -79.19, + "lon_max": -79.15 + }, + { + "city": "Machala", + "state": "El Oro", + "state_abbr": "EO", + "postcode_prefix": "070", + "lat_min": -3.27, + "lat_max": -3.24, + "lon_min": -79.97, + "lon_max": -79.94 + }, + { + "city": "Manta", + "state": "Manabi", + "state_abbr": "MA", + "postcode_prefix": "130", + "lat_min": -0.97, + "lat_max": -0.94, + "lon_min": -80.75, + "lon_max": -80.72 + }, + { + "city": "Portoviejo", + "state": "Manabi", + "state_abbr": "MA", + "postcode_prefix": "130", + "lat_min": -1.06, + "lat_max": -1.03, + "lon_min": -80.47, + "lon_max": -80.44 + }, + { + "city": "Ambato", + "state": "Tungurahua", + "state_abbr": "TU", + "postcode_prefix": "180", + "lat_min": -1.26, + "lat_max": -1.23, + "lon_min": -78.64, + "lon_max": -78.61 + } + ], + "common": [ + { + "city": "Riobamba", + "state": "Chimborazo", + "state_abbr": "CH", + "postcode_prefix": "060", + "lat_min": -1.68, + "lat_max": -1.65, + "lon_min": -78.65, + "lon_max": -78.63 + }, + { + "city": "Loja", + "state": "Loja", + "state_abbr": "LO", + "postcode_prefix": "110", + "lat_min": -4.01, + "lat_max": -3.98, + "lon_min": -79.22, + "lon_max": -79.19 + }, + { + "city": "Ibarra", + "state": "Imbabura", + "state_abbr": "IM", + "postcode_prefix": "100", + "lat_min": 0.34, + "lat_max": 0.37, + "lon_min": -78.14, + "lon_max": -78.11 + }, + { + "city": "Esmeraldas", + "state": "Esmeraldas", + "state_abbr": "ES", + "postcode_prefix": "080", + "lat_min": 0.95, + "lat_max": 0.97, + "lon_min": -79.67, + "lon_max": -79.65 + }, + { + "city": "Latacunga", + "state": "Cotopaxi", + "state_abbr": "CO", + "postcode_prefix": "050", + "lat_min": -0.94, + "lat_max": -0.92, + "lon_min": -78.62, + "lon_max": -78.6 + }, + { + "city": "Duran", + "state": "Guayas", + "state_abbr": "GY", + "postcode_prefix": "091", + "lat_min": -2.18, + "lat_max": -2.15, + "lon_min": -79.85, + "lon_max": -79.82 + }, + { + "city": "Babahoyo", + "state": "Los Rios", + "state_abbr": "LR", + "postcode_prefix": "120", + "lat_min": -1.82, + "lat_max": -1.79, + "lon_min": -79.55, + "lon_max": -79.52 + }, + { + "city": "Quevedo", + "state": "Los Rios", + "state_abbr": "LR", + "postcode_prefix": "120", + "lat_min": -1.03, + "lat_max": -1.0, + "lon_min": -79.48, + "lon_max": -79.45 + }, + { + "city": "Milagro", + "state": "Guayas", + "state_abbr": "GY", + "postcode_prefix": "091", + "lat_min": -2.15, + "lat_max": -2.13, + "lon_min": -79.6, + "lon_max": -79.58 + }, + { + "city": "Tulcan", + "state": "Carchi", + "state_abbr": "CR", + "postcode_prefix": "040", + "lat_min": 0.8, + "lat_max": 0.82, + "lon_min": -77.73, + "lon_max": -77.71 + } + ], + "uncommon": [ + { + "city": "Salinas", + "state": "Santa Elena", + "state_abbr": "SE", + "postcode_prefix": "241", + "lat_min": -2.22, + "lat_max": -2.2, + "lon_min": -80.97, + "lon_max": -80.95 + }, + { + "city": "Tena", + "state": "Napo", + "state_abbr": "NA", + "postcode_prefix": "150", + "lat_min": -0.99, + "lat_max": -0.97, + "lon_min": -77.82, + "lon_max": -77.8 + }, + { + "city": "Puyo", + "state": "Pastaza", + "state_abbr": "PA", + "postcode_prefix": "160", + "lat_min": -1.5, + "lat_max": -1.48, + "lon_min": -77.98, + "lon_max": -77.96 + }, + { + "city": "Guaranda", + "state": "Bolivar", + "state_abbr": "BO", + "postcode_prefix": "020", + "lat_min": -1.61, + "lat_max": -1.59, + "lon_min": -78.99, + "lon_max": -78.97 + }, + { + "city": "Azogues", + "state": "Cañar", + "state_abbr": "CA", + "postcode_prefix": "030", + "lat_min": -2.74, + "lat_max": -2.73, + "lon_min": -78.85, + "lon_max": -78.84 + }, + { + "city": "Puerto Ayora", + "state": "Galapagos", + "state_abbr": "GA", + "postcode_prefix": "200", + "lat_min": -0.76, + "lat_max": -0.74, + "lon_min": -90.32, + "lon_max": -90.3 + }, + { + "city": "Otavalo", + "state": "Imbabura", + "state_abbr": "IM", + "postcode_prefix": "100", + "lat_min": 0.23, + "lat_max": 0.25, + "lon_min": -78.27, + "lon_max": -78.25 + }, + { + "city": "Zamora", + "state": "Zamora Chinchipe", + "state_abbr": "ZC", + "postcode_prefix": "190", + "lat_min": -4.07, + "lat_max": -4.06, + "lon_min": -78.96, + "lon_max": -78.95 + } + ], + "rare": [ + { + "city": "Macas", + "state": "Morona Santiago", + "state_abbr": "MS", + "postcode_prefix": "140", + "lat_min": -2.31, + "lat_max": -2.3, + "lon_min": -78.12, + "lon_max": -78.11 + }, + { + "city": "Nueva Loja", + "state": "Sucumbios", + "state_abbr": "SU", + "postcode_prefix": "210", + "lat_min": 0.08, + "lat_max": 0.09, + "lon_min": -76.89, + "lon_max": -76.88 + }, + { + "city": "Puerto Baquerizo Moreno", + "state": "Galapagos", + "state_abbr": "GA", + "postcode_prefix": "200", + "lat_min": -0.9, + "lat_max": -0.89, + "lon_min": -89.62, + "lon_max": -89.61 + }, + { + "city": "Coca", + "state": "Orellana", + "state_abbr": "OR", + "postcode_prefix": "220", + "lat_min": -0.47, + "lat_max": -0.46, + "lon_min": -76.98, + "lon_max": -76.97 + }, + { + "city": "Vilcabamba", + "state": "Loja", + "state_abbr": "LO", + "postcode_prefix": "110", + "lat_min": -4.26, + "lat_max": -4.25, + "lon_min": -79.23, + "lon_max": -79.22 + } + ] + }, + "streets_by_city": { + "Quito": [ + "Avenida Amazonas", + "Avenida 10 de Agosto", + "Avenida 6 de Diciembre", + "Avenida Naciones Unidas", + "Avenida Republica", + "Avenida Eloy Alfaro", + "Calle Venezuela", + "Calle Guayaquil", + "Calle Sucre", + "Calle Garcia Moreno", + "Calle Flores", + "Calle Bolivar", + "Avenida Patria", + "Avenida Colon", + "Calle Juan Leon Mera", + "Calle Reina Victoria", + "Avenida Gonzalez Suarez", + "Calle La Ronda", + "Avenida Mariscal Sucre", + "Calle Cuenca" + ], + "Guayaquil": [ + "Malecon Simon Bolivar", + "Avenida 9 de Octubre", + "Calle Boyaca", + "Calle 10 de Agosto", + "Avenida Quito", + "Calle Chile", + "Avenida Francisco de Orellana", + "Calle Luque", + "Calle Clemente Ballen", + "Avenida de las Americas", + "Via Daule", + "Avenida Juan Tanca Marengo" + ], + "Cuenca": [ + "Calle Larga", + "Calle Gran Colombia", + "Calle Bolivar", + "Calle Sucre", + "Calle Presidente Cordova", + "Avenida Solano", + "Calle Benigno Malo", + "Calle Hermano Miguel", + "Avenida 12 de Abril", + "Avenida Remigio Crespo" + ], + "Ambato": [ + "Calle Bolivar", + "Calle Sucre", + "Avenida Cevallos", + "Calle Montalvo", + "Avenida 12 de Noviembre" + ], + "Machala": [ + "Avenida 25 de Junio", + "Calle 9 de Mayo", + "Avenida Rocafuerte", + "Calle Bolivar", + "Calle Sucre" + ], + "Loja": [ + "Calle Bolivar", + "Calle Sucre", + "Calle 10 de Agosto", + "Avenida Universitaria", + "Calle Bernardo Valdivieso" + ], + "Manta": [ + "Malecon de Manta", + "Calle 11", + "Avenida 4 de Noviembre", + "Calle 13", + "Avenida Flavio Reyes" + ], + "Azogues": [ + "Avenida 24 de Mayo", + "Calle Bolivar", + "Avenida 16 de Abril", + "Calle Sucre" + ], + "Babahoyo": [ + "Avenida 10 de Agosto", + "Calle Bolivar", + "Malecon 9 de Octubre", + "Calle Rocafuerte" + ], + "Coca": [ + "Avenida Alejandro Labaka", + "Calle Napo", + "Avenida 9 de Octubre", + "Calle Quito" + ], + "Duran": [ + "Avenida Leon Febres Cordero", + "Calle Principal", + "Via Duran-Tambo", + "Calle Guayaquil" + ], + "Esmeraldas": [ + "Avenida Libertad", + "Calle Bolivar", + "Calle Sucre", + "Avenida Colon" + ], + "Guaranda": [ + "Calle Convencional de 1884", + "Avenida General Enriquez", + "Calle Sucre", + "Calle 10 de Agosto" + ], + "Ibarra": [ + "Avenida Mariano Acosta", + "Calle Bolivar", + "Avenida El Retorno", + "Calle Sucre", + "Avenida Atahualpa" + ], + "Latacunga": [ + "Calle Quito", + "Avenida Amazonas", + "Calle Guayaquil", + "Calle Sucre" + ], + "Macas": [ + "Avenida 29 de Mayo", + "Calle Soasti", + "Calle Bolivar", + "Calle 10 de Agosto" + ], + "Milagro": [ + "Avenida 17 de Septiembre", + "Calle Garcia Moreno", + "Calle Bolivar", + "Calle Rocafuerte" + ], + "Nueva Loja": [ + "Avenida Quito", + "Calle Colombia", + "Avenida 12 de Febrero", + "Calle Orellana" + ], + "Otavalo": [ + "Calle Sucre", + "Calle Bolivar", + "Avenida 31 de Octubre", + "Calle Roca" + ], + "Portoviejo": [ + "Avenida Reales Tamarindos", + "Calle Olmedo", + "Calle Chile", + "Avenida America", + "Calle Sucre" + ], + "Puerto Ayora": [ + "Avenida Charles Darwin", + "Calle Baltra", + "Calle Charles Binford", + "Calle Islas Plaza" + ], + "Puerto Baquerizo Moreno": [ + "Avenida Charles Darwin", + "Calle Espanola", + "Calle Northia", + "Malecon" + ], + "Puyo": [ + "Calle 9 de Octubre", + "Avenida Alberto Zambrano", + "Calle Atahualpa", + "Calle Francisco de Orellana" + ], + "Quevedo": [ + "Avenida 7 de Octubre", + "Calle Bolivar", + "Calle Decima", + "Via Quevedo-Valencia" + ], + "Riobamba": [ + "Calle 10 de Agosto", + "Calle Primera Constituyente", + "Avenida Daniel Leon Borja", + "Calle Espana" + ], + "Salinas": [ + "Malecon de Salinas", + "Calle Enriquez Gallo", + "Avenida General Eloy Alfaro", + "Via Data Posorja" + ], + "Santo Domingo": [ + "Avenida Quito", + "Via Chone", + "Avenida Tsachila", + "Calle Ibarra", + "Avenida Abraham Calazacon" + ], + "Tena": [ + "Avenida 15 de Noviembre", + "Calle Amazonas", + "Calle Garcia Moreno", + "Malecon del Rio Tena" + ], + "Tulcan": [ + "Calle Sucre", + "Avenida Coral", + "Calle Bolivar", + "Calle 10 de Agosto" + ], + "Vilcabamba": [ + "Calle Sucre", + "Calle Bolivar", + "Avenida Eterna Juventud", + "Calle Diego Vaca de Vega" + ], + "Zamora": [ + "Calle Sevilla de Oro", + "Avenida del Maestro", + "Calle Diego de Vaca", + "Calle Pio Jaramillo" + ] + }, + "postcode_format": "######", + "address_formats": [ + "{street} {building_number}, {city}, {state}", + "{street} y {street}, {city} {postcode}" + ], + "country": "Ecuador", + "country_code": "EC", + "phone_area_codes": { + "Pichincha": [ + "02" + ], + "Guayas": [ + "04" + ], + "Azuay": [ + "07" + ], + "Manabi": [ + "05" + ], + "Tungurahua": [ + "03" + ], + "El Oro": [ + "07" + ], + "Loja": [ + "07" + ], + "Imbabura": [ + "06" + ], + "Esmeraldas": [ + "06" + ], + "Cotopaxi": [ + "03" + ], + "Los Rios": [ + "05" + ], + "Chimborazo": [ + "03" + ], + "Carchi": [ + "06" + ], + "Bolivar": [ + "03" + ], + "Cañar": [ + "07" + ], + "Napo": [ + "06" + ], + "Pastaza": [ + "03" + ], + "Galapagos": [ + "05" + ], + "Zamora Chinchipe": [ + "07" + ], + "Santo Domingo de los Tsachilas": [ + "02" + ] + }, + "phone_format": "+593 {area_code} ###-####" +} diff --git a/pointblank/countries/data/EC/company.json b/pointblank/countries/data/EC/company.json new file mode 100644 index 000000000..6519c5a50 --- /dev/null +++ b/pointblank/countries/data/EC/company.json @@ -0,0 +1,234 @@ +{ + "suffixes": [ + "S.A.", + "Cia. Ltda.", + "C.A.", + "S.C.C.", + "Corp.", + "Holdings", + "Group", + "Internacional", + "Inversiones", + "Servicios" + ], + "formats": [ + "{last_name} {suffix}", + "{last_name} y {last_name}", + "{adjective} {noun} {suffix}", + "{adjective} {noun}", + "{last_name} {noun}" + ], + "adjectives": [ + "Ecuatoriana", "Nacional", "Continental", "Andina", "Pacifica", + "Amazonica", "Primera", "Unida", "Global", "Internacional", + "Moderna", "Nueva", "Central", "Premium", "Elite", + "Regional", "Industrial", "Tecnologica", "Digital", "Quiteña", + "Guayaquileña", "Cuencana", "Insular", "Tropical" + ], + "nouns": [ + "Soluciones", "Sistemas", "Tecnologias", "Industria", "Servicios", + "Consultoria", "Administracion", "Desarrollo", "Gestion", "Comercio", + "Software", "Redes", "Seguridad", "Datos", "Investigacion", + "Ingenieria", "Construccion", "Inmobiliaria", "Seguros", "Salud", + "Logistica", "Transporte", "Energia", "Recursos", "Materiales", + "Productos", "Exportaciones", "Comunicacion", "Medios", "Finanzas", + "Agroindustria", "Bananera", "Camaronera", "Petrolera", "Minera" + ], + "well_known_companies": [ + { + "name": "Banco Pichincha", + "cities": ["Quito", "Guayaquil"] + }, + { + "name": "Corporacion Favorita", + "cities": ["Quito"] + }, + { + "name": "Claro Ecuador", + "cities": ["Quito", "Guayaquil"] + }, + { + "name": "Pronaca", + "cities": ["Quito"] + }, + { + "name": "Corporacion El Rosado", + "cities": ["Guayaquil"] + }, + { + "name": "Holcim Ecuador", + "cities": ["Guayaquil"] + }, + { + "name": "Banco Guayaquil", + "cities": ["Guayaquil"] + }, + { + "name": "Cerveceria Nacional", + "cities": ["Guayaquil"] + }, + { + "name": "Petroamazonas", + "cities": ["Quito"] + }, + { + "name": "Movistar Ecuador", + "cities": ["Quito"] + }, + { + "name": "Diners Club Ecuador", + "cities": ["Quito"] + }, + { + "name": "Grupo Eljuri", + "cities": ["Cuenca", "Guayaquil"] + }, + { + "name": "Indurama", + "cities": ["Cuenca"] + }, + { + "name": "Produbanco", + "cities": ["Quito"] + }, + { + "name": "TAME", + "cities": ["Quito"] + }, + { + "name": "Ecuavisa", + "cities": ["Guayaquil", "Quito"] + }, + { + "name": "Teleamazonas", + "cities": ["Quito"] + }, + { + "name": "La Fabril", + "cities": ["Manta"] + }, + { + "name": "Reybanpac", + "cities": ["Guayaquil"] + }, + { + "name": "Omnibus BB", + "cities": ["Ambato"] + } + ], + "jobs": [ + "Desarrollador de Software", "Contador", "Ingeniero Civil", "Profesor", "Medico", + "Abogado", "Gerente de Marketing", "Vendedor", "Agronomo", "Electricista", + "Farmaceutico", "Enfermero", "Arquitecto", "Analista Financiero", "Gerente de Proyecto", + "Analista de Datos", "Gerente de RRHH", "Chef", "Periodista", "Diseñador", + "Petrolero", "Chofer", "Veterinario", "Dentista", "Biologo" + ], + "catch_phrase_adjectives": [ + "confiable", "innovador", "eficiente", "reconocido", "lider", + "sostenible", "profesional", "calidad", "moderno", "estrategico", + "dinamico", "integral", "avanzado", "comprometido", "excelente" + ], + "catch_phrase_nouns": [ + "soluciones", "servicios", "excelencia", "alianza", "crecimiento", + "innovacion", "desarrollo", "progreso", "calidad", "valor", + "resultados", "tecnologia", "estrategias", "oportunidades" + ], + "catch_phrase_verbs": [ + "entregar", "proveer", "construir", "crear", "transformar", + "alcanzar", "impulsar", "inspirar", "optimizar", "desarrollar", + "implementar", "facilitar", "innovar", "lograr", "generar" + ], + "catch_phrase_connector": "que", + "industries": [ + { + "name": "petroleo", + "weight": 0.14, + "jobs": ["Petrolero", "Ingeniero Civil", "Gerente de Proyecto"], + "well_known": ["Petroamazonas"], + "company_suffixes": ["Petrolera S.A.", "Energy", "Oil"], + "company_nouns": ["Petrolera", "Energia", "Recursos"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "finanzas", + "weight": 0.14, + "jobs": ["Analista Financiero", "Contador"], + "well_known": ["Banco Pichincha", "Banco Guayaquil", "Produbanco", "Diners Club Ecuador"], + "company_suffixes": ["Banco", "Financiera", "Inversiones"], + "company_nouns": ["Finanzas", "Capital", "Inversiones"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "agricultura", + "weight": 0.14, + "jobs": ["Agronomo", "Biologo"], + "well_known": ["Pronaca", "Reybanpac", "La Fabril"], + "company_suffixes": ["Agro S.A.", "Exportaciones", "Agricola"], + "company_nouns": ["Agroindustria", "Bananera", "Camaronera"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "comercio", + "weight": 0.12, + "jobs": ["Vendedor", "Gerente de Marketing"], + "well_known": ["Corporacion Favorita", "Corporacion El Rosado"], + "company_suffixes": ["Comercial S.A.", "Trading", "Distribuidora"], + "company_nouns": ["Comercio", "Productos", "Exportaciones"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "tecnologia", + "weight": 0.1, + "jobs": ["Desarrollador de Software", "Analista de Datos"], + "well_known": ["Claro Ecuador", "Movistar Ecuador"], + "company_suffixes": ["Tech S.A.", "Software", "Digital"], + "company_nouns": ["Tecnologias", "Sistemas", "Software"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "salud", + "weight": 0.08, + "jobs": ["Medico", "Enfermero", "Farmaceutico", "Dentista"], + "well_known": [], + "company_suffixes": ["Salud", "Clinica", "Farmaceutica"], + "company_nouns": ["Salud", "Medicina", "Farmacia"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "construccion", + "weight": 0.1, + "jobs": ["Ingeniero Civil", "Arquitecto"], + "well_known": ["Holcim Ecuador"], + "company_suffixes": ["Construccion S.A.", "Ingenieria", "Constructora"], + "company_nouns": ["Construccion", "Ingenieria", "Inmobiliaria"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "educacion", + "weight": 0.06, + "jobs": ["Profesor"], + "well_known": [], + "company_suffixes": [], + "company_nouns": [], + "company_formats": ["Universidad de {city}", "Instituto {city}"] + }, + { + "name": "medios", + "weight": 0.06, + "jobs": ["Periodista", "Diseñador"], + "well_known": ["Ecuavisa", "Teleamazonas"], + "company_suffixes": ["Media", "Comunicacion", "Digital"], + "company_nouns": ["Medios", "Comunicacion", "Digital"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "manufactura", + "weight": 0.06, + "jobs": ["Ingeniero Civil", "Electricista"], + "well_known": ["Indurama", "Omnibus BB"], + "company_suffixes": ["Industrias S.A.", "Manufactura", "Produccion"], + "company_nouns": ["Industria", "Manufactura", "Produccion"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + } + ] +} diff --git a/pointblank/countries/data/EC/internet.json b/pointblank/countries/data/EC/internet.json new file mode 100644 index 000000000..b5f898dfa --- /dev/null +++ b/pointblank/countries/data/EC/internet.json @@ -0,0 +1,23 @@ +{ + "free_email_domains": [ + "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", + "live.com", "yahoo.es", "hotmail.es", "outlook.es", + "icloud.com", "mail.com" + ], + "tlds": [ + "ec", "com.ec", "net.ec", "org.ec", "gob.ec", "edu.ec", + "fin.ec", "com", "net", "org", "io" + ], + "domain_words": [ + "ecuador", "quito", "guayaquil", "cuenca", "andino", "pacifico", + "tech", "digital", "online", "web", "media", "amazon", + "smart", "pro", "elite", "global", "mega", "super", + "inter", "ultra", "nexus", "insular", "tropical" + ], + "user_agent_browsers": [ + "Chrome", "Firefox", "Safari", "Edge", "Opera" + ], + "user_agent_os": [ + "Windows NT 10.0", "Macintosh; Intel Mac OS X 10_15_7", "X11; Linux x86_64" + ] +} diff --git a/pointblank/countries/data/EC/misc.json b/pointblank/countries/data/EC/misc.json new file mode 100644 index 000000000..97a3583e6 --- /dev/null +++ b/pointblank/countries/data/EC/misc.json @@ -0,0 +1,11 @@ +{ + "colors": [ + "rojo", "azul", "verde", "amarillo", "naranja", + "morado", "rosado", "cafe", "negro", "blanco", + "gris", "dorado", "plateado", "granate", "marino", + "oliva", "coral", "turquesa", "crema", "marfil" + ], + "currency_codes": ["USD"], + "ssn_format": "####-######", + "license_plate_format": "???-####" +} diff --git a/pointblank/countries/data/EC/person.json b/pointblank/countries/data/EC/person.json new file mode 100644 index 000000000..c8a4ecc7d --- /dev/null +++ b/pointblank/countries/data/EC/person.json @@ -0,0 +1,861 @@ +{ + "first_names": { + "male": { + "very_common": [ + "Juan", + "Carlos", + "Luis", + "Jose", + "Miguel", + "David", + "Andres", + "Diego", + "Daniel", + "Fernando", + "Jorge", + "Ricardo", + "Santiago", + "Sebastian", + "Francisco", + "Alejandro", + "Gabriel", + "Pablo", + "Marco", + "Edison", + "Christian", + "Roberto", + "Victor", + "Eduardo" + ], + "common": [ + "Angel", + "Alberto", + "Mauricio", + "Patricio", + "Gustavo", + "Freddy", + "Hector", + "Ivan", + "Javier", + "Kevin", + "Lenin", + "Mario", + "Nelson", + "Oscar", + "Pedro", + "Rafael", + "Segundo", + "Tomas", + "Vicente", + "Washington", + "Xavier", + "Alfredo", + "Bolivar", + "Cesar", + "Dario", + "Ernesto", + "Felix", + "Gonzalo", + "Hugo", + "Ignacio", + "Jaime", + "Kleber", + "Leonardo", + "Manuel", + "Noe", + "Oswaldo", + "Ramon", + "Sergio", + "Telmo", + "Ulises", + "Vinicio", + "Wilmer", + "Arturo", + "Byron", + "Camilo", + "Enrique", + "Fabian", + "Hernan", + "Julio", + "Marcelo" + ], + "uncommon": [ + "Agustin", + "Bayardo", + "Clemente", + "Domingo", + "Efrain", + "Fausto", + "Geovanny", + "Homero", + "Isidro", + "Jacinto", + "Klever", + "Luciano", + "Moises", + "Narciso", + "Olmedo", + "Plutarco", + "Quintin", + "Rodrigo", + "Silverio", + "Trajano", + "Umberto", + "Virgilio", + "Wladimir", + "Yandry", + "Zoilo", + "Anibal", + "Benigno", + "Cristobal", + "Delfin", + "Emilio", + "Florencio", + "Galo", + "Hipolito", + "Isaias", + "Jefferson", + "Leonidas", + "Maximo", + "Neptalí", + "Octavio", + "Paco", + "Reinaldo", + "Simeon", + "Teodoro", + "Usiel", + "Vladimiro", + "Willian", + "Yadira", + "Zenon", + "Arsenio", + "Braulio", + "Colombo", + "Demetrio", + "Euclides", + "Fidel", + "Genaro", + "Heriberto", + "Inocencio", + "Joselito", + "Lazaro", + "Modesto", + "Nicanor", + "Onofre", + "Panfilo", + "Remigio", + "Salomon", + "Tranquilino", + "Urbano", + "Venancio", + "Walter", + "Yuri" + ], + "rare": [ + "Abdon", + "Baldomero", + "Canuto", + "Desiderio", + "Eleuterio", + "Facundo", + "Gabino", + "Hermogenes", + "Ildefonso", + "Jeremias", + "Liborio", + "Melanio", + "Nicomedes", + "Olegario", + "Pascual", + "Quirino", + "Rosendo", + "Sabino", + "Teofilo", + "Ubaldonzo", + "Ventura", + "Wenceslao", + "Ximeno", + "Yovani", + "Zacarías", + "Abelardo", + "Buenaventura", + "Casimiro", + "Diomedes", + "Epifanio", + "Florentino", + "Graciano", + "Hermelindo", + "Iván", + "Jeronimo", + "Ladislao", + "Marcelino", + "Nemesio", + "Onésimo", + "Porfirio", + "Rigoberto", + "Saturnino", + "Ursicino", + "Valerio", + "Wilfredo", + "Xiomaro", + "Ygnacio", + "Zosimo", + "Anastasio", + "Bartolome", + "Cipriano", + "Demóstenes", + "Estanislao", + "Fortunato", + "Gregorio", + "Hermenegildo", + "Inocente", + "Justiniano", + "Leopoldo", + "Maximiliano", + "Norberto", + "Otoniel", + "Primitivo", + "Rosauro", + "Sinforoso", + "Toribio", + "Ubaldo", + "Victoriano", + "Walfredo", + "Aparicio", + "Bonifacio", + "Cayetano", + "Dionisio", + "Eusebio", + "Floresmilo", + "Gumersindo", + "Heliodoro", + "Ireneo", + "Meliton", + "Ovidio", + "Prudencio", + "Rufino", + "Sotero", + "Tiburcio", + "Ulpiano", + "Viviano", + "Yovany", + "Zotico" + ] + }, + "female": { + "very_common": [ + "Maria", + "Ana", + "Carmen", + "Rosa", + "Patricia", + "Lucia", + "Andrea", + "Gabriela", + "Daniela", + "Fernanda", + "Isabel", + "Johanna", + "Katherine", + "Lorena", + "Monica", + "Natalia", + "Paola", + "Silvia", + "Veronica", + "Ximena", + "Adriana", + "Beatriz", + "Claudia", + "Diana" + ], + "common": [ + "Elena", + "Fatima", + "Gloria", + "Hilda", + "Irma", + "Julia", + "Karina", + "Laura", + "Margarita", + "Norma", + "Olga", + "Pilar", + "Raquel", + "Sandra", + "Teresa", + "Ursula", + "Valeria", + "Wendy", + "Yolanda", + "Zoila", + "Alicia", + "Blanca", + "Consuelo", + "Dolores", + "Esmeralda", + "Flor", + "Gladys", + "Helena", + "Ines", + "Juana", + "Lourdes", + "Maritza", + "Nelly", + "Ofelia", + "Priscila", + "Rocio", + "Susana", + "Tamara", + "Victoria", + "Carolina", + "Cecilia", + "Cristina", + "Elizabeth", + "Gissela", + "Jenny", + "Kerly", + "Lissette", + "Maribel", + "Nancy", + "Pamela" + ], + "uncommon": [ + "Adelaida", + "Bertha", + "Carmela", + "Delfina", + "Eugenia", + "Francisca", + "Genoveva", + "Hermelinda", + "Imelda", + "Josefina", + "Leonor", + "Magdalena", + "Natividad", + "Otilia", + "Perpetua", + "Remedios", + "Soledad", + "Transito", + "Ubaldina", + "Violeta", + "Wilma", + "Zenaida", + "Amparito", + "Balbina", + "Clotilde", + "Dioselina", + "Encarnacion", + "Filomena", + "Griselda", + "Herminia", + "Isadora", + "Jacinta", + "Ligia", + "Matilde", + "Narcisa", + "Olmeda", + "Petrona", + "Rosalia", + "Sarita", + "Teresita", + "Urania", + "Vilma", + "Zobeida", + "Argentina", + "Bernarda", + "Candelaria", + "Dominga", + "Escolastica", + "Felicita", + "Gertrudis", + "Honorata", + "Iluminada", + "Justina", + "Leonilda", + "Mercedes", + "Nieves", + "Obdulia", + "Pascuala", + "Ramona", + "Sinforosa", + "Tarcila", + "Umbelina", + "Venancia", + "Walda", + "Yesenia", + "Zenobia" + ], + "rare": [ + "Adelina", + "Basilisa", + "Celestina", + "Dorotea", + "Eduviges", + "Felipa", + "Guillerma", + "Herculana", + "Ifigenia", + "Jovina", + "Leocadia", + "Melchora", + "Nazaria", + "Orosia", + "Pancracia", + "Raimunda", + "Saturnina", + "Teodolinda", + "Ursulina", + "Waldina", + "Xaviera", + "Ygnacia", + "Zulema", + "Anastasia", + "Bartola", + "Cipriana", + "Damiana", + "Epifania", + "Fortunata", + "Gumercinda", + "Heliodora", + "Irenea", + "Juliana", + "Librada", + "Micaela", + "Nicomeda", + "Olimpia", + "Policarpa", + "Ricarda", + "Serafina", + "Tiburcia", + "Ulpiana", + "Viviana", + "Walberta", + "Zenona", + "Apolinaria", + "Benigna", + "Casimira", + "Domitila", + "Fulgencia", + "Graciana", + "Hermenegilda", + "Inocencia", + "Justiniana", + "Leopoldina", + "Maximiliana", + "Norberta", + "Otoniela", + "Primitiva", + "Rosaura", + "Sinforina", + "Toribia", + "Ubalda", + "Victoriana", + "Walfrida", + "Ynes", + "Zotica", + "Agripina", + "Brigida", + "Canuta", + "Desideria", + "Eleuteria", + "Facunda", + "Gabina", + "Ildefonsa", + "Jeronima", + "Liboria", + "Melania", + "Olegaria", + "Quirina", + "Rosenda", + "Sabina", + "Teofila", + "Venustiana", + "Wenceslada", + "Zaira" + ] + }, + "neutral": { + "very_common": [ + "Alex", + "Guadalupe" + ], + "common": [ + "Cruz", + "Ariel", + "Dominique", + "Sarai" + ], + "uncommon": [ + "Amaru", + "Shakira", + "Yanbal", + "Pacari", + "Tamia", + "Cayambe", + "Sumak" + ], + "rare": [ + "Illari", + "Sisa", + "Pacha", + "Quilla", + "Inti", + "Atik", + "Churon", + "Mallki", + "Warmi", + "Sinchi" + ] + } + }, + "last_names": { + "very_common": [ + "Garcia", + "Rodriguez", + "Martinez", + "Lopez", + "Gonzalez", + "Hernandez", + "Perez", + "Sanchez", + "Ramirez", + "Torres", + "Flores", + "Rivera", + "Gomez", + "Diaz", + "Morales", + "Reyes", + "Gutierrez", + "Ruiz", + "Vargas", + "Castillo", + "Mendoza", + "Ortiz", + "Silva", + "Romero", + "Herrera", + "Alvarez", + "Cruz", + "Chavez", + "Vera", + "Rojas", + "Delgado", + "Vega", + "Medina", + "Suarez", + "Rios", + "Aguilar", + "Castro", + "Zambrano", + "Cevallos", + "Espinoza", + "Jaramillo", + "Loor", + "Moreira", + "Navarrete", + "Ponce", + "Quimis", + "Salazar", + "Toala", + "Velasquez", + "Yanez" + ], + "common": [ + "Acosta", + "Bravo", + "Cabrera", + "Davila", + "Escobar", + "Franco", + "Guerrero", + "Hidalgo", + "Intriago", + "Jimenez", + "Lara", + "Macias", + "Narvaez", + "Ochoa", + "Paredes", + "Quintero", + "Ramos", + "Soto", + "Troya", + "Ulloa", + "Valencia", + "Wray", + "Zapata", + "Alvarado", + "Benavides", + "Cordova", + "Duran", + "Echeverria", + "Figueroa", + "Guaman", + "Huerta", + "Ibarra", + "Jara", + "Lema", + "Montalvo", + "Noboa", + "Orellana", + "Pazos", + "Quijano", + "Rivadeneira", + "Solorzano", + "Tello", + "Uquillas", + "Villamar", + "Yagual", + "Aviles", + "Baquerizo", + "Carrillo", + "Dillon", + "Estrella", + "Freire", + "Gallegos", + "Holguin", + "Izurieta", + "Jurado", + "Leon", + "Maldonado", + "Nunez", + "Ojeda", + "Palacios", + "Quiroga", + "Rosero", + "Samaniego", + "Tapia", + "Uribe", + "Vintimilla", + "Yepez", + "Arboleda", + "Bustamante", + "Campoverde", + "Donoso", + "Egüez", + "Falquez", + "Granda", + "Heredia", + "Iza", + "Jorgge", + "Larrea", + "Moncayo", + "Ontaneda", + "Pesantez", + "Quinde", + "Riofrio", + "Sarasti", + "Tamayo", + "Urrutia", + "Vacacela", + "Yaguachi", + "Zurita" + ], + "uncommon": [ + "Aguirre", + "Baquero", + "Calle", + "Endara", + "Febres", + "Gangotena", + "Icaza", + "Jacome", + "Kingman", + "Lasso", + "Mera", + "Nebot", + "Olmedo", + "Pareja", + "Quevedo", + "Roldos", + "Sucre", + "Tola", + "Unda", + "Viteri", + "Witt", + "Yerovi", + "Zevallos", + "Alban", + "Borja", + "Correa", + "Davalos", + "Guarderas", + "Hurtado", + "Iturralde", + "Juez", + "Luzuriaga", + "Mogro", + "Noroña", + "Oña", + "Peñaherrera", + "Quiñonez", + "Ribadeneira", + "Saltos", + "Teran", + "Urgiles", + "Vasconez", + "Yañez", + "Arteaga", + "Bueno", + "Chiriboga", + "Drouet", + "Espinel", + "Febres-Cordero", + "Galarza", + "Haro", + "Illescas", + "Jarrín", + "Ledesma", + "Mino", + "Noriega", + "Ormaza", + "Pino", + "Quito", + "Recalde", + "Sarango", + "Toapanta", + "Ulcuango", + "Villacis", + "Yambay", + "Aulestia", + "Burbano", + "Carchi", + "Duchicela", + "Estupiñan", + "Fierro", + "Guevara", + "Hidrobo", + "Jativa", + "Lovato", + "Muñoz", + "Naranjo" + ], + "rare": [ + "Ayala", + "Benalcazar", + "Caamaño", + "Dabik", + "Elao", + "Filanbanco", + "Guayasamin", + "Huancavilca", + "Imbabura", + "Jipijapa", + "Kuri", + "Larreategui", + "Machalilla", + "Napo", + "Otavalo", + "Puruha", + "Quitus", + "Rumiñahui", + "Shyris", + "Tungurahua", + "Urcuqui", + "Valdivieso", + "Whymper", + "Yanzatza", + "Zaruma", + "Achupallas", + "Bucay", + "Cantuña", + "Daule", + "Eugenio", + "Facundo", + "Guayas", + "Huaquillas", + "Isabela", + "Junín", + "Loja", + "Manabi", + "Nanegalito", + "Oriente", + "Pastaza", + "Quilotoa", + "Rocafuerte", + "Sangolqui", + "Tulcan", + "Ushimana", + "Vinces", + "Yantzaza", + "Zamora", + "Atacames", + "Bahia", + "Cotopaxi", + "Esmeraldas", + "Galápagos", + "Huigra", + "Jubones", + "Latacunga", + "Milagro", + "Nabon", + "Pedernales", + "Quininde", + "Riobamba", + "Salinas", + "Tena", + "Ventanas", + "Zumba", + "Ambato", + "Babahoyo", + "Cuenca", + "ElOro", + "FranciscoDeOrellana", + "Guaranda", + "HuaquiDeVillamil", + "Jama", + "Limones", + "Machala", + "Naranjal", + "Olon", + "Playas", + "Quijos", + "SantaElena", + "Tabacundo", + "Vilcabamba", + "Yasuní", + "Zumbahua", + "Archipelago", + "Bolivar" + ] + }, + "name_formats": [ + "{first_name} {last_name}", + "{first_name} {last_name} {last_name}", + "{prefix} {first_name} {last_name}" + ], + "prefixes": { + "male": [ + "Sr.", + "Dr.", + "Ing.", + "Lic.", + "Prof." + ], + "female": [ + "Sra.", + "Srta.", + "Dra.", + "Ing.", + "Lic.", + "Prof." + ], + "neutral": [ + "Dr.", + "Ing.", + "Lic.", + "Prof." + ] + }, + "suffixes": [ + "Jr.", + "Sr.", + "PhD", + "MBA" + ] +} diff --git a/pointblank/countries/data/EC/text.json b/pointblank/countries/data/EC/text.json new file mode 100644 index 000000000..ce7d26044 --- /dev/null +++ b/pointblank/countries/data/EC/text.json @@ -0,0 +1,53 @@ +{ + "words": [ + "el", "la", "los", "las", "de", "en", "un", "una", "que", "por", + "con", "no", "es", "se", "su", "para", "al", "del", "son", "como", + "mas", "pero", "fue", "ser", "hay", "tan", "muy", "ya", "sin", "sobre", + "todo", "entre", "desde", "hasta", "donde", "quien", "cada", "otro", "bien", "tiene", + "puede", "parte", "tiempo", "mucho", "hacer", "mismo", "mejor", "nuevo", "poco", "solo", + "decir", "estar", "poder", "tener", "haber", "saber", "querer", "deber", "poner", "venir", + "casa", "ciudad", "pais", "persona", "vida", "dia", "mundo", "trabajo", "hombre", "mujer", + "tiempo", "ahora", "agua", "tierra", "forma", "aqui", "bueno", "grande", "primero", "ultimo", + "bien", "mal", "antes", "despues", "dentro", "fuera", "lejos", "cerca", "arriba", "abajo" + ], + "sentence_patterns": [ + "El {adjective} {noun} {verb} el {adjective} {noun}.", + "Un {noun} {verb} {adverb} en el {noun}.", + "{proper_noun} {verb} el {adjective} {noun} {adverb}." + ], + "adjectives": [ + "rapido", "lento", "grande", "pequeño", "viejo", "nuevo", "joven", + "brillante", "oscuro", "ruidoso", "silencioso", "caliente", "frio", + "suave", "duro", "limpio", "sucio", "feliz", "triste", "amable", + "fuerte", "debil", "alto", "bajo", "ancho", "estrecho", "profundo", + "lleno", "vacio", "abierto", "cerrado", "mojado", "seco", + "fresco", "rico", "pobre", "largo", "corto", "gordo", "flaco", + "bonito", "feo", "claro", "valiente", "timido", "sabio", "tonto" + ], + "nouns": [ + "perro", "gato", "pajaro", "pez", "arbol", "casa", "carro", "libro", + "mesa", "silla", "puerta", "ventana", "calle", "rio", "montaña", + "mar", "cielo", "sol", "luna", "estrella", "nube", "lluvia", "nieve", + "viento", "fuego", "agua", "tierra", "aire", "piedra", "madera", + "metal", "vidrio", "papel", "tela", "comida", "dinero", "tiempo", + "lugar", "persona", "niño", "hombre", "mujer", "amigo", "familia", + "escuela", "trabajo", "ciudad", "pais", "mundo", "vida", "dia", + "noche", "mañana", "tarde", "semana", "mes", "año", "historia", + "cancion", "juego", "deporte" + ], + "verbs": [ + "corre", "salta", "camina", "habla", "ve", "oye", "siente", "piensa", + "sabe", "quiere", "necesita", "gusta", "ama", "odia", "encuentra", + "da", "toma", "hace", "dice", "cuenta", "pregunta", "responde", + "ayuda", "trabaja", "juega", "lee", "escribe", "dibuja", "canta", + "baila", "cocina", "come", "bebe", "duerme", "despierta", "abre", + "cierra", "empieza", "termina", "atrapa", "para", "mueve", "queda", + "viene", "va" + ], + "adverbs": [ + "rapido", "lento", "cuidadosamente", "felizmente", "tristemente", + "ruidosamente", "silenciosamente", "facilmente", "dificilmente", + "siempre", "nunca", "a menudo", "a veces", "generalmente", + "realmente", "muy", "bastante", "casi", "ya", "todavia", "solo", "apenas" + ] +} diff --git a/pointblank/countries/data/PA/address.json b/pointblank/countries/data/PA/address.json new file mode 100644 index 000000000..a01ec6117 --- /dev/null +++ b/pointblank/countries/data/PA/address.json @@ -0,0 +1,520 @@ +{ + "locations": { + "very_common": [ + { + "city": "Panama City", + "state": "Panama", + "state_abbr": "PA", + "postcode_prefix": "0801", + "lat_min": 8.95, + "lat_max": 9.05, + "lon_min": -79.55, + "lon_max": -79.48 + }, + { + "city": "San Miguelito", + "state": "Panama", + "state_abbr": "PA", + "postcode_prefix": "0802", + "lat_min": 9.03, + "lat_max": 9.06, + "lon_min": -79.5, + "lon_max": -79.47 + }, + { + "city": "Colon", + "state": "Colon", + "state_abbr": "CL", + "postcode_prefix": "0301", + "lat_min": 9.35, + "lat_max": 9.37, + "lon_min": -79.92, + "lon_max": -79.88 + }, + { + "city": "David", + "state": "Chiriqui", + "state_abbr": "CH", + "postcode_prefix": "0401", + "lat_min": 8.42, + "lat_max": 8.44, + "lon_min": -82.44, + "lon_max": -82.42 + }, + { + "city": "La Chorrera", + "state": "Panama Oeste", + "state_abbr": "PO", + "postcode_prefix": "1001", + "lat_min": 8.87, + "lat_max": 8.89, + "lon_min": -79.78, + "lon_max": -79.76 + }, + { + "city": "Arraijan", + "state": "Panama Oeste", + "state_abbr": "PO", + "postcode_prefix": "1002", + "lat_min": 8.93, + "lat_max": 8.96, + "lon_min": -79.65, + "lon_max": -79.62 + } + ], + "common": [ + { + "city": "Santiago", + "state": "Veraguas", + "state_abbr": "VR", + "postcode_prefix": "0901", + "lat_min": 8.1, + "lat_max": 8.12, + "lon_min": -80.98, + "lon_max": -80.96 + }, + { + "city": "Chitre", + "state": "Herrera", + "state_abbr": "HR", + "postcode_prefix": "0601", + "lat_min": 7.96, + "lat_max": 7.98, + "lon_min": -80.44, + "lon_max": -80.42 + }, + { + "city": "Penonome", + "state": "Cocle", + "state_abbr": "CC", + "postcode_prefix": "0201", + "lat_min": 8.51, + "lat_max": 8.52, + "lon_min": -80.37, + "lon_max": -80.35 + }, + { + "city": "Las Tablas", + "state": "Los Santos", + "state_abbr": "LS", + "postcode_prefix": "0701", + "lat_min": 7.76, + "lat_max": 7.78, + "lon_min": -80.28, + "lon_max": -80.26 + }, + { + "city": "Aguadulce", + "state": "Cocle", + "state_abbr": "CC", + "postcode_prefix": "0202", + "lat_min": 8.24, + "lat_max": 8.26, + "lon_min": -80.56, + "lon_max": -80.54 + }, + { + "city": "Boquete", + "state": "Chiriqui", + "state_abbr": "CH", + "postcode_prefix": "0402", + "lat_min": 8.77, + "lat_max": 8.79, + "lon_min": -82.44, + "lon_max": -82.43 + }, + { + "city": "Changuinola", + "state": "Bocas del Toro", + "state_abbr": "BT", + "postcode_prefix": "0101", + "lat_min": 9.42, + "lat_max": 9.44, + "lon_min": -82.52, + "lon_max": -82.5 + }, + { + "city": "Pacora", + "state": "Panama", + "state_abbr": "PA", + "postcode_prefix": "0803", + "lat_min": 9.07, + "lat_max": 9.09, + "lon_min": -79.28, + "lon_max": -79.26 + }, + { + "city": "Chepo", + "state": "Panama", + "state_abbr": "PA", + "postcode_prefix": "0804", + "lat_min": 9.15, + "lat_max": 9.17, + "lon_min": -79.1, + "lon_max": -79.08 + }, + { + "city": "Coronado", + "state": "Panama Oeste", + "state_abbr": "PO", + "postcode_prefix": "1003", + "lat_min": 8.54, + "lat_max": 8.56, + "lon_min": -79.93, + "lon_max": -79.91 + } + ], + "uncommon": [ + { + "city": "Bocas del Toro", + "state": "Bocas del Toro", + "state_abbr": "BT", + "postcode_prefix": "0102", + "lat_min": 9.33, + "lat_max": 9.35, + "lon_min": -82.25, + "lon_max": -82.23 + }, + { + "city": "Volcan", + "state": "Chiriqui", + "state_abbr": "CH", + "postcode_prefix": "0403", + "lat_min": 8.77, + "lat_max": 8.79, + "lon_min": -82.63, + "lon_max": -82.61 + }, + { + "city": "Pedasi", + "state": "Los Santos", + "state_abbr": "LS", + "postcode_prefix": "0702", + "lat_min": 7.53, + "lat_max": 7.55, + "lon_min": -80.03, + "lon_max": -80.01 + }, + { + "city": "Anton", + "state": "Cocle", + "state_abbr": "CC", + "postcode_prefix": "0203", + "lat_min": 8.4, + "lat_max": 8.42, + "lon_min": -80.27, + "lon_max": -80.25 + }, + { + "city": "El Valle de Anton", + "state": "Cocle", + "state_abbr": "CC", + "postcode_prefix": "0204", + "lat_min": 8.6, + "lat_max": 8.62, + "lon_min": -80.14, + "lon_max": -80.12 + }, + { + "city": "Santa Fe", + "state": "Veraguas", + "state_abbr": "VR", + "postcode_prefix": "0902", + "lat_min": 8.5, + "lat_max": 8.52, + "lon_min": -81.07, + "lon_max": -81.05 + }, + { + "city": "Portobelo", + "state": "Colon", + "state_abbr": "CL", + "postcode_prefix": "0302", + "lat_min": 9.55, + "lat_max": 9.56, + "lon_min": -79.65, + "lon_max": -79.64 + }, + { + "city": "Gamboa", + "state": "Panama", + "state_abbr": "PA", + "postcode_prefix": "0805", + "lat_min": 9.12, + "lat_max": 9.13, + "lon_min": -79.7, + "lon_max": -79.69 + } + ], + "rare": [ + { + "city": "Yaviza", + "state": "Darien", + "state_abbr": "DR", + "postcode_prefix": "0501", + "lat_min": 8.15, + "lat_max": 8.17, + "lon_min": -77.68, + "lon_max": -77.66 + }, + { + "city": "La Palma", + "state": "Darien", + "state_abbr": "DR", + "postcode_prefix": "0502", + "lat_min": 8.4, + "lat_max": 8.42, + "lon_min": -78.14, + "lon_max": -78.12 + }, + { + "city": "Puerto Armuelles", + "state": "Chiriqui", + "state_abbr": "CH", + "postcode_prefix": "0404", + "lat_min": 8.27, + "lat_max": 8.28, + "lon_min": -82.86, + "lon_max": -82.85 + }, + { + "city": "Almirante", + "state": "Bocas del Toro", + "state_abbr": "BT", + "postcode_prefix": "0103", + "lat_min": 9.3, + "lat_max": 9.31, + "lon_min": -82.4, + "lon_max": -82.39 + }, + { + "city": "Isla Contadora", + "state": "Panama", + "state_abbr": "PA", + "postcode_prefix": "0806", + "lat_min": 8.63, + "lat_max": 8.64, + "lon_min": -79.04, + "lon_max": -79.03 + } + ] + }, + "streets_by_city": { + "Panama City": [ + "Via España", + "Calle 50", + "Avenida Balboa", + "Via Argentina", + "Calle Uruguay", + "Avenida Federico Boyd", + "Via Brasil", + "Calle Aquilino De La Guardia", + "Avenida Central", + "Calle Samuel Lewis", + "Via Transistmica", + "Calle Ricardo Arias", + "Avenida Justo Arosemena", + "Calle Abel Bravo", + "Via Porras", + "Calle Eusebio A. Morales", + "Avenida Peru", + "Calle Colombia", + "Via Cincuentenario", + "Calle 74" + ], + "San Miguelito": [ + "Via Jose Agustin Arango", + "Boulevard Omar Torrijos", + "Avenida Ricardo J. Alfaro", + "Via Simon Bolivar", + "Calle Principal" + ], + "Colon": [ + "Avenida Central", + "Calle 11", + "Avenida Bolivar", + "Calle Amador Guerrero", + "Paseo Washington" + ], + "David": [ + "Avenida Obaldia", + "Calle Central", + "Avenida 3 de Noviembre", + "Calle F Sur", + "Avenida 1 de Enero" + ], + "La Chorrera": [ + "Avenida de las Americas", + "Calle Central", + "Via Panamericana", + "Calle 4ta" + ], + "Santiago": [ + "Avenida Central", + "Calle 2da", + "Via Interamericana", + "Avenida Hernan Porras" + ], + "Chitre": [ + "Paseo Enrique Geenzier", + "Calle Manuel Maria Correa", + "Avenida Pérez", + "Via Circunvalacion" + ], + "Boquete": [ + "Avenida Central", + "Calle 1ra Sur", + "Via Boquete", + "Calle Los Naranjos" + ], + "Aguadulce": [ + "Avenida Central", + "Calle Principal", + "Via Interamericana", + "Calle Los Llanos" + ], + "Almirante": [ + "Calle Principal", + "Avenida Central", + "Via Almirante" + ], + "Anton": [ + "Avenida Central", + "Calle del Mercado", + "Via Interamericana" + ], + "Arraijan": [ + "Via Centenario", + "Avenida de las Americas", + "Calle Principal", + "Via Arraijan" + ], + "Bocas del Toro": [ + "Calle 1ra", + "Calle 3ra", + "Avenida Central", + "Calle del Mar" + ], + "Changuinola": [ + "Avenida 17 de Abril", + "Calle Principal", + "Via Changuinola" + ], + "Chepo": [ + "Via Panamericana", + "Calle Central", + "Avenida Principal" + ], + "Coronado": [ + "Via Coronado", + "Calle Principal", + "Boulevard Coronado" + ], + "El Valle de Anton": [ + "Avenida Central", + "Calle El Hato", + "Calle La Pintada" + ], + "Gamboa": [ + "Calle Gamboa", + "Avenida del Canal", + "Calle Las Cruces" + ], + "Isla Contadora": [ + "Playa Larga", + "Calle del Aeropuerto", + "Calle Principal" + ], + "La Palma": [ + "Calle Principal", + "Avenida Central", + "Calle del Puerto" + ], + "Las Tablas": [ + "Avenida Central", + "Calle Belisario Porras", + "Calle 2da" + ], + "Pacora": [ + "Via Panamericana", + "Calle Central", + "Calle Principal" + ], + "Pedasi": [ + "Calle Principal", + "Avenida Central", + "Calle del Pueblo" + ], + "Penonome": [ + "Avenida Central", + "Via Interamericana", + "Calle San Antonio", + "Calle Cocle del Norte" + ], + "Portobelo": [ + "Calle Principal", + "Avenida del Puerto", + "Calle Real" + ], + "Puerto Armuelles": [ + "Calle Central", + "Avenida Principal", + "Calle del Muelle" + ], + "Santa Fe": [ + "Calle Principal", + "Avenida Central", + "Calle Alto de Piedra" + ], + "Volcan": [ + "Avenida Central", + "Calle Principal", + "Via Boquete-Volcan" + ], + "Yaviza": [ + "Calle Principal", + "Via Panamericana", + "Calle del Rio" + ] + }, + "postcode_format": "####", + "address_formats": [ + "{street} {building_number}, {city}, {state}", + "{street}, Edificio {building_number}, {city} {postcode}" + ], + "country": "Panama", + "country_code": "PA", + "phone_area_codes": { + "Panama": [ + "2" + ], + "Panama Oeste": [ + "2" + ], + "Colon": [ + "4" + ], + "Chiriqui": [ + "7" + ], + "Bocas del Toro": [ + "7" + ], + "Veraguas": [ + "9" + ], + "Herrera": [ + "9" + ], + "Cocle": [ + "9" + ], + "Los Santos": [ + "9" + ], + "Darien": [ + "2" + ] + }, + "phone_format": "+507 {area_code}###-####" +} diff --git a/pointblank/countries/data/PA/company.json b/pointblank/countries/data/PA/company.json new file mode 100644 index 000000000..f8d805fdb --- /dev/null +++ b/pointblank/countries/data/PA/company.json @@ -0,0 +1,233 @@ +{ + "suffixes": [ + "S.A.", + "S. de R.L.", + "Corp.", + "Inc.", + "Holdings", + "Group", + "Internacional", + "Inversiones", + "Trading", + "Foundation" + ], + "formats": [ + "{last_name} {suffix}", + "{last_name} y {last_name}", + "{adjective} {noun} {suffix}", + "{adjective} {noun}", + "{last_name} {noun}" + ], + "adjectives": [ + "Panameña", "Nacional", "Continental", "Istmeña", "Interoceanica", + "Caribeña", "Pacifica", "Primera", "Unida", "Global", + "Internacional", "Moderna", "Nueva", "Central", "Premium", + "Tropical", "Canal", "Canalera", "Metropolitana", "Centroamericana", + "Regional", "Industrial", "Tecnologica", "Digital", "Financiera" + ], + "nouns": [ + "Soluciones", "Sistemas", "Tecnologias", "Industria", "Servicios", + "Consultoria", "Administracion", "Desarrollo", "Gestion", "Comercio", + "Software", "Logistica", "Seguridad", "Finanzas", "Inversiones", + "Ingenieria", "Construccion", "Inmobiliaria", "Seguros", "Transporte", + "Naviera", "Portuaria", "Maritima", "Aduanera", "Bancaria", + "Turismo", "Hotelera", "Comunicaciones", "Energia", "Mineria" + ], + "well_known_companies": [ + { + "name": "Copa Airlines", + "cities": ["Panama City"] + }, + { + "name": "Banco General", + "cities": ["Panama City"] + }, + { + "name": "Banistmo", + "cities": ["Panama City"] + }, + { + "name": "Cable & Wireless Panama", + "cities": ["Panama City"] + }, + { + "name": "Grupo Melo", + "cities": ["Panama City"] + }, + { + "name": "Super 99", + "cities": ["Panama City", "David"] + }, + { + "name": "Grupo Rey", + "cities": ["Panama City"] + }, + { + "name": "ENSA", + "cities": ["Panama City"] + }, + { + "name": "Autoridad del Canal de Panama", + "cities": ["Panama City"] + }, + { + "name": "Colon Free Zone", + "cities": ["Colon"] + }, + { + "name": "Panama Ports Company", + "cities": ["Panama City", "Colon"] + }, + { + "name": "Tocumen International Airport", + "cities": ["Panama City"] + }, + { + "name": "Cerveceria Nacional", + "cities": ["Panama City"] + }, + { + "name": "Empresas Bern", + "cities": ["Panama City"] + }, + { + "name": "Global Bank", + "cities": ["Panama City"] + }, + { + "name": "Multibank", + "cities": ["Panama City"] + }, + { + "name": "Proval Panama", + "cities": ["Panama City"] + }, + { + "name": "Ricardo Perez S.A.", + "cities": ["Panama City"] + }, + { + "name": "Dell Panama", + "cities": ["Panama City"] + }, + { + "name": "Motta Internacional", + "cities": ["Panama City"] + } + ], + "jobs": [ + "Desarrollador de Software", "Contador", "Ingeniero Civil", "Profesor", "Medico", + "Abogado", "Gerente de Marketing", "Vendedor", "Capitan de Barco", "Agente Aduanal", + "Farmaceutico", "Enfermero", "Arquitecto", "Analista Financiero", "Gerente de Proyecto", + "Analista de Datos", "Gerente de RRHH", "Chef", "Piloto", "Oficial de Cumplimiento", + "Banquero", "Chofer", "Veterinario", "Dentista", "Gerente de Logistica" + ], + "catch_phrase_adjectives": [ + "confiable", "innovador", "eficiente", "reconocido", "lider", + "sostenible", "profesional", "calidad", "moderno", "estrategico", + "dinamico", "integral", "avanzado", "comprometido", "excelente" + ], + "catch_phrase_nouns": [ + "soluciones", "servicios", "excelencia", "alianza", "crecimiento", + "innovacion", "desarrollo", "progreso", "calidad", "valor", + "resultados", "tecnologia", "estrategias", "oportunidades" + ], + "catch_phrase_verbs": [ + "entregar", "proveer", "construir", "crear", "transformar", + "alcanzar", "impulsar", "inspirar", "optimizar", "desarrollar", + "implementar", "facilitar", "innovar", "lograr", "generar" + ], + "catch_phrase_connector": "que", + "industries": [ + { + "name": "logistica", + "weight": 0.18, + "jobs": ["Gerente de Logistica", "Agente Aduanal", "Capitan de Barco"], + "well_known": ["Panama Ports Company", "Colon Free Zone", "Autoridad del Canal de Panama"], + "company_suffixes": ["Logistica S.A.", "Naviera", "Portuaria"], + "company_nouns": ["Logistica", "Naviera", "Portuaria", "Maritima"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "finanzas", + "weight": 0.16, + "jobs": ["Analista Financiero", "Banquero", "Contador", "Oficial de Cumplimiento"], + "well_known": ["Banco General", "Banistmo", "Global Bank", "Multibank"], + "company_suffixes": ["Bank", "Financiera", "Inversiones"], + "company_nouns": ["Finanzas", "Inversiones", "Bancaria"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "aviacion", + "weight": 0.1, + "jobs": ["Piloto", "Gerente de Logistica"], + "well_known": ["Copa Airlines", "Tocumen International Airport"], + "company_suffixes": ["Aviation", "Air", "Airlines"], + "company_nouns": ["Aviacion", "Aerea", "Vuelos"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "comercio", + "weight": 0.12, + "jobs": ["Vendedor", "Gerente de Marketing"], + "well_known": ["Super 99", "Grupo Rey", "Grupo Melo"], + "company_suffixes": ["Trading", "Comercial S.A.", "Distribuidora"], + "company_nouns": ["Comercio", "Productos", "Trading"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "tecnologia", + "weight": 0.08, + "jobs": ["Desarrollador de Software", "Analista de Datos"], + "well_known": ["Cable & Wireless Panama", "Dell Panama"], + "company_suffixes": ["Tech S.A.", "Software", "Digital"], + "company_nouns": ["Tecnologias", "Sistemas", "Software"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "salud", + "weight": 0.08, + "jobs": ["Medico", "Enfermero", "Farmaceutico", "Dentista"], + "well_known": [], + "company_suffixes": ["Salud", "Clinica", "Farmaceutica"], + "company_nouns": ["Salud", "Medicina", "Farmacia"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "construccion", + "weight": 0.1, + "jobs": ["Ingeniero Civil", "Arquitecto"], + "well_known": [], + "company_suffixes": ["Construccion S.A.", "Ingenieria", "Constructora"], + "company_nouns": ["Construccion", "Ingenieria", "Inmobiliaria"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "educacion", + "weight": 0.06, + "jobs": ["Profesor"], + "well_known": [], + "company_suffixes": [], + "company_nouns": [], + "company_formats": ["Universidad de {city}", "Instituto {city}"] + }, + { + "name": "alimentos", + "weight": 0.06, + "jobs": ["Chef", "Vendedor"], + "well_known": ["Cerveceria Nacional"], + "company_suffixes": ["Alimentos S.A.", "Foods", "Bebidas"], + "company_nouns": ["Alimentos", "Bebidas", "Productos"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "legal", + "weight": 0.06, + "jobs": ["Abogado", "Oficial de Cumplimiento"], + "well_known": [], + "company_suffixes": [], + "company_nouns": [], + "company_formats": ["{last_name} y {last_name}", "{last_name} Abogados"] + } + ] +} diff --git a/pointblank/countries/data/PA/internet.json b/pointblank/countries/data/PA/internet.json new file mode 100644 index 000000000..402d95859 --- /dev/null +++ b/pointblank/countries/data/PA/internet.json @@ -0,0 +1,23 @@ +{ + "free_email_domains": [ + "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", + "live.com", "yahoo.es", "hotmail.es", "outlook.es", + "icloud.com", "cwpanama.net" + ], + "tlds": [ + "pa", "com.pa", "net.pa", "org.pa", "gob.pa", "edu.pa", + "com", "net", "org", "io" + ], + "domain_words": [ + "panama", "canal", "istmo", "balboa", "chiriqui", "colon", + "tech", "digital", "online", "web", "media", "caribe", + "smart", "pro", "elite", "global", "mega", "super", + "inter", "nexus", "tropical", "pacifico" + ], + "user_agent_browsers": [ + "Chrome", "Firefox", "Safari", "Edge", "Opera" + ], + "user_agent_os": [ + "Windows NT 10.0", "Macintosh; Intel Mac OS X 10_15_7", "X11; Linux x86_64" + ] +} diff --git a/pointblank/countries/data/PA/misc.json b/pointblank/countries/data/PA/misc.json new file mode 100644 index 000000000..08376ded8 --- /dev/null +++ b/pointblank/countries/data/PA/misc.json @@ -0,0 +1,11 @@ +{ + "colors": [ + "rojo", "azul", "verde", "amarillo", "naranja", + "morado", "rosado", "cafe", "negro", "blanco", + "gris", "dorado", "plateado", "granate", "marino", + "oliva", "coral", "turquesa", "crema", "marfil" + ], + "currency_codes": ["PAB", "USD"], + "ssn_format": "#-###-####", + "license_plate_format": "######" +} diff --git a/pointblank/countries/data/PA/person.json b/pointblank/countries/data/PA/person.json new file mode 100644 index 000000000..45364f60e --- /dev/null +++ b/pointblank/countries/data/PA/person.json @@ -0,0 +1,844 @@ +{ + "first_names": { + "male": { + "very_common": [ + "Jose", + "Juan", + "Carlos", + "Luis", + "Miguel", + "David", + "Ricardo", + "Roberto", + "Fernando", + "Jorge", + "Alejandro", + "Daniel", + "Gabriel", + "Eduardo", + "Francisco", + "Mario", + "Andres", + "Pablo", + "Marco", + "Victor", + "Diego", + "Antonio", + "Enrique", + "Ernesto" + ], + "common": [ + "Alberto", + "Arturo", + "Alfredo", + "Raul", + "Sergio", + "Guillermo", + "Hector", + "Ivan", + "Javier", + "Kevin", + "Leonardo", + "Manuel", + "Nelson", + "Oscar", + "Pedro", + "Rafael", + "Santiago", + "Tomas", + "Vicente", + "Xavier", + "Agustin", + "Boris", + "Christian", + "Dario", + "Felix", + "Gonzalo", + "Hugo", + "Ignacio", + "Julio", + "Kener", + "Lorenzo", + "Mauricio", + "Nicolas", + "Orlando", + "Patricio", + "Ramon", + "Salvador", + "Ulises", + "Wilfredo", + "Yoel", + "Adrian", + "Benito", + "Cesar", + "Domingo", + "Elias", + "Freddy", + "Gerardo", + "Heriberto", + "Ismael", + "Jaime" + ], + "uncommon": [ + "Abelardo", + "Balbino", + "Casimiro", + "Delfin", + "Epifanio", + "Florentino", + "Genaro", + "Hermogenes", + "Ildefonso", + "Jeremias", + "Ladislao", + "Melanio", + "Nicomedes", + "Olegario", + "Panfilo", + "Quirino", + "Rosendo", + "Sabino", + "Teofilo", + "Venancio", + "Ximeno", + "Yovani", + "Zacarias", + "Anastasio", + "Buenaventura", + "Clemente", + "Diomedes", + "Euclides", + "Facundo", + "Graciano", + "Hermelindo", + "Inocencio", + "Justiniano", + "Leopoldo", + "Maximiliano", + "Norberto", + "Otoniel", + "Porfirio", + "Rigoberto", + "Sinforoso", + "Toribio", + "Urbano", + "Victoriano", + "Wenceslao", + "Ygnacio", + "Zoilo", + "Aristides", + "Bartolome", + "Cayetano", + "Desiderio", + "Eligio", + "Fortunato", + "Gregorio", + "Hermenegildo", + "Ireno", + "Justino", + "Laureano", + "Marcelino", + "Nemesio", + "Onesimo", + "Primitivo", + "Rosauro", + "Saturnino", + "Tranquilino", + "Ubaldo", + "Valerio", + "Walter", + "Yuri", + "Zenon" + ], + "rare": [ + "Abdon", + "Baldomero", + "Canuto", + "Eleuterio", + "Gabino", + "Liborio", + "Pascual", + "Ubaldino", + "Ventura", + "Aparicio", + "Bonifacio", + "Cipriano", + "Dionisio", + "Eusebio", + "Floresmilo", + "Gumersindo", + "Heliodoro", + "Ireneo", + "Jacinto", + "Meliton", + "Nicanor", + "Ovidio", + "Prudencio", + "Rufino", + "Sotero", + "Tiburcio", + "Ulpiano", + "Viviano", + "Yovany", + "Zotico", + "Almanzor", + "Bienvenido", + "Celestino", + "Demetrio", + "Epigmenio", + "Filomeno", + "Gonzaga", + "Hilarion", + "Isidoro", + "Justo", + "Lucrecio", + "Macario", + "Natalio", + "Onufrio", + "Pancracio", + "Raimundo", + "Silvestre", + "Teodoro", + "Ursicino", + "Valeriano", + "Waldo", + "Ysidro", + "Zeferino", + "Adalberto", + "Baldameriano", + "Crisanto", + "Doroteo", + "Estanislao", + "Feliciano", + "Gumercindo", + "Heraclio", + "Inocente", + "Januario", + "Loreto", + "Modesto", + "Odorico", + "Perpetuo", + "Regalado", + "Simplicio", + "Telesforo", + "Ulalio", + "Venustiano", + "Wilberto", + "Yanuario", + "Zenobio" + ] + }, + "female": { + "very_common": [ + "Maria", + "Ana", + "Carmen", + "Rosa", + "Patricia", + "Lucia", + "Andrea", + "Gabriela", + "Daniela", + "Fernanda", + "Isabel", + "Katherine", + "Laura", + "Monica", + "Natalia", + "Paola", + "Sandra", + "Veronica", + "Ximena", + "Yolanda", + "Adriana", + "Beatriz", + "Claudia", + "Diana" + ], + "common": [ + "Elena", + "Gloria", + "Hilda", + "Irma", + "Julia", + "Karina", + "Lorena", + "Margarita", + "Norma", + "Olga", + "Pilar", + "Raquel", + "Silvia", + "Teresa", + "Valeria", + "Wendy", + "Zoila", + "Alicia", + "Blanca", + "Consuelo", + "Dolores", + "Esmeralda", + "Flor", + "Gladys", + "Helena", + "Ines", + "Juana", + "Lourdes", + "Maribel", + "Nancy", + "Ofelia", + "Priscila", + "Rocio", + "Susana", + "Tamara", + "Victoria", + "Carolina", + "Cecilia", + "Cristina", + "Elizabeth", + "Jenny", + "Lissette", + "Marta", + "Noemi", + "Pamela", + "Ruth", + "Sara", + "Tatiana", + "Ursula", + "Virginia" + ], + "uncommon": [ + "Adelaida", + "Bertha", + "Carmela", + "Delfina", + "Eugenia", + "Francisca", + "Genoveva", + "Hermelinda", + "Imelda", + "Josefina", + "Leonor", + "Magdalena", + "Natividad", + "Otilia", + "Perpetua", + "Remedios", + "Soledad", + "Transito", + "Violeta", + "Wilma", + "Yadira", + "Zenaida", + "Amparito", + "Balbina", + "Clotilde", + "Dominga", + "Encarnacion", + "Filomena", + "Griselda", + "Herminia", + "Isadora", + "Jacinta", + "Ligia", + "Matilde", + "Narcisa", + "Olmeda", + "Petrona", + "Rosalia", + "Sarita", + "Teresita", + "Urania", + "Vilma", + "Zobeida", + "Argentina", + "Bernarda", + "Candelaria", + "Dioselina", + "Escolastica", + "Felicita", + "Gertrudis", + "Honorata", + "Iluminada", + "Justina", + "Leonilda", + "Mercedes", + "Nieves", + "Obdulia", + "Pascuala", + "Ramona", + "Sinforosa", + "Tarcila", + "Umbelina", + "Venancia", + "Walda", + "Yesenia" + ], + "rare": [ + "Adelina", + "Basilisa", + "Celestina", + "Dorotea", + "Eduviges", + "Felipa", + "Guillerma", + "Herculana", + "Ifigenia", + "Jovina", + "Leocadia", + "Melchora", + "Nazaria", + "Orosia", + "Pancracia", + "Raimunda", + "Saturnina", + "Teodolinda", + "Ursulina", + "Waldina", + "Xaviera", + "Ygnacia", + "Zulema", + "Anastasia", + "Bartola", + "Cipriana", + "Damiana", + "Epifania", + "Fortunata", + "Gumercinda", + "Heliodora", + "Irenea", + "Juliana", + "Librada", + "Micaela", + "Nicomeda", + "Olimpia", + "Policarpa", + "Ricarda", + "Serafina", + "Tiburcia", + "Ulpiana", + "Viviana", + "Walberta", + "Zenona", + "Apolinaria", + "Benigna", + "Casimira", + "Domitila", + "Fulgencia", + "Graciana", + "Hermenegilda", + "Inocencia", + "Justiniana", + "Leopoldina", + "Maximiliana", + "Norberta", + "Otoniela", + "Primitiva", + "Rosaura", + "Sinforina", + "Toribia", + "Ubalda", + "Victoriana", + "Walfrida", + "Agripina", + "Brigida", + "Canuta", + "Desideria", + "Eleuteria", + "Facunda", + "Gabina", + "Heloisa", + "Ildefonsa", + "Jeronima", + "Liboria", + "Melania", + "Olegaria", + "Quirina", + "Rosenda", + "Sabina", + "Teofila", + "Venustiana" + ] + }, + "neutral": { + "very_common": [ + "Alex", + "Guadalupe" + ], + "common": [ + "Cruz", + "Ariel", + "Dominique", + "Camilo", + "Sarai" + ], + "uncommon": [ + "Darian", + "Auri", + "Aris", + "Keily", + "Yaniel", + "Dari", + "Yael" + ], + "rare": [ + "Amaris", + "Naiki", + "Tayel", + "Keiri", + "Shanis", + "Mical", + "Noel", + "Yeriel", + "Alis", + "Danelys" + ] + } + }, + "last_names": { + "very_common": [ + "Rodriguez", + "Gonzalez", + "Martinez", + "Garcia", + "Lopez", + "Hernandez", + "Perez", + "Sanchez", + "Ramirez", + "Torres", + "Rivera", + "Gomez", + "Diaz", + "Morales", + "Reyes", + "Castillo", + "Mendoza", + "Ortiz", + "Silva", + "Romero", + "Herrera", + "Cruz", + "Chavez", + "Vargas", + "Delgado", + "Ruiz", + "Gutierrez", + "Rios", + "Flores", + "Vega", + "Aguilar", + "Castro", + "Medina", + "Suarez", + "Barria", + "Batista", + "Caballero", + "De Leon", + "Espinosa", + "Franco", + "Galvez", + "Jaen", + "Quintero", + "Samaniego", + "Valdes", + "Vergara", + "Villarreal", + "Camarena", + "Cedeño", + "Concepcion" + ], + "common": [ + "Acosta", + "Arrocha", + "Avila", + "Barrera", + "Bethancourt", + "Calderon", + "Carrasco", + "Ceballos", + "Cerrud", + "Cordoba", + "Cuevas", + "De Gracia", + "Dominguez", + "Espino", + "Estrada", + "Franceschi", + "Fuentes", + "Gaitan", + "Gallardo", + "Gil", + "Grenald", + "Guerra", + "Guillen", + "Ibarra", + "Jimenez", + "Jurado", + "Lasso", + "Lezcano", + "Lombardo", + "Madrid", + "Marin", + "Mojica", + "Molinar", + "Montenegro", + "Navarro", + "Nieto", + "Nuñez", + "Obando", + "Ochoa", + "Osorio", + "Palacios", + "Paredes", + "Pimentel", + "Pineda", + "Pinilla", + "Pitty", + "Quiel", + "Ramos", + "Rengifo", + "Robles", + "Saez", + "Saldaña", + "Santos", + "Solis", + "Soto", + "Tejada", + "Trejos", + "Trujillo", + "Urriola", + "Vasquez", + "Velasquez", + "Villalobos", + "Zapata", + "Zuñiga", + "Abrego", + "Arauz", + "Ballesteros", + "Candanedo", + "Canto", + "Cedeno", + "Cigarruista", + "Coronado", + "Cubilla", + "De La Cruz", + "Ducasa", + "Echeverria", + "Enriquez", + "Escobar", + "Fabrega", + "Fernandez", + "Figueroa", + "Garay", + "Gordillo", + "Gracia", + "Guardia", + "Guerrero", + "Hassam", + "Henriquez", + "Ho", + "Hurtado", + "Jaime", + "Jordan", + "Juarez", + "Kelly", + "Lam" + ], + "uncommon": [ + "Aizprua", + "Alabarca", + "Anguizola", + "Arias", + "Barsallo", + "Beitia", + "Bermudez", + "Botello", + "Broce", + "Bustamante", + "Cajar", + "Camacho", + "Campos", + "Cardenas", + "Carles", + "Carrasquilla", + "Castillero", + "Ceville", + "Chang", + "Chen", + "Ching", + "Clement", + "Conte", + "Contreras", + "Corrales", + "Cuniglio", + "Darce", + "Delgadillo", + "Dutary", + "Egan", + "Falcon", + "Frago", + "Galindo", + "Gondola", + "Grajales", + "Guevara", + "Herbruger", + "Hinestroza", + "Holder", + "Humbert", + "Illueca", + "Justavino", + "Kam", + "Lau", + "Lee", + "Lesmes", + "Loo", + "Luque", + "Malek", + "Manzane", + "Martinelli", + "McFarlane", + "Melendez", + "Miranda", + "Motta", + "Muñoz", + "Murillo", + "Noriega", + "Obaldia", + "Ojo", + "Olivares", + "Orocu", + "Ortega", + "Penalba", + "Pinzon", + "Porras", + "Prescott", + "Prieto", + "Quiros", + "Rangel", + "Regalado" + ], + "rare": [ + "Achurra", + "Agrazal", + "Alemancia", + "Alfaro", + "Almanza", + "Ameglio", + "Aparicio", + "Arjona", + "Armuelles", + "Arroyo", + "Atencio", + "Avellaneda", + "Azcarraga", + "Balbuena", + "Banda", + "Barahona", + "Barletta", + "Bazán", + "Bellido", + "Berguido", + "Blandon", + "Bósquez", + "Boyd", + "Brandao", + "Brin", + "Brostella", + "Bunau", + "Calancha", + "Calvo", + "Campagnani", + "Canizales", + "Cárdenas", + "Carpintero", + "Casís", + "Celorio", + "Chacón", + "Champsaur", + "Chiari", + "Chong", + "Cisneros", + "Cochez", + "Cogley", + "Coral", + "Corina", + "Cornejo", + "Cortizo", + "Cucalon", + "Delvalle", + "Dominici", + "Durling", + "Eleta", + "Endara", + "Eraso", + "Espriella", + "Fábrega", + "Ferrer", + "Forero", + "Fossatti", + "Francolini", + "Fugon", + "Gale", + "Galimany", + "Garrido", + "Gaspar", + "Guizado", + "Halphen", + "Harmodio", + "Hassán", + "Heurtematte", + "Humboldt", + "Icaza", + "Iguala", + "Jacome", + "Justiniani", + "Kourany", + "Lanuza", + "Lavergne", + "Layne", + "Lefevre", + "Levy", + "Lewis", + "Linares", + "Lombana", + "Luzcando", + "Maduro", + "Mafla" + ] + }, + "name_formats": [ + "{first_name} {last_name}", + "{first_name} {last_name} {last_name}", + "{prefix} {first_name} {last_name}" + ], + "prefixes": { + "male": [ + "Sr.", + "Dr.", + "Ing.", + "Lic.", + "Prof." + ], + "female": [ + "Sra.", + "Srta.", + "Dra.", + "Ing.", + "Lic.", + "Prof." + ], + "neutral": [ + "Dr.", + "Ing.", + "Lic.", + "Prof." + ] + }, + "suffixes": [ + "Jr.", + "Sr.", + "PhD", + "MBA" + ] +} diff --git a/pointblank/countries/data/PA/text.json b/pointblank/countries/data/PA/text.json new file mode 100644 index 000000000..ce7d26044 --- /dev/null +++ b/pointblank/countries/data/PA/text.json @@ -0,0 +1,53 @@ +{ + "words": [ + "el", "la", "los", "las", "de", "en", "un", "una", "que", "por", + "con", "no", "es", "se", "su", "para", "al", "del", "son", "como", + "mas", "pero", "fue", "ser", "hay", "tan", "muy", "ya", "sin", "sobre", + "todo", "entre", "desde", "hasta", "donde", "quien", "cada", "otro", "bien", "tiene", + "puede", "parte", "tiempo", "mucho", "hacer", "mismo", "mejor", "nuevo", "poco", "solo", + "decir", "estar", "poder", "tener", "haber", "saber", "querer", "deber", "poner", "venir", + "casa", "ciudad", "pais", "persona", "vida", "dia", "mundo", "trabajo", "hombre", "mujer", + "tiempo", "ahora", "agua", "tierra", "forma", "aqui", "bueno", "grande", "primero", "ultimo", + "bien", "mal", "antes", "despues", "dentro", "fuera", "lejos", "cerca", "arriba", "abajo" + ], + "sentence_patterns": [ + "El {adjective} {noun} {verb} el {adjective} {noun}.", + "Un {noun} {verb} {adverb} en el {noun}.", + "{proper_noun} {verb} el {adjective} {noun} {adverb}." + ], + "adjectives": [ + "rapido", "lento", "grande", "pequeño", "viejo", "nuevo", "joven", + "brillante", "oscuro", "ruidoso", "silencioso", "caliente", "frio", + "suave", "duro", "limpio", "sucio", "feliz", "triste", "amable", + "fuerte", "debil", "alto", "bajo", "ancho", "estrecho", "profundo", + "lleno", "vacio", "abierto", "cerrado", "mojado", "seco", + "fresco", "rico", "pobre", "largo", "corto", "gordo", "flaco", + "bonito", "feo", "claro", "valiente", "timido", "sabio", "tonto" + ], + "nouns": [ + "perro", "gato", "pajaro", "pez", "arbol", "casa", "carro", "libro", + "mesa", "silla", "puerta", "ventana", "calle", "rio", "montaña", + "mar", "cielo", "sol", "luna", "estrella", "nube", "lluvia", "nieve", + "viento", "fuego", "agua", "tierra", "aire", "piedra", "madera", + "metal", "vidrio", "papel", "tela", "comida", "dinero", "tiempo", + "lugar", "persona", "niño", "hombre", "mujer", "amigo", "familia", + "escuela", "trabajo", "ciudad", "pais", "mundo", "vida", "dia", + "noche", "mañana", "tarde", "semana", "mes", "año", "historia", + "cancion", "juego", "deporte" + ], + "verbs": [ + "corre", "salta", "camina", "habla", "ve", "oye", "siente", "piensa", + "sabe", "quiere", "necesita", "gusta", "ama", "odia", "encuentra", + "da", "toma", "hace", "dice", "cuenta", "pregunta", "responde", + "ayuda", "trabaja", "juega", "lee", "escribe", "dibuja", "canta", + "baila", "cocina", "come", "bebe", "duerme", "despierta", "abre", + "cierra", "empieza", "termina", "atrapa", "para", "mueve", "queda", + "viene", "va" + ], + "adverbs": [ + "rapido", "lento", "cuidadosamente", "felizmente", "tristemente", + "ruidosamente", "silenciosamente", "facilmente", "dificilmente", + "siempre", "nunca", "a menudo", "a veces", "generalmente", + "realmente", "muy", "bastante", "casi", "ya", "todavia", "solo", "apenas" + ] +} diff --git a/pointblank/countries/data/SA/address.json b/pointblank/countries/data/SA/address.json new file mode 100644 index 000000000..683c3d30e --- /dev/null +++ b/pointblank/countries/data/SA/address.json @@ -0,0 +1,595 @@ +{ + "locations": { + "very_common": [ + { + "city": "Riyadh", + "state": "Riyadh", + "state_abbr": "RD", + "postcode_prefix": "11", + "lat_min": 24.55, + "lat_max": 24.85, + "lon_min": 46.55, + "lon_max": 46.85 + }, + { + "city": "Jeddah", + "state": "Makkah", + "state_abbr": "MK", + "postcode_prefix": "21", + "lat_min": 21.4, + "lat_max": 21.6, + "lon_min": 39.1, + "lon_max": 39.3 + }, + { + "city": "Makkah", + "state": "Makkah", + "state_abbr": "MK", + "postcode_prefix": "24", + "lat_min": 21.38, + "lat_max": 21.48, + "lon_min": 39.78, + "lon_max": 39.9 + }, + { + "city": "Madinah", + "state": "Madinah", + "state_abbr": "MD", + "postcode_prefix": "42", + "lat_min": 24.42, + "lat_max": 24.52, + "lon_min": 39.55, + "lon_max": 39.68 + }, + { + "city": "Dammam", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "31", + "lat_min": 26.38, + "lat_max": 26.48, + "lon_min": 50.08, + "lon_max": 50.18 + }, + { + "city": "Khobar", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "34", + "lat_min": 26.25, + "lat_max": 26.32, + "lon_min": 50.18, + "lon_max": 50.25 + }, + { + "city": "Dhahran", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "34", + "lat_min": 26.25, + "lat_max": 26.32, + "lon_min": 50.1, + "lon_max": 50.17 + }, + { + "city": "Taif", + "state": "Makkah", + "state_abbr": "MK", + "postcode_prefix": "26", + "lat_min": 21.25, + "lat_max": 21.32, + "lon_min": 40.38, + "lon_max": 40.45 + }, + { + "city": "Tabuk", + "state": "Tabuk", + "state_abbr": "TB", + "postcode_prefix": "47", + "lat_min": 28.35, + "lat_max": 28.42, + "lon_min": 36.55, + "lon_max": 36.62 + }, + { + "city": "Buraydah", + "state": "Qassim", + "state_abbr": "QS", + "postcode_prefix": "51", + "lat_min": 26.3, + "lat_max": 26.38, + "lon_min": 43.95, + "lon_max": 44.02 + } + ], + "common": [ + { + "city": "Jubail", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "35", + "lat_min": 27.0, + "lat_max": 27.05, + "lon_min": 49.62, + "lon_max": 49.68 + }, + { + "city": "Hail", + "state": "Hail", + "state_abbr": "HL", + "postcode_prefix": "55", + "lat_min": 27.5, + "lat_max": 27.55, + "lon_min": 41.68, + "lon_max": 41.72 + }, + { + "city": "Abha", + "state": "Asir", + "state_abbr": "AS", + "postcode_prefix": "61", + "lat_min": 18.2, + "lat_max": 18.25, + "lon_min": 42.48, + "lon_max": 42.52 + }, + { + "city": "Khamis Mushait", + "state": "Asir", + "state_abbr": "AS", + "postcode_prefix": "62", + "lat_min": 18.28, + "lat_max": 18.33, + "lon_min": 42.7, + "lon_max": 42.75 + }, + { + "city": "Najran", + "state": "Najran", + "state_abbr": "NJ", + "postcode_prefix": "66", + "lat_min": 17.48, + "lat_max": 17.52, + "lon_min": 44.22, + "lon_max": 44.25 + }, + { + "city": "Yanbu", + "state": "Madinah", + "state_abbr": "MD", + "postcode_prefix": "46", + "lat_min": 24.07, + "lat_max": 24.1, + "lon_min": 38.05, + "lon_max": 38.08 + }, + { + "city": "Al Ahsa", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "36", + "lat_min": 25.35, + "lat_max": 25.4, + "lon_min": 49.58, + "lon_max": 49.62 + }, + { + "city": "Jizan", + "state": "Jizan", + "state_abbr": "JZ", + "postcode_prefix": "82", + "lat_min": 16.87, + "lat_max": 16.92, + "lon_min": 42.55, + "lon_max": 42.58 + }, + { + "city": "Qatif", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "32", + "lat_min": 26.55, + "lat_max": 26.58, + "lon_min": 50.0, + "lon_max": 50.02 + }, + { + "city": "Al Kharj", + "state": "Riyadh", + "state_abbr": "RD", + "postcode_prefix": "16", + "lat_min": 24.14, + "lat_max": 24.18, + "lon_min": 47.28, + "lon_max": 47.32 + } + ], + "uncommon": [ + { + "city": "Unayzah", + "state": "Qassim", + "state_abbr": "QS", + "postcode_prefix": "56", + "lat_min": 26.07, + "lat_max": 26.1, + "lon_min": 43.98, + "lon_max": 44.0 + }, + { + "city": "Sakaka", + "state": "Jawf", + "state_abbr": "JF", + "postcode_prefix": "72", + "lat_min": 29.95, + "lat_max": 29.98, + "lon_min": 40.18, + "lon_max": 40.22 + }, + { + "city": "Arar", + "state": "Northern Borders", + "state_abbr": "NB", + "postcode_prefix": "73", + "lat_min": 30.97, + "lat_max": 31.0, + "lon_min": 41.02, + "lon_max": 41.05 + }, + { + "city": "Baha", + "state": "Baha", + "state_abbr": "BH", + "postcode_prefix": "65", + "lat_min": 20.0, + "lat_max": 20.03, + "lon_min": 41.45, + "lon_max": 41.48 + }, + { + "city": "NEOM", + "state": "Tabuk", + "state_abbr": "TB", + "postcode_prefix": "49", + "lat_min": 27.95, + "lat_max": 28.0, + "lon_min": 35.2, + "lon_max": 35.25 + }, + { + "city": "Diriyah", + "state": "Riyadh", + "state_abbr": "RD", + "postcode_prefix": "13", + "lat_min": 24.72, + "lat_max": 24.75, + "lon_min": 46.56, + "lon_max": 46.58 + }, + { + "city": "King Abdullah Economic City", + "state": "Makkah", + "state_abbr": "MK", + "postcode_prefix": "23", + "lat_min": 22.38, + "lat_max": 22.42, + "lon_min": 39.08, + "lon_max": 39.12 + }, + { + "city": "Ras Tanura", + "state": "Eastern", + "state_abbr": "EP", + "postcode_prefix": "33", + "lat_min": 26.63, + "lat_max": 26.65, + "lon_min": 50.15, + "lon_max": 50.17 + } + ], + "rare": [ + { + "city": "Al Ula", + "state": "Madinah", + "state_abbr": "MD", + "postcode_prefix": "43", + "lat_min": 26.6, + "lat_max": 26.63, + "lon_min": 37.9, + "lon_max": 37.93 + }, + { + "city": "Wadi Al Dawasir", + "state": "Riyadh", + "state_abbr": "RD", + "postcode_prefix": "18", + "lat_min": 20.43, + "lat_max": 20.46, + "lon_min": 44.72, + "lon_max": 44.75 + }, + { + "city": "Sharurah", + "state": "Najran", + "state_abbr": "NJ", + "postcode_prefix": "68", + "lat_min": 17.48, + "lat_max": 17.5, + "lon_min": 47.1, + "lon_max": 47.12 + }, + { + "city": "Dawadmi", + "state": "Riyadh", + "state_abbr": "RD", + "postcode_prefix": "17", + "lat_min": 24.48, + "lat_max": 24.5, + "lon_min": 44.38, + "lon_max": 44.4 + }, + { + "city": "Rafha", + "state": "Northern Borders", + "state_abbr": "NB", + "postcode_prefix": "75", + "lat_min": 29.6, + "lat_max": 29.62, + "lon_min": 43.48, + "lon_max": 43.5 + } + ] + }, + "streets_by_city": { + "Riyadh": [ + "King Fahd Road", + "Olaya Street", + "Takhassusi Street", + "Prince Mohammed bin Abdulaziz Road", + "King Abdullah Road", + "Makkah Road", + "Al Bathaa Street", + "Imam Saud bin Abdulaziz Road", + "Eastern Ring Road", + "Northern Ring Road", + "Al Urubah Road", + "Prince Sultan Road", + "Sitteen Street", + "Al Imam Road", + "Khurais Road", + "Al Madinah Road", + "Anas bin Malik Road", + "Al Amir Abdulaziz ibn Musaid Road", + "Al Orouba Road" + ], + "Jeddah": [ + "Tahlia Street", + "Prince Sultan Street", + "Al Madinah Road", + "Palestine Street", + "Sari Street", + "Corniche Road", + "King Abdulaziz Road", + "Hera Street", + "Prince Majid Road", + "Al Rawdah Street", + "Al Andalus Street", + "Ghurnatah Street" + ], + "Makkah": [ + "Ibrahim Al Khalil Road", + "Al Hajj Road", + "Umm Al Qura Road", + "King Abdulaziz Road", + "Al Masjid Al Haram Road" + ], + "Madinah": [ + "King Faisal Road", + "Abu Bakr Al Siddiq Road", + "Al Hijrah Road", + "Prince Sultan Road", + "Quba Road" + ], + "Dammam": [ + "King Saud Street", + "King Fahd Road", + "Prince Mohammed bin Fahd Road", + "First Street", + "Al Khaleej Road", + "Dhahran Street" + ], + "Khobar": [ + "Prince Turkey Street", + "Corniche Road", + "King Abdulaziz Road", + "Custodian of the Two Holy Mosques Road", + "Dhahran Road" + ], + "Tabuk": [ + "King Fahd Road", + "Prince Fahd bin Sultan Road", + "Airport Road", + "King Abdulaziz Road" + ], + "Abha": [ + "King Abdulaziz Road", + "King Faisal Road", + "King Khalid Road", + "Al Nimas Road" + ], + "Al Ahsa": [ + "Tareeq Al Hofuf", + "Sharea Al Khalidiya", + "Tareeq Al Mubarraz" + ], + "Al Kharj": [ + "Tareeq Al Kharj", + "Sharea Al Amir", + "Tareeq Riyadh" + ], + "Al Ula": [ + "Tareeq Al Ula", + "Sharea Al Madina", + "Tareeq Al Aathar" + ], + "Arar": [ + "Sharea Al Malik Abdulaziz", + "Tareeq Al Jawf", + "Sharea Al Amir" + ], + "Baha": [ + "Sharea Al Amir", + "Tareeq Al Baha", + "Sharea Al Malik" + ], + "Buraydah": [ + "Tareeq Al Malik Fahd", + "Sharea Al Khobaib", + "Tareeq Al Qassim" + ], + "Dawadmi": [ + "Tareeq Riyadh", + "Sharea Al Amir", + "Tareeq Al Dawadmi" + ], + "Dhahran": [ + "Tareeq Al Dhahran", + "Sharea Aramco", + "King Saud Street" + ], + "Diriyah": [ + "Tareeq Al Diriyah", + "Sharea At-Turaif", + "Sharea Al Bujairi" + ], + "Hail": [ + "Sharea Al Amir Abdulaziz", + "Tareeq Al Madinah", + "Sharea Al Samra" + ], + "Jizan": [ + "Sharea Al Corniche", + "Tareeq Jizan", + "Sharea Al Amir" + ], + "Jubail": [ + "Tareeq Al Jubail", + "Sharea Al Sinaiyah", + "Tareeq Al Fanateer" + ], + "Khamis Mushait": [ + "Tareeq Al Khamis", + "Sharea Al Amir Sultan", + "Tareeq Abha" + ], + "King Abdullah Economic City": [ + "Boulevard KAEC", + "Innovation Way", + "Marina Drive" + ], + "NEOM": [ + "NEOM Boulevard", + "The Line Avenue", + "Trojena Road" + ], + "Najran": [ + "Sharea Al Amir Mishaal", + "Tareeq Najran", + "Sharea Al Faisaliyah" + ], + "Qatif": [ + "Sharea Al Qatif", + "Tareeq Al Corniche", + "Sharea Al Khalidiya" + ], + "Rafha": [ + "Sharea Al Malik Fahd", + "Tareeq Rafha", + "Sharea Al Amir" + ], + "Ras Tanura": [ + "Tareeq Ras Tanura", + "Sharea Al Bahar", + "Sharea Aramco" + ], + "Sakaka": [ + "Sharea Al Malik Abdulaziz", + "Tareeq Al Jawf", + "Sharea Al Amir" + ], + "Sharurah": [ + "Tareeq Sharurah", + "Sharea Al Amir", + "Tareeq Najran" + ], + "Taif": [ + "Sharea Al Hada", + "Tareeq Al Shafa", + "Sharea Khalid ibn Al Walid", + "Sharea Al Sadad" + ], + "Unayzah": [ + "Sharea Al Amir", + "Tareeq Buraydah", + "Sharea Al Washai" + ], + "Wadi Al Dawasir": [ + "Tareeq Al Wadi", + "Sharea Al Malik", + "Sharea Al Amir" + ], + "Yanbu": [ + "Tareeq Al Corniche", + "Sharea Al Sinaiyah", + "Sharea Al Madinah" + ] + }, + "postcode_format": "#####", + "address_formats": [ + "{building_number} {street}, {city} {postcode}", + "{street}, {city}, {state} {postcode}" + ], + "country": "Saudi Arabia", + "country_code": "SA", + "phone_area_codes": { + "Riyadh": [ + "011" + ], + "Makkah": [ + "012" + ], + "Madinah": [ + "014" + ], + "Eastern": [ + "013" + ], + "Qassim": [ + "016" + ], + "Asir": [ + "017" + ], + "Tabuk": [ + "014" + ], + "Hail": [ + "016" + ], + "Najran": [ + "017" + ], + "Jawf": [ + "014" + ], + "Northern Borders": [ + "014" + ], + "Baha": [ + "017" + ], + "Jizan": [ + "017" + ] + }, + "phone_format": "+966 {area_code} ### ####" +} diff --git a/pointblank/countries/data/SA/company.json b/pointblank/countries/data/SA/company.json new file mode 100644 index 000000000..9ae3d2253 --- /dev/null +++ b/pointblank/countries/data/SA/company.json @@ -0,0 +1,234 @@ +{ + "suffixes": [ + "LLC", + "Co.", + "WLL", + "Ltd.", + "CJSC", + "Holdings", + "Group", + "Corporation", + "International", + "Trading" + ], + "formats": [ + "{last_name} {suffix}", + "{adjective} {noun} {suffix}", + "{adjective} {noun}", + "{noun} {suffix}" + ], + "adjectives": [ + "Saudi", "Arabian", "National", "Royal", "United", + "Gulf", "First", "Premier", "Golden", "Global", + "International", "Modern", "Advanced", "Strategic", "Eastern", + "Western", "Central", "Grand", "Elite", "Al Mamlaka", + "Al Jazirah", "Riyadh", "Jeddah", "Makkah", "NEOM", + "Vision", "Future", "Digital", "Smart" + ], + "nouns": [ + "Bank", "Telecom", "Energy", "Oil", "Petroleum", + "Holdings", "Properties", "Aviation", "Retail", "Construction", + "Logistics", "Real Estate", "Insurance", "Finance", "Mining", + "Steel", "Hospitality", "Tourism", "Marine", "Development", + "Consulting", "Technology", "Healthcare", "Education", "Agriculture", + "Water", "Power", "Defense", "Industries", "Trading", + "Contracting", "Engineering", "Transport", "Media", "Investments" + ], + "well_known_companies": [ + { + "name": "Saudi Aramco", + "cities": ["Dhahran", "Riyadh", "Jeddah"] + }, + { + "name": "SABIC", + "cities": ["Riyadh", "Jubail"] + }, + { + "name": "Saudi Telecom Company", + "cities": ["Riyadh"] + }, + { + "name": "Al Rajhi Bank", + "cities": ["Riyadh"] + }, + { + "name": "Saudi National Bank", + "cities": ["Riyadh"] + }, + { + "name": "ACWA Power", + "cities": ["Riyadh"] + }, + { + "name": "Saudi Arabian Airlines", + "cities": ["Jeddah", "Riyadh"] + }, + { + "name": "Ma'aden", + "cities": ["Riyadh"] + }, + { + "name": "Almarai", + "cities": ["Riyadh"] + }, + { + "name": "Abdul Latif Jameel", + "cities": ["Jeddah"] + }, + { + "name": "Olayan Group", + "cities": ["Riyadh"] + }, + { + "name": "Savola Group", + "cities": ["Jeddah"] + }, + { + "name": "Jarir Marketing", + "cities": ["Riyadh"] + }, + { + "name": "Saudi Electricity Company", + "cities": ["Riyadh"] + }, + { + "name": "Bin Laden Group", + "cities": ["Jeddah"] + }, + { + "name": "Dar Al Arkan", + "cities": ["Riyadh"] + }, + { + "name": "Kingdom Holding Company", + "cities": ["Riyadh"] + }, + { + "name": "Panda Retail", + "cities": ["Riyadh", "Jeddah"] + }, + { + "name": "Mobily", + "cities": ["Riyadh"] + }, + { + "name": "Zain KSA", + "cities": ["Riyadh"] + } + ], + "jobs": [ + "Software Engineer", "Petroleum Engineer", "Civil Engineer", "Doctor", "Pharmacist", + "Accountant", "Financial Analyst", "Sales Executive", "Marketing Manager", "Teacher", + "Architect", "HR Manager", "Project Manager", "Nurse", "Lawyer", + "Data Analyst", "Bank Officer", "Chef", "Pilot", "Logistics Coordinator", + "Electrical Engineer", "Geologist", "Dentist", "Journalist", "Designer" + ], + "catch_phrase_adjectives": [ + "innovative", "reliable", "trusted", "dynamic", "leading", + "premier", "visionary", "sustainable", "strategic", "advanced", + "professional", "quality", "modern", "integrated", "world-class" + ], + "catch_phrase_nouns": [ + "solutions", "services", "innovations", "partnerships", "excellence", + "growth", "values", "performance", "platforms", "infrastructure", + "opportunities", "development", "technologies", "strategies" + ], + "catch_phrase_verbs": [ + "deliver", "create", "build", "provide", "enable", + "transform", "achieve", "empower", "drive", "inspire", + "accelerate", "optimize", "develop", "innovate", "implement" + ], + "catch_phrase_connector": "that", + "industries": [ + { + "name": "oil_and_gas", + "weight": 0.18, + "jobs": ["Petroleum Engineer", "Geologist", "Project Manager"], + "well_known": ["Saudi Aramco", "SABIC", "Ma'aden"], + "company_suffixes": ["Energy", "Petroleum", "Oil"], + "company_nouns": ["Energy", "Oil", "Petroleum", "Industries"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "finance", + "weight": 0.14, + "jobs": ["Financial Analyst", "Accountant", "Bank Officer"], + "well_known": ["Al Rajhi Bank", "Saudi National Bank"], + "company_suffixes": ["Bank", "Financial", "Capital", "Investments"], + "company_nouns": ["Finance", "Capital", "Investments"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "construction", + "weight": 0.12, + "jobs": ["Civil Engineer", "Architect"], + "well_known": ["Bin Laden Group"], + "company_suffixes": ["Contracting", "Construction", "Engineering"], + "company_nouns": ["Construction", "Engineering", "Development"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "technology", + "weight": 0.1, + "jobs": ["Software Engineer", "Data Analyst"], + "well_known": ["Saudi Telecom Company", "Mobily", "Zain KSA"], + "company_suffixes": ["Tech", "Digital", "Systems"], + "company_nouns": ["Technology", "Systems", "Digital"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "healthcare", + "weight": 0.08, + "jobs": ["Doctor", "Nurse", "Pharmacist", "Dentist"], + "well_known": [], + "company_suffixes": ["Medical", "Healthcare", "Pharma"], + "company_nouns": ["Healthcare", "Medical", "Pharma"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "retail", + "weight": 0.1, + "jobs": ["Sales Executive", "Marketing Manager"], + "well_known": ["Jarir Marketing", "Panda Retail", "Savola Group"], + "company_suffixes": ["Trading", "Retail", "Group"], + "company_nouns": ["Trading", "Retail", "Commerce"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "real_estate", + "weight": 0.08, + "jobs": ["Architect", "Project Manager"], + "well_known": ["Dar Al Arkan", "Kingdom Holding Company"], + "company_suffixes": ["Properties", "Real Estate", "Development"], + "company_nouns": ["Properties", "Real Estate", "Development"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "education", + "weight": 0.06, + "jobs": ["Teacher"], + "well_known": [], + "company_suffixes": [], + "company_nouns": [], + "company_formats": ["University of {city}", "{city} Academy"] + }, + { + "name": "logistics", + "weight": 0.08, + "jobs": ["Logistics Coordinator", "Pilot"], + "well_known": ["Saudi Arabian Airlines"], + "company_suffixes": ["Logistics", "Transport", "Marine"], + "company_nouns": ["Logistics", "Transport", "Aviation"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "agriculture", + "weight": 0.06, + "jobs": ["Logistics Coordinator"], + "well_known": ["Almarai"], + "company_suffixes": ["Agriculture", "Foods", "Dairy"], + "company_nouns": ["Agriculture", "Foods", "Farming"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + } + ] +} diff --git a/pointblank/countries/data/SA/internet.json b/pointblank/countries/data/SA/internet.json new file mode 100644 index 000000000..31a5f096d --- /dev/null +++ b/pointblank/countries/data/SA/internet.json @@ -0,0 +1,23 @@ +{ + "free_email_domains": [ + "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", + "outlook.sa", "live.com", "icloud.com", "mail.com", + "stc.com.sa", "mobily.com.sa" + ], + "tlds": [ + "sa", "com.sa", "net.sa", "org.sa", "gov.sa", "edu.sa", + "com", "net", "org", "io" + ], + "domain_words": [ + "saudi", "riyadh", "jeddah", "makkah", "gulf", "arabian", "mamlaka", + "tech", "digital", "online", "web", "media", "vision", "neom", + "smart", "future", "pro", "elite", "global", "mega", "super", "nexus" + ], + "user_agent_browsers": [ + "Chrome", "Firefox", "Safari", "Edge", "Opera" + ], + "user_agent_os": [ + "Windows NT 10.0", "Macintosh; Intel Mac OS X 10_15_7", "X11; Linux x86_64", + "iPhone; CPU iPhone OS 15_0", "Android 12" + ] +} diff --git a/pointblank/countries/data/SA/misc.json b/pointblank/countries/data/SA/misc.json new file mode 100644 index 000000000..b49cf9754 --- /dev/null +++ b/pointblank/countries/data/SA/misc.json @@ -0,0 +1,12 @@ +{ + "colors": [ + "red", "blue", "green", "yellow", "orange", + "purple", "pink", "brown", "black", "white", + "grey", "gold", "silver", "maroon", "navy", + "olive", "coral", "teal", "cyan", "magenta", + "lavender", "crimson", "indigo", "turquoise", "ivory" + ], + "currency_codes": ["SAR"], + "ssn_format": "#-####-####-#", + "license_plate_format": "??? ####" +} diff --git a/pointblank/countries/data/SA/person.json b/pointblank/countries/data/SA/person.json new file mode 100644 index 000000000..13ceaa613 --- /dev/null +++ b/pointblank/countries/data/SA/person.json @@ -0,0 +1,897 @@ +{ + "first_names": { + "male": { + "very_common": [ + "Mohammed", + "Abdullah", + "Abdulrahman", + "Fahad", + "Khalid", + "Saud", + "Sultan", + "Faisal", + "Turki", + "Nasser", + "Bandar", + "Salman", + "Hamad", + "Saad", + "Omar", + "Ali", + "Ahmed", + "Ibrahim", + "Yousef", + "Waleed", + "Mishal", + "Nawaf", + "Mazen", + "Tariq" + ], + "common": [ + "Abdulaziz", + "Abdulmalik", + "Abdulkarim", + "Abdulwahab", + "Abdulhadi", + "Abdulelah", + "Majed", + "Rashed", + "Bader", + "Saeed", + "Talal", + "Naif", + "Mishaal", + "Muhannad", + "Rakan", + "Thamer", + "Yasser", + "Ammar", + "Badr", + "Dhafer", + "Fawaz", + "Ghassan", + "Hazem", + "Jamal", + "Karim", + "Laith", + "Mansour", + "Nabil", + "Obaid", + "Qasim", + "Raed", + "Sami", + "Tawfiq", + "Wael", + "Ziyad", + "Adel", + "Bassam", + "Essam", + "Haitham", + "Imad", + "Khattab", + "Marwan", + "Nader", + "Osama", + "Rami", + "Shadi", + "Tamim", + "Wajih", + "Zaki" + ], + "uncommon": [ + "Amin", + "Bilal", + "Dakhil", + "Elyas", + "Farhan", + "Ghazi", + "Hamza", + "Idris", + "Jabir", + "Kamil", + "Luay", + "Mahdi", + "Nadir", + "Othman", + "Qais", + "Rafik", + "Safwan", + "Taha", + "Usama", + "Wajdi", + "Yasir", + "Zayd", + "Aqil", + "Badri", + "Dalil", + "Ehab", + "Firas", + "Habib", + "Ismail", + "Jawad", + "Khairy", + "Latif", + "Mazin", + "Nasir", + "Omran", + "Rasheed", + "Sabir", + "Tahir", + "Uthman", + "Wasim", + "Yahya", + "Zuhayr", + "Akram", + "Burhan", + "Dirar", + "Fadel", + "Ghalib", + "Husam", + "Ihsan", + "Jalal", + "Karam", + "Labib", + "Murad", + "Naji", + "Oqab", + "Qutaiba", + "Ridwan", + "Salih", + "Takiyuddin", + "Ubayd", + "Waqqas", + "Yaqub", + "Zarif", + "Anwar", + "Bashir", + "Dawud", + "Farid", + "Gibran", + "Hani", + "Issa" + ], + "rare": [ + "Aaban", + "Baahir", + "Daamin", + "Ehtisham", + "Fakhr", + "Ghadir", + "Hakam", + "Ibtihaj", + "Jandal", + "Kaysan", + "Labeed", + "Muhsin", + "Nuaym", + "Oways", + "Qadir", + "Ruwaid", + "Suhaib", + "Tayyib", + "Umair", + "Wafiq", + "Yamin", + "Zahid", + "Aasim", + "Bariq", + "Diyab", + "Fayyad", + "Ghaith", + "Hilal", + "Ikrimah", + "Junayd", + "Khuzaymah", + "Luqman", + "Muaz", + "Nawwaf", + "Qudamah", + "Ribhi", + "Sakhr", + "Tamam", + "Umar", + "Warid", + "Yazid", + "Zulfiqar", + "Abyan", + "Bushr", + "Dirgham", + "Fahmi", + "Ghannam", + "Husayn", + "Ilyas", + "Junaid", + "Khayr", + "Mundhir", + "Nuh", + "Qutb", + "Ruwayfi", + "Suhayb", + "Tufayl", + "Ubayy", + "Wadud", + "Yasar", + "Zubair", + "Adham", + "Burayd", + "Damis", + "Fath", + "Ghayth", + "Hamdan", + "Ishaq", + "Jibril", + "Khalaf", + "Mukhtar", + "Nizar", + "Qasid", + "Riyad", + "Sufyan", + "Talha", + "Uwais", + "Wathiq", + "Yunus", + "Zakariya", + "Aws", + "Bilqis", + "Durayd", + "Fudayl", + "Ghanim", + "Hakim", + "Irfan", + "Jarrah", + "Kinana", + "Malik", + "Nur", + "Rabi", + "Shuraih", + "Ukasha", + "Wisam", + "Yazan", + "Ziad" + ] + }, + "female": { + "very_common": [ + "Fatima", + "Noura", + "Sara", + "Maryam", + "Aisha", + "Haya", + "Reem", + "Lama", + "Dalal", + "Abeer", + "Maha", + "Huda", + "Salma", + "Wafa", + "Nadia", + "Layla", + "Amira", + "Rania", + "Dana", + "Lina", + "Joud", + "Ghada", + "Haifa", + "Asma" + ], + "common": [ + "Arwa", + "Basma", + "Dina", + "Eman", + "Fatin", + "Ghadeer", + "Hanadi", + "Inas", + "Jawahir", + "Khuloud", + "Latifa", + "Manal", + "Nahla", + "Olfa", + "Qamar", + "Rawia", + "Samira", + "Thikra", + "Umayma", + "Yasmin", + "Zainab", + "Afnan", + "Badriya", + "Duha", + "Elham", + "Farida", + "Halima", + "Iman", + "Jumana", + "Khadija", + "Lamia", + "Mariam", + "Najwa", + "Raghad", + "Sahar", + "Taghreed", + "Wedad", + "Yara", + "Zahra", + "Anoud", + "Budoor", + "Dimah", + "Fadwa", + "Hanan", + "Isra", + "Lubna", + "Mashael", + "Nawal", + "Ruba", + "Sumaya" + ], + "uncommon": [ + "Ahlam", + "Bushra", + "Daliya", + "Ebtisam", + "Fajr", + "Ghaida", + "Hayat", + "Itidal", + "Jawaher", + "Kamila", + "Lujain", + "Maysa", + "Nujud", + "Olfat", + "Qadria", + "Raneem", + "Sajida", + "Tala", + "Uzma", + "Waad", + "Yamama", + "Zumurrud", + "Alia", + "Buthaina", + "Dania", + "Esraa", + "Fidda", + "Hasna", + "Ibtisam", + "Juwairiya", + "Kulthum", + "Liyan", + "Mawada", + "Nihal", + "Omaima", + "Rawdah", + "Shahd", + "Thurayya", + "Widad", + "Yasira", + "Zeena", + "Amal", + "Banan", + "Dunia", + "Faiza", + "Ghufran", + "Hadeel", + "Jumanah", + "Khawla", + "Lamees", + "Muneera", + "Nahid", + "Razan", + "Suhad", + "Tamadur", + "Wajd", + "Yusra", + "Zulfa", + "Aseel", + "Basmah", + "Doha", + "Firdaws", + "Hajar", + "Istibra", + "Kawkab", + "Luluah", + "Maisoon", + "Nusaybah", + "Ruqayyah" + ], + "rare": [ + "Adeeba", + "Bahiga", + "Chafiqa", + "Dalilah", + "Ezdihar", + "Fadhila", + "Ghazala", + "Hadiya", + "Iftikar", + "Jawna", + "Kaukab", + "Lab'ah", + "Mahira", + "Nabilah", + "Qadriya", + "Rufaydah", + "Sabriya", + "Tabarak", + "Udaina", + "Wardah", + "Yaqoot", + "Zakia", + "Azhar", + "Birra", + "Dhikra", + "Fakhira", + "Ghaniya", + "Hurra", + "Inaya", + "Jubah", + "Kashifah", + "Latifah", + "Mufidah", + "Nayyirah", + "Rayhanah", + "Safiyyah", + "Tahani", + "Umayyah", + "Wasimah", + "Yamina", + "Zubaydah", + "Aminah", + "Baraka", + "Durra", + "Fadheelah", + "Ghayda", + "Habiba", + "Ilhaam", + "Jawhara", + "Khayrat", + "Labibah", + "Muhjah", + "Nujood", + "Rabab", + "Sukaynah", + "Tasneem", + "Umm", + "Wijdan", + "Yumn", + "Zaynab", + "Afra", + "Balsam", + "Darakhshan", + "Firdaus", + "Gharam", + "Hala", + "Insaf", + "Jinaan", + "Kaniz", + "Lujaina", + "Madihah", + "Naseem", + "Rukhsana", + "Siddiqah", + "Taqwa", + "Ubab", + "Warda", + "Yasmine", + "Zarqa", + "Ashwaq", + "Bahiyyah", + "Daneen", + "Fawziyyah", + "Ghaliyah", + "Haniyyah", + "Iffat", + "Janan", + "Kalimah", + "Lateefah", + "Muznah", + "Nuha", + "Rahaf", + "Sawdah", + "Thana", + "Umniyyah", + "Wissal", + "Yusriyyah", + "Zulfah" + ] + }, + "neutral": { + "very_common": [ + "Noor", + "Farah" + ], + "common": [ + "Rehan", + "Salam" + ], + "uncommon": [ + "Rawda", + "Taym", + "Watan", + "Jinan", + "Sidra", + "Shams", + "Najm" + ], + "rare": [ + "Bahr", + "Rimal", + "Sarab", + "Layali", + "Duja", + "Sanabil", + "Asil", + "Khuzama" + ] + } + }, + "last_names": { + "very_common": [ + "Al-Saud", + "Al-Rashid", + "Al-Dosari", + "Al-Qahtani", + "Al-Ghamdi", + "Al-Zahrani", + "Al-Harbi", + "Al-Otaibi", + "Al-Mutairi", + "Al-Shehri", + "Al-Ahmadi", + "Al-Subaie", + "Al-Malki", + "Al-Balawi", + "Al-Enezi", + "Al-Shammari", + "Al-Tamimi", + "Al-Hajri", + "Al-Yami", + "Al-Dawsari", + "Al-Thubaiti", + "Al-Asiri", + "Al-Shahrani", + "Al-Khaldi", + "Al-Juhani", + "Al-Sulami", + "Al-Bishi", + "Al-Hazmi", + "Al-Harthy", + "Al-Fifi", + "Al-Omari", + "Al-Dossary", + "Al-Qurashi", + "Al-Khathami", + "Al-Bogami", + "Al-Marri", + "Al-Ajmi", + "Al-Anazi", + "Al-Ruwaili", + "Al-Shamrani", + "Al-Sehli", + "Al-Thaqafi", + "Al-Hudhali", + "Al-Kinani", + "Al-Tayar", + "Al-Mohammadi", + "Al-Fayez" + ], + "common": [ + "Al-Ahmad", + "Al-Baker", + "Al-Fadhel", + "Al-Ghazal", + "Al-Hamid", + "Al-Ibrahim", + "Al-Jabbar", + "Al-Karim", + "Al-Latif", + "Al-Majid", + "Al-Nasser", + "Al-Obaid", + "Al-Qasim", + "Al-Rahman", + "Al-Saleh", + "Al-Turki", + "Al-Uthmani", + "Al-Walid", + "Al-Yamani", + "Al-Zaidi", + "Al-Badrani", + "Al-Dakhil", + "Al-Faraj", + "Al-Hazza", + "Al-Idris", + "Al-Jumaah", + "Al-Khater", + "Al-Luhaidan", + "Al-Mansour", + "Al-Nuaimi", + "Al-Othaim", + "Al-Qadi", + "Al-Rabiah", + "Al-Saqabi", + "Al-Taher", + "Al-Uthaymin", + "Al-Wahbi", + "Al-Yousuf", + "Al-Zamil", + "Al-Barrak", + "Al-Duhaim", + "Al-Fawzan", + "Al-Habib", + "Al-Issa", + "Al-Jubair", + "Al-Khelaifi", + "Al-Lihyani", + "Al-Mishari", + "Al-Namlah", + "Al-Olayan", + "Al-Ruwais", + "Al-Sabt", + "Al-Tuwairqi", + "Al-Uqla", + "Al-Wabil", + "Al-Yaseen", + "Al-Zamel", + "Al-Buainain", + "Al-Fadl", + "Al-Haydari", + "Al-Jabarti", + "Al-Kurdi", + "Al-Luhaib", + "Al-Muammar", + "Al-Nimr", + "Al-Oraini", + "Al-Rajhi", + "Al-Sudairi", + "Al-Tarifi", + "Al-Umari", + "Al-Wadie", + "Al-Youbi", + "Al-Zaid", + "Al-Bassam", + "Al-Dihan", + "Al-Fulaij", + "Al-Hamdan", + "Al-Jasir", + "Al-Kuwari", + "Al-Madani", + "Al-Nufaie", + "Al-Raddadi", + "Al-Sharif", + "Al-Tayeb", + "Al-Usaimi", + "Al-Wuhaibi", + "Al-Yaqoub", + "Al-Zubair" + ], + "uncommon": [ + "Bajunaid", + "Bugshan", + "Dabbagh", + "Fakieh", + "Gosaibi", + "Haddad", + "Juffali", + "Kanoo", + "Mahfouz", + "Nassif", + "Olayan", + "Pharaon", + "Rajhi", + "Shobokshi", + "Tunisi", + "Zamil", + "Binzagr", + "Dallah", + "Fitaihi", + "Habib", + "Jamjoom", + "Kaki", + "Maimani", + "Naghi", + "Qabbani", + "Salahuddin", + "Tabba", + "Zahid", + "Baeshen", + "Bakhsh", + "Chaudhry", + "Daghistani", + "Faqeeh", + "Gazzaz", + "Haykel", + "Idris", + "Jokhdar", + "Khashoggi", + "Lakhmani", + "Madani", + "Othman", + "Qurayshi", + "Rawas", + "Sairafi", + "Turkistani", + "Ujaimi", + "Wazzan", + "Yamani", + "Zaydi", + "Baroum", + "Bukhari", + "Darwish", + "Fallatah", + "Ghazzawi", + "Hindi", + "Iskandar", + "Jastaniah", + "Kayal", + "Mufti", + "Nakhlawi", + "Qutbi", + "Safar", + "Tashkandi", + "Urabi", + "Wahba", + "Yousuf", + "Zainy", + "Attar", + "Batterjee", + "Dahlawi", + "Faidhi", + "Gannam", + "Hawsawi", + "Idrisi", + "Jahdali", + "Kudsi", + "Makki", + "Nasseef", + "Oufi", + "Rayes", + "Sibaai", + "Tarabzouni", + "Uthaymeen", + "Wasel", + "Zunni", + "Ashoor", + "Bewley", + "Damanhouri", + "Edrees" + ], + "rare": [ + "Abaalkhail", + "Bajaber", + "Chenganakkattil", + "Dubaisi", + "Felemban", + "Gazzar", + "Hawshabi", + "Itani", + "Jarallah", + "Kuwaiti", + "Labban", + "Mazrui", + "Nakhli", + "Qarooni", + "Rasheedi", + "Saeedi", + "Tahlawi", + "Uthayri", + "Waqas", + "Yemeni", + "Zubaidi", + "Abahussain", + "Bafail", + "Dameer", + "Fakeeh", + "Ghunaim", + "Habashi", + "Ikhwan", + "Judaibi", + "Kinsara", + "Lawati", + "Mirdad", + "Nufayi", + "Qassab", + "Rimawi", + "Sahli", + "Tabbara", + "Uraini", + "Waheeb", + "Yaseen", + "Zummo", + "Ansari", + "Bakheet", + "Dossari", + "Farsi", + "Ghanmi", + "Hariri", + "Idriss", + "Janbi", + "Khonaini", + "Luqmani", + "Mukhallad", + "Nawwab", + "Qunbur", + "Rashdan", + "Samman", + "Tibah", + "Umrani", + "Wardak", + "Yateem", + "Zahrawi", + "Akbar", + "Barayan", + "Dawish", + "Fassi", + "Ghunaym", + "Hindawi", + "Jabri", + "Kudwah", + "Madkhali", + "Nahdi", + "Oujaimi", + "Raddad", + "Shutaywi", + "Turkmani", + "Usayli", + "Wuhayshi", + "Yamami", + "Zaylaie", + "Afaleq", + "Balkhair", + "Daghreeri", + "Falaqi", + "Ghumlas", + "Hakami", + "Ithawi", + "Junaidel", + "Kassab", + "Luhaybi", + "Mudhhi", + "Nughaimshi", + "Qifari", + "Ruwaished", + "Sawati", + "Tawhari", + "Udaini", + "Wahhas", + "Yusufi", + "Zahrani" + ] + }, + "name_formats": [ + "{first_name} {last_name}", + "{first_name} bin {first_name} {last_name}", + "{prefix} {first_name} {last_name}" + ], + "prefixes": { + "male": [ + "Sheikh", + "Dr.", + "Prof.", + "Eng." + ], + "female": [ + "Sheikha", + "Dr.", + "Prof.", + "Eng." + ], + "neutral": [ + "Dr.", + "Prof.", + "Eng." + ] + }, + "suffixes": [ + "PhD", + "MD", + "MBA", + "Eng." + ] +} diff --git a/pointblank/countries/data/SA/text.json b/pointblank/countries/data/SA/text.json new file mode 100644 index 000000000..78fc28182 --- /dev/null +++ b/pointblank/countries/data/SA/text.json @@ -0,0 +1,48 @@ +{ + "words": [ + "the", "and", "for", "are", "but", "not", "you", "all", "can", "had", + "her", "was", "one", "our", "out", "day", "get", "has", "him", "his", + "how", "its", "may", "new", "now", "old", "see", "two", "way", "who", + "boy", "did", "own", "say", "she", "too", "use", "time", "very", "when", + "come", "could", "make", "like", "back", "only", "over", "such", "year", "into", + "just", "most", "also", "been", "call", "from", "have", "more", "made", "find", + "long", "down", "look", "many", "then", "them", "well", "would", "about", "after", + "being", "first", "great", "little", "might", "never", "other", "right", "still", "their", + "there", "these", "thing", "think", "those", "three", "today", "under", "water", "where", + "which", "while", "world", "write", "years" + ], + "sentence_patterns": [ + "The {adjective} {noun} {verb} the {adjective} {noun}.", + "A {noun} {verb} {adverb} in the {noun}.", + "{proper_noun} {verb} the {adjective} {noun} {adverb}." + ], + "adjectives": [ + "quick", "brown", "lazy", "slow", "big", "small", "old", "new", "young", + "bright", "dark", "loud", "quiet", "hot", "cold", "warm", "cool", "soft", "hard", + "smooth", "rough", "clean", "dirty", "happy", "sad", "angry", "calm", "brave", + "shy", "wise", "kind", "mean", "rich", "poor", "strong", "weak", + "tall", "short", "wide", "narrow", "deep", "flat", "thick", "thin", "heavy", + "light", "full", "empty", "open", "closed", "wet", "dry", "fresh", "stale" + ], + "nouns": [ + "dog", "cat", "bird", "fish", "tree", "house", "car", "book", "table", "chair", + "door", "window", "street", "river", "mountain", "sea", "sky", "sun", "moon", + "star", "cloud", "rain", "snow", "wind", "fire", "water", "earth", "air", + "stone", "wood", "metal", "glass", "paper", "cloth", "food", "drink", "money", + "time", "place", "person", "child", "man", "woman", "boy", "girl", "friend", + "family", "school", "work", "city", "country", "world", "life", "day", "night", + "morning", "evening", "week", "month", "year", "story", "song", "game", "sport" + ], + "verbs": [ + "runs", "jumps", "walks", "talks", "sees", "hears", "feels", "thinks", "knows", + "wants", "needs", "likes", "loves", "hates", "finds", "gives", "takes", "makes", + "says", "tells", "asks", "answers", "helps", "works", "plays", "reads", "writes", + "draws", "sings", "dances", "cooks", "eats", "drinks", "sleeps", "wakes", "opens", + "closes", "begins", "finishes", "catches", "stops", "moves", "stays", "comes", "goes" + ], + "adverbs": [ + "quickly", "slowly", "carefully", "happily", "sadly", "loudly", "quietly", + "easily", "hardly", "always", "never", "often", "sometimes", "usually", + "really", "very", "quite", "almost", "already", "still", "just", "only" + ] +} diff --git a/pointblank/countries/data/UA/address.json b/pointblank/countries/data/UA/address.json new file mode 100644 index 000000000..d1451a6da --- /dev/null +++ b/pointblank/countries/data/UA/address.json @@ -0,0 +1,635 @@ +{ + "locations": { + "very_common": [ + { + "city": "Kyiv", + "state": "Kyiv City", + "state_abbr": "KV", + "postcode_prefix": "01", + "lat_min": 50.35, + "lat_max": 50.55, + "lon_min": 30.35, + "lon_max": 30.75 + }, + { + "city": "Kharkiv", + "state": "Kharkivska", + "state_abbr": "KH", + "postcode_prefix": "61", + "lat_min": 49.9, + "lat_max": 50.08, + "lon_min": 36.15, + "lon_max": 36.4 + }, + { + "city": "Odesa", + "state": "Odeska", + "state_abbr": "OD", + "postcode_prefix": "65", + "lat_min": 46.4, + "lat_max": 46.52, + "lon_min": 30.65, + "lon_max": 30.8 + }, + { + "city": "Dnipro", + "state": "Dnipropetrovska", + "state_abbr": "DP", + "postcode_prefix": "49", + "lat_min": 48.4, + "lat_max": 48.52, + "lon_min": 34.9, + "lon_max": 35.1 + }, + { + "city": "Lviv", + "state": "Lvivska", + "state_abbr": "LV", + "postcode_prefix": "79", + "lat_min": 49.8, + "lat_max": 49.9, + "lon_min": 23.95, + "lon_max": 24.1 + }, + { + "city": "Zaporizhzhia", + "state": "Zaporizka", + "state_abbr": "ZP", + "postcode_prefix": "69", + "lat_min": 47.8, + "lat_max": 47.9, + "lon_min": 35.1, + "lon_max": 35.25 + }, + { + "city": "Kryvyi Rih", + "state": "Dnipropetrovska", + "state_abbr": "DP", + "postcode_prefix": "50", + "lat_min": 47.88, + "lat_max": 47.98, + "lon_min": 33.32, + "lon_max": 33.45 + }, + { + "city": "Mykolaiv", + "state": "Mykolaivska", + "state_abbr": "MK", + "postcode_prefix": "54", + "lat_min": 46.92, + "lat_max": 47.0, + "lon_min": 31.95, + "lon_max": 32.08 + }, + { + "city": "Vinnytsia", + "state": "Vinnytska", + "state_abbr": "VN", + "postcode_prefix": "21", + "lat_min": 49.2, + "lat_max": 49.27, + "lon_min": 28.43, + "lon_max": 28.53 + }, + { + "city": "Poltava", + "state": "Poltavska", + "state_abbr": "PL", + "postcode_prefix": "36", + "lat_min": 49.55, + "lat_max": 49.62, + "lon_min": 34.5, + "lon_max": 34.6 + } + ], + "common": [ + { + "city": "Chernihiv", + "state": "Chernihivska", + "state_abbr": "CH", + "postcode_prefix": "14", + "lat_min": 51.48, + "lat_max": 51.52, + "lon_min": 31.27, + "lon_max": 31.32 + }, + { + "city": "Kherson", + "state": "Khersonska", + "state_abbr": "KS", + "postcode_prefix": "73", + "lat_min": 46.62, + "lat_max": 46.68, + "lon_min": 32.58, + "lon_max": 32.66 + }, + { + "city": "Cherkasy", + "state": "Cherkaska", + "state_abbr": "CK", + "postcode_prefix": "18", + "lat_min": 49.42, + "lat_max": 49.47, + "lon_min": 32.03, + "lon_max": 32.1 + }, + { + "city": "Zhytomyr", + "state": "Zhytomyrska", + "state_abbr": "ZT", + "postcode_prefix": "10", + "lat_min": 50.24, + "lat_max": 50.28, + "lon_min": 28.65, + "lon_max": 28.7 + }, + { + "city": "Sumy", + "state": "Sumska", + "state_abbr": "SM", + "postcode_prefix": "40", + "lat_min": 50.89, + "lat_max": 50.94, + "lon_min": 34.76, + "lon_max": 34.82 + }, + { + "city": "Rivne", + "state": "Rivnenska", + "state_abbr": "RV", + "postcode_prefix": "33", + "lat_min": 50.6, + "lat_max": 50.64, + "lon_min": 26.23, + "lon_max": 26.28 + }, + { + "city": "Ivano-Frankivsk", + "state": "Ivano-Frankivska", + "state_abbr": "IF", + "postcode_prefix": "76", + "lat_min": 48.9, + "lat_max": 48.94, + "lon_min": 24.7, + "lon_max": 24.74 + }, + { + "city": "Ternopil", + "state": "Ternopilska", + "state_abbr": "TP", + "postcode_prefix": "46", + "lat_min": 49.53, + "lat_max": 49.57, + "lon_min": 25.57, + "lon_max": 25.62 + }, + { + "city": "Lutsk", + "state": "Volynska", + "state_abbr": "VO", + "postcode_prefix": "43", + "lat_min": 50.73, + "lat_max": 50.77, + "lon_min": 25.3, + "lon_max": 25.35 + }, + { + "city": "Uzhhorod", + "state": "Zakarpatska", + "state_abbr": "ZK", + "postcode_prefix": "88", + "lat_min": 48.6, + "lat_max": 48.63, + "lon_min": 22.28, + "lon_max": 22.32 + } + ], + "uncommon": [ + { + "city": "Khmelnytskyi", + "state": "Khmelnytska", + "state_abbr": "KM", + "postcode_prefix": "29", + "lat_min": 49.4, + "lat_max": 49.44, + "lon_min": 26.96, + "lon_max": 27.0 + }, + { + "city": "Kropyvnytskyi", + "state": "Kirovohradska", + "state_abbr": "KR", + "postcode_prefix": "25", + "lat_min": 48.5, + "lat_max": 48.53, + "lon_min": 32.25, + "lon_max": 32.28 + }, + { + "city": "Bila Tserkva", + "state": "Kyivska", + "state_abbr": "KO", + "postcode_prefix": "09", + "lat_min": 49.78, + "lat_max": 49.82, + "lon_min": 30.1, + "lon_max": 30.14 + }, + { + "city": "Kramatorsk", + "state": "Donetska", + "state_abbr": "DT", + "postcode_prefix": "84", + "lat_min": 48.72, + "lat_max": 48.75, + "lon_min": 37.55, + "lon_max": 37.6 + }, + { + "city": "Mukachevo", + "state": "Zakarpatska", + "state_abbr": "ZK", + "postcode_prefix": "89", + "lat_min": 48.43, + "lat_max": 48.46, + "lon_min": 22.7, + "lon_max": 22.73 + }, + { + "city": "Drohobych", + "state": "Lvivska", + "state_abbr": "LV", + "postcode_prefix": "82", + "lat_min": 49.33, + "lat_max": 49.36, + "lon_min": 23.49, + "lon_max": 23.52 + }, + { + "city": "Berdychiv", + "state": "Zhytomyrska", + "state_abbr": "ZT", + "postcode_prefix": "13", + "lat_min": 49.88, + "lat_max": 49.91, + "lon_min": 28.57, + "lon_max": 28.6 + }, + { + "city": "Nikopol", + "state": "Dnipropetrovska", + "state_abbr": "DP", + "postcode_prefix": "53", + "lat_min": 47.56, + "lat_max": 47.58, + "lon_min": 34.38, + "lon_max": 34.4 + } + ], + "rare": [ + { + "city": "Kovel", + "state": "Volynska", + "state_abbr": "VO", + "postcode_prefix": "45", + "lat_min": 51.2, + "lat_max": 51.23, + "lon_min": 24.68, + "lon_max": 24.71 + }, + { + "city": "Truskavets", + "state": "Lvivska", + "state_abbr": "LV", + "postcode_prefix": "82", + "lat_min": 49.27, + "lat_max": 49.29, + "lon_min": 23.5, + "lon_max": 23.52 + }, + { + "city": "Boryspil", + "state": "Kyivska", + "state_abbr": "KO", + "postcode_prefix": "08", + "lat_min": 50.34, + "lat_max": 50.36, + "lon_min": 30.94, + "lon_max": 30.96 + }, + { + "city": "Nizhyn", + "state": "Chernihivska", + "state_abbr": "CH", + "postcode_prefix": "16", + "lat_min": 51.04, + "lat_max": 51.06, + "lon_min": 31.88, + "lon_max": 31.9 + }, + { + "city": "Kolomyia", + "state": "Ivano-Frankivska", + "state_abbr": "IF", + "postcode_prefix": "78", + "lat_min": 48.52, + "lat_max": 48.54, + "lon_min": 25.03, + "lon_max": 25.05 + } + ] + }, + "streets_by_city": { + "Kyiv": [ + "Khreshchatyk", + "Volodymyrska", + "Hrushevskoho", + "Saksahanskoho", + "Shevchenka", + "Velyka Vasylkivska", + "Prorizna", + "Mykhailivska", + "Yaroslaviv Val", + "Andriivskyi Uzviz", + "Instytutska", + "Bankova", + "Lysenka", + "Horodetskoho", + "Kostelna", + "Desiatynna", + "Mykilsko-Slobidska", + "Brovarskyi Prospekt", + "Peremohy Prospekt", + "Bohomoltsia", + "Sichovykh Striltsiv", + "Antovycha" + ], + "Kharkiv": [ + "Sumska", + "Pushkinska", + "Nauky Prospekt", + "Heroiv Kharkova", + "Moskovskyi Prospekt", + "Haharina Prospekt", + "Poltavskyi Shliakh", + "Klochkivska", + "Shevchenko", + "Universytetska", + "Akademika Pavlova", + "Hvardiytsiv Shyronintsiv" + ], + "Odesa": [ + "Derybasivska", + "Pushkinska", + "Rishelievska", + "Kanatna", + "Velyka Arnautska", + "Frantsuzky Bulvar", + "Hretska", + "Katerynyska", + "Preobrazhenska", + "Bunina", + "Genuezka", + "Havanna" + ], + "Dnipro": [ + "Yavornytskogo Prospekt", + "Haharina Prospekt", + "Kirova Prospekt", + "Naberezhna Peremohy", + "Kosmichna", + "Naberezhna Lenina", + "Robochi", + "Kalynova", + "Heroiv Stalinhrada" + ], + "Lviv": [ + "Rynok Ploshcha", + "Svobody Prospekt", + "Shevchenka Prospekt", + "Horodotska", + "Lychakivska", + "Franka", + "Zelena", + "Kopernika", + "Doroshenko", + "Vynnychenka", + "Bandera", + "Sheptytskykh" + ], + "Zaporizhzhia": [ + "Sobornyi Prospekt", + "Metalurhiv Prospekt", + "Lenina Prospekt", + "Peremogy", + "Nezalezhnosti" + ], + "Vinnytsia": [ + "Soborna", + "Keletska", + "Pyrogova", + "Kosmonavtiv Prospekt", + "Khmelnytske Shose" + ], + "Poltava": [ + "Yevropeyska", + "Shevchenka", + "Nebesnoi Sotni", + "Stritenska", + "Zinkivska" + ], + "Berdychiv": [ + "Vulytsia Yevropeiska", + "Vulytsia Zhytomyrska", + "Prospekt Myru" + ], + "Bila Tserkva": [ + "Bulvar Oleksandriiskyi", + "Vulytsia Yaroslava Mudroho", + "Vulytsia Shevchenka" + ], + "Boryspil": [ + "Vulytsia Kyivskyi Shliakh", + "Vulytsia Holovata", + "Prospekt Yevropy" + ], + "Cherkasy": [ + "Bulvar Shevchenka", + "Vulytsia Khreshchatyk", + "Vulytsia Hromova" + ], + "Chernihiv": [ + "Vulytsia Shevchenka", + "Prospekt Myru", + "Vulytsia Hetmana Polubotka" + ], + "Drohobych": [ + "Vulytsia Hrushevska", + "Vulytsia Shevchenka", + "Vulytsia Ivana Franka" + ], + "Ivano-Frankivsk": [ + "Vulytsia Nezalezhnosti", + "Vulytsia Halytska", + "Vulytsia Shevchenka", + "Vulytsia Hetmana Mazepy" + ], + "Kherson": [ + "Prospekt Ushakova", + "Vulytsia Perekopska", + "Vulytsia Universytetska" + ], + "Khmelnytskyi": [ + "Vulytsia Proskurivska", + "Vulytsia Podilska", + "Vulytsia Shevchenka" + ], + "Kolomyia": [ + "Vulytsia Teatralna", + "Vulytsia Hrushevskoho", + "Vulytsia Mazepy" + ], + "Kovel": [ + "Vulytsia Nezalezhnosti", + "Vulytsia Hrushevskoho", + "Vulytsia Brestska" + ], + "Kramatorsk": [ + "Vulytsia Shevchenka", + "Prospekt Myru", + "Vulytsia Mashynobudivnykiv" + ], + "Kropyvnytskyi": [ + "Vulytsia Velyka Perspektyvna", + "Vulytsia Shevchenka", + "Prospekt Universytetskyi" + ], + "Kryvyi Rih": [ + "Prospekt Metalurhiv", + "Vulytsia Poshtovyi", + "Vulytsia Heroiv ATO" + ], + "Lutsk": [ + "Prospekt Voli", + "Vulytsia Lesi Ukrainky", + "Vulytsia Shevchenka" + ], + "Mukachevo": [ + "Vulytsia Dukhnoryvcha", + "Ploshcha Kyryla i Metodiya", + "Vulytsia Shevchenka" + ], + "Mykolaiv": [ + "Prospekt Tsentralnyi", + "Vulytsia Admiralska", + "Vulytsia Velyka Morska" + ], + "Nikopol": [ + "Prospekt Trubnykov", + "Vulytsia Shevchenka", + "Vulytsia Elektromtalna" + ], + "Nizhyn": [ + "Vulytsia Shevchenka", + "Vulytsia Hoholivska", + "Vulytsia Moskovska" + ], + "Rivne": [ + "Vulytsia Soborna", + "Vulytsia Stepana Bandery", + "Prospekt Myru" + ], + "Sumy": [ + "Vulytsia Soborna", + "Vulytsia Petropavlivska", + "Vulytsia Kharkivska" + ], + "Ternopil": [ + "Vulytsia Ruska", + "Bulvar Shevchenka", + "Vulytsia Zamkova" + ], + "Truskavets": [ + "Vulytsia Shevchenka", + "Vulytsia Drohobycha", + "Bulvar Nezalezhnosti" + ], + "Uzhhorod": [ + "Vulytsia Korzo", + "Naberezhna Nezalezhnosti", + "Vulytsia Shevchenka" + ], + "Zhytomyr": [ + "Vulytsia Kyivska", + "Vulytsia Velyka Berdychivska", + "Prospekt Myru" + ] + }, + "postcode_format": "#####", + "address_formats": [ + "vul. {street} {building_number}, {city}, {state}, {postcode}", + "prosp. {street} {building_number}, {city}, {postcode}" + ], + "country": "Ukraine", + "country_code": "UA", + "phone_area_codes": { + "Kyiv City": [ + "044" + ], + "Kharkivska": [ + "057" + ], + "Odeska": [ + "048" + ], + "Dnipropetrovska": [ + "056" + ], + "Lvivska": [ + "032" + ], + "Zaporizka": [ + "061" + ], + "Mykolaivska": [ + "051" + ], + "Vinnytska": [ + "043" + ], + "Poltavska": [ + "053" + ], + "Chernihivska": [ + "046" + ], + "Khersonska": [ + "055" + ], + "Cherkaska": [ + "047" + ], + "Zhytomyrska": [ + "041" + ], + "Sumska": [ + "054" + ], + "Rivnenska": [ + "036" + ], + "Ivano-Frankivska": [ + "034" + ], + "Ternopilska": [ + "035" + ], + "Volynska": [ + "033" + ], + "Zakarpatska": [ + "031" + ] + }, + "phone_format": "+380 ({area_code}) ###-##-##" +} diff --git a/pointblank/countries/data/UA/company.json b/pointblank/countries/data/UA/company.json new file mode 100644 index 000000000..20c17b12e --- /dev/null +++ b/pointblank/countries/data/UA/company.json @@ -0,0 +1,236 @@ +{ + "suffixes": [ + "TOV", + "PP", + "AT", + "PAT", + "PrAT", + "KT", + "FOP", + "Group", + "Holdings", + "Corporation" + ], + "formats": [ + "{last_name} {suffix}", + "{last_name} ta {last_name}", + "{adjective} {noun} {suffix}", + "{adjective} {noun}", + "{last_name} {noun}" + ], + "adjectives": [ + "Ukrainska", "Kyivska", "Natsionalna", "Derzhavna", "Skhidna", + "Zakhidna", "Pivdenna", "Pivnichna", "Tsentralna", "Nova", + "Persha", "Yedyna", "Obiednana", "Mizhnarodna", "Suchasna", + "Innovatsiyna", "Stratehichna", "Premialna", "Elitna", "Hlobalna", + "Universalna", "Rehionalna", "Promyslova", "Tekhnichna", + "Tsyfrova", "Dynamichna", "Provida", "Vyshcha" + ], + "nouns": [ + "Rishennia", "Systemy", "Tekhnolohii", "Industriya", "Posluhy", + "Konsaltynh", "Upravlinnia", "Rozrobka", "Menedzhment", "Marketynh", + "Prohramne Zabezpechennia", "Merezhi", "Bezpeka", "Analityka", + "Dani", "Doslidzhennia", "Tekhnika", "Vyrobnytstvo", "Budivnytstvo", + "Nerukhomost", "Strakhuvannia", "Okhorona Zdorovya", "Lohistyka", + "Transport", "Enerhiya", "Resursy", "Materialy", "Produkty", + "Torhivlia", "Zviazok", "Media", "Finansy", "Investytsii", + "Ahropromkompleks", "Metalurhiya" + ], + "well_known_companies": [ + { + "name": "Naftogaz", + "cities": ["Kyiv"] + }, + { + "name": "Ukrzaliznytsia", + "cities": ["Kyiv"] + }, + { + "name": "Ukrposhta", + "cities": ["Kyiv"] + }, + { + "name": "PrivatBank", + "cities": ["Dnipro", "Kyiv"] + }, + { + "name": "Metinvest", + "cities": ["Kyiv", "Zaporizhzhia"] + }, + { + "name": "DTEK", + "cities": ["Kyiv"] + }, + { + "name": "Roshen", + "cities": ["Kyiv", "Vinnytsia"] + }, + { + "name": "Kernel", + "cities": ["Kyiv"] + }, + { + "name": "MHP", + "cities": ["Kyiv"] + }, + { + "name": "Ukrtelecom", + "cities": ["Kyiv"] + }, + { + "name": "Lifecell", + "cities": ["Kyiv"] + }, + { + "name": "Kyivstar", + "cities": ["Kyiv"] + }, + { + "name": "Epicentr", + "cities": ["Kyiv"] + }, + { + "name": "Nova Poshta", + "cities": ["Kyiv", "Kharkiv"] + }, + { + "name": "SoftServe", + "cities": ["Lviv", "Kyiv"] + }, + { + "name": "GlobalLogic Ukraine", + "cities": ["Kyiv", "Lviv", "Kharkiv"] + }, + { + "name": "EPAM Ukraine", + "cities": ["Kyiv", "Kharkiv", "Lviv"] + }, + { + "name": "Ciklum", + "cities": ["Kyiv", "Kharkiv", "Dnipro"] + }, + { + "name": "Interpipe", + "cities": ["Dnipro"] + }, + { + "name": "Ferrexpo", + "cities": ["Kyiv", "Poltava"] + } + ], + "jobs": [ + "Software Developer", "Accountant", "Civil Engineer", "Teacher", "Doctor", + "Lawyer", "Marketing Manager", "Sales Manager", "Agronomist", "Electrician", + "Mechanic", "Pharmacist", "Nurse", "Architect", "Financial Analyst", + "Project Manager", "Data Analyst", "HR Manager", "Logistics Coordinator", "Chef", + "Journalist", "Designer", "Translator", "Dentist", "Veterinarian" + ], + "catch_phrase_adjectives": [ + "innovative", "reliable", "professional", "dynamic", "leading", + "modern", "trusted", "advanced", "strategic", "premier", + "efficient", "quality", "sustainable", "cutting-edge", "proven" + ], + "catch_phrase_nouns": [ + "solutions", "services", "technologies", "innovations", "platforms", + "systems", "strategies", "partnerships", "excellence", "results", + "growth", "quality", "performance", "development" + ], + "catch_phrase_verbs": [ + "deliver", "create", "build", "provide", "enable", + "transform", "optimize", "drive", "achieve", "empower", + "inspire", "accelerate", "innovate", "develop", "implement" + ], + "catch_phrase_connector": "that", + "industries": [ + { + "name": "technology", + "weight": 0.16, + "jobs": ["Software Developer", "Data Analyst", "Project Manager"], + "well_known": ["SoftServe", "GlobalLogic Ukraine", "EPAM Ukraine", "Ciklum", "Kyivstar"], + "company_suffixes": ["Tech", "Software", "Digital", "IT"], + "company_nouns": ["Tekhnolohii", "Systemy", "Prohramne Zabezpechennia", "Dani"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {noun}"] + }, + { + "name": "energy", + "weight": 0.14, + "jobs": ["Civil Engineer", "Electrician", "Mechanic"], + "well_known": ["Naftogaz", "DTEK"], + "company_suffixes": ["Enerho", "Haz", "Nafta"], + "company_nouns": ["Enerhiya", "Resursy", "Vyrobnytstvo"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "finance", + "weight": 0.12, + "jobs": ["Financial Analyst", "Accountant"], + "well_known": ["PrivatBank"], + "company_suffixes": ["Bank", "Finans", "Investytsii"], + "company_nouns": ["Finansy", "Investytsii", "Kapital"], + "company_formats": ["{adjective} {noun} {suffix}", "{last_name} {suffix}"] + }, + { + "name": "agriculture", + "weight": 0.12, + "jobs": ["Agronomist"], + "well_known": ["Kernel", "MHP"], + "company_suffixes": ["Ahro", "Zerno", "Produkt"], + "company_nouns": ["Ahropromkompleks", "Produkty", "Torhivlia"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "logistics", + "weight": 0.1, + "jobs": ["Logistics Coordinator", "Sales Manager"], + "well_known": ["Nova Poshta", "Ukrzaliznytsia", "Ukrposhta"], + "company_suffixes": ["Trans", "Lohistyka", "Pereviznyk"], + "company_nouns": ["Lohistyka", "Transport", "Perevezenia"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "healthcare", + "weight": 0.08, + "jobs": ["Doctor", "Nurse", "Pharmacist", "Dentist"], + "well_known": [], + "company_suffixes": ["Med", "Pharma", "Klinika"], + "company_nouns": ["Okhorona Zdorovya", "Medytsyna", "Farmatsiya"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + }, + { + "name": "education", + "weight": 0.07, + "jobs": ["Teacher"], + "well_known": [], + "company_suffixes": [], + "company_nouns": [], + "company_formats": ["Universytet {city}", "{city} Politechnika"] + }, + { + "name": "legal", + "weight": 0.05, + "jobs": ["Lawyer"], + "well_known": [], + "company_suffixes": [], + "company_nouns": [], + "company_formats": ["{last_name} ta {last_name}", "{last_name} Advokaty"] + }, + { + "name": "manufacturing", + "weight": 0.1, + "jobs": ["Mechanic", "Civil Engineer"], + "well_known": ["Interpipe", "Ferrexpo", "Metinvest"], + "company_suffixes": ["Zavod", "Vyrobnytstvo", "Industriya"], + "company_nouns": ["Metalurhiya", "Vyrobnytstvo", "Materialy"], + "company_formats": ["{adjective} {noun} {suffix}", "{city} {noun}"] + }, + { + "name": "media", + "weight": 0.06, + "jobs": ["Journalist", "Designer"], + "well_known": ["Lifecell", "Ukrtelecom"], + "company_suffixes": ["Media", "Zviazok", "Digital"], + "company_nouns": ["Media", "Zviazok", "Komunikatsii"], + "company_formats": ["{adjective} {noun} {suffix}", "{noun} {suffix}"] + } + ] +} diff --git a/pointblank/countries/data/UA/internet.json b/pointblank/countries/data/UA/internet.json new file mode 100644 index 000000000..15563747b --- /dev/null +++ b/pointblank/countries/data/UA/internet.json @@ -0,0 +1,22 @@ +{ + "free_email_domains": [ + "gmail.com", "ukr.net", "i.ua", "meta.ua", "bigmir.net", + "email.ua", "outlook.com", "yahoo.com", "mail.ua", "rambler.ua" + ], + "tlds": [ + "ua", "com.ua", "org.ua", "net.ua", "gov.ua", "edu.ua", + "kyiv.ua", "lviv.ua", "com", "net", "org", "io" + ], + "domain_words": [ + "ukr", "kyiv", "lviv", "dnipro", "kharkiv", "odesa", + "tech", "digital", "online", "web", "media", "cyber", + "smart", "nova", "persha", "pro", "elite", "global", + "inter", "mega", "super", "ultra", "meta", "nexus" + ], + "user_agent_browsers": [ + "Chrome", "Firefox", "Safari", "Edge", "Opera" + ], + "user_agent_os": [ + "Windows NT 10.0", "Macintosh; Intel Mac OS X 10_15_7", "X11; Linux x86_64" + ] +} diff --git a/pointblank/countries/data/UA/misc.json b/pointblank/countries/data/UA/misc.json new file mode 100644 index 000000000..b280b2a49 --- /dev/null +++ b/pointblank/countries/data/UA/misc.json @@ -0,0 +1,11 @@ +{ + "colors": [ + "chervonyi", "syniy", "zelenyi", "zhovtyi", "oranzhevyi", + "fioletovyi", "rozhevyi", "korichnevyi", "chornyi", "bilyi", + "siryi", "zolotyi", "sribnyi", "burdovyi", "temno-syniy", + "olyvkovyi", "biryuzovyi", "kremovyi", "koralovyi", "lilovyi" + ], + "currency_codes": ["UAH"], + "ssn_format": "####-######", + "license_plate_format": "?? #### ??" +} diff --git a/pointblank/countries/data/UA/person.json b/pointblank/countries/data/UA/person.json new file mode 100644 index 000000000..0cf3306b4 --- /dev/null +++ b/pointblank/countries/data/UA/person.json @@ -0,0 +1,951 @@ +{ + "first_names": { + "male": { + "very_common": [ + "Oleksandr", + "Dmytro", + "Andriy", + "Volodymyr", + "Serhiy", + "Oleksiy", + "Mykola", + "Viktor", + "Ivan", + "Yuriy", + "Vasyl", + "Petro", + "Taras", + "Bohdan", + "Maksym", + "Pavlo", + "Roman", + "Vitaliy", + "Artem", + "Vladyslav", + "Denys", + "Ihor", + "Oleg", + "Ruslan" + ], + "common": [ + "Anatoly", + "Valentyn", + "Hryhoriy", + "Yevhen", + "Kyrylo", + "Leonid", + "Mykhailo", + "Oleh", + "Stanislav", + "Borys", + "Danylo", + "Eduard", + "Fedir", + "Gennadiy", + "Illya", + "Kostiantyn", + "Myroslav", + "Nazar", + "Ostap", + "Pylyp", + "Rostyslav", + "Sviatoslav", + "Tymofiy", + "Vadym", + "Vyacheslav", + "Yaroslav", + "Zakhar", + "Zhdan", + "Vitalik", + "Sashko", + "Timur", + "Nazariy", + "Matviy", + "Markiyan", + "Lev", + "Anton", + "Hennadiy", + "Zinovy", + "Klym", + "Lyubomyr", + "Marian", + "Nestor", + "Tykhon", + "Vasylko", + "Yehor", + "Yosyp", + "Zinoviy", + "Olexandr" + ], + "uncommon": [ + "Anatoliy", + "Avramiy", + "Bazhan", + "Bohuslaw", + "Cheslav", + "Dariy", + "Dmytryk", + "Evstakhiy", + "Halych", + "Havrylo", + "Ilarion", + "Kalynyk", + "Kuzma", + "Lavrin", + "Lukash", + "Modest", + "Nazarko", + "Omelian", + "Panteleimon", + "Radoslav", + "Samiilo", + "Stepan", + "Tadei", + "Ustym", + "Viktoriy", + "Yakiv", + "Zenon", + "Andriyko", + "Bohuslav", + "Demian", + "Elisei", + "Feodosiy", + "Gerasym", + "Ilko", + "Korniy", + "Levko", + "Marko", + "Naum", + "Onufriy", + "Prokip", + "Ratko", + "Severyn", + "Tymko", + "Ulian", + "Varfolomiy", + "Yosafat", + "Zenko", + "Arsen", + "Bohun", + "Danyil", + "Emilian", + "Florian", + "Gordiy", + "Hlib", + "Innocent", + "Khrystian", + "Liubomyr", + "Makarii", + "Nykodym", + "Omelan", + "Panas", + "Rafail", + "Sylvestr", + "Trokhym", + "Ulash", + "Venedykt", + "Yavir", + "Zoreslav", + "Antin", + "Buryslav" + ], + "rare": [ + "Avhustyn", + "Bahriyan", + "Budzymyr", + "Chornomor", + "Dalibor", + "Dzhura", + "Evmeniy", + "Fakhriyan", + "Gamaley", + "Gnat", + "Holodomor", + "Ilash", + "Kalyta", + "Khotyn", + "Kotsyubynsky", + "Lubart", + "Mazepan", + "Myron", + "Neriy", + "Obukh", + "Pereyaslav", + "Radko", + "Sahaidak", + "Shevch", + "Todar", + "Ukhan", + "Virlych", + "Yaropolk", + "Zbruch", + "Alim", + "Bratko", + "Chernyk", + "Dorosh", + "Eustakhiy", + "Fedot", + "Gonta", + "Hadzh", + "Ishko", + "Karlo", + "Lyakh", + "Mykhailyk", + "Nalyvaiko", + "Oles", + "Pylypko", + "Radion", + "Solomiy", + "Taran", + "Ustyn", + "Vavilo", + "Yakym", + "Zakharchenko", + "Antosha", + "Borysko", + "Chubynets", + "Dmytrash", + "Evstratiy", + "Fedorchuk", + "Gordash", + "Hlibko", + "Ivanets", + "Kalynych", + "Lubko", + "Martyn", + "Nykyfor", + "Ovdiy", + "Panteliy", + "Ratybor", + "Svyrid", + "Trofym", + "Uhryn", + "Viroslav", + "Yaremko", + "Zdan", + "Abram", + "Bohomil", + "Chornyy", + "Dobroslav", + "Ezekiel", + "Frasynyuk", + "Gerdan", + "Harbuz", + "Ihnatiy", + "Kasyan", + "Liubodar", + "Marchuk", + "Nadiy", + "Ovruch", + "Perchyk", + "Rogvolod", + "Svitodar", + "Tychyna", + "Ulrich", + "Valko", + "Yarema", + "Zelyk" + ] + }, + "female": { + "very_common": [ + "Olena", + "Natalia", + "Tetiana", + "Iryna", + "Oksana", + "Svitlana", + "Kateryna", + "Liudmyla", + "Hanna", + "Maria", + "Yulia", + "Valentyna", + "Larysa", + "Halyna", + "Viktoria", + "Daryna", + "Anastasia", + "Maryna", + "Tamara", + "Olha", + "Sofia", + "Diana", + "Alina", + "Polina" + ], + "common": [ + "Alla", + "Bohdana", + "Daria", + "Emilia", + "Galyna", + "Inna", + "Kalyna", + "Liliya", + "Milana", + "Nadiya", + "Olesya", + "Roksolana", + "Solomiya", + "Ulyana", + "Veronika", + "Yaryna", + "Zhanna", + "Anzhela", + "Bozhena", + "Chrystyna", + "Dzvinka", + "Eva", + "Khrystyna", + "Lesya", + "Myroslava", + "Natalka", + "Orysya", + "Ruslana", + "Stefania", + "Tamila", + "Vira", + "Yevheniia", + "Zlata", + "Adriana", + "Bianka", + "Dominika", + "Eleonora", + "Ivanna", + "Kira", + "Lidia", + "Milena", + "Nelia", + "Oleksandra", + "Renata", + "Snizhana", + "Taisiia", + "Uliana", + "Viktoriya", + "Yana", + "Zoriana" + ], + "uncommon": [ + "Aida", + "Berezhana", + "Cheslava", + "Daroslava", + "Evdokia", + "Fedora", + "Gordana", + "Hordiana", + "Ilona", + "Karolina", + "Liubov", + "Malva", + "Neonila", + "Oryna", + "Palahna", + "Radmyla", + "Slavka", + "Todorka", + "Ustyna", + "Varvara", + "Yaromyra", + "Zemfira", + "Ariadna", + "Bohuslava", + "Dzvenyslava", + "Emiliia", + "Floriana", + "Horesna", + "Irina", + "Kvitka", + "Lesia", + "Marianna", + "Nata", + "Olimpia", + "Paraska", + "Rafaila", + "Solomiia", + "Tetyana", + "Khristina", + "Vita", + "Yaroslava", + "Zoya", + "Agniya", + "Biloslava", + "Drahomyra", + "Efrosyniya", + "Fevronia", + "Gorislava", + "Hortensiya", + "Iskra", + "Korinna", + "Lubomira", + "Marta", + "Noma", + "Omeliana", + "Praskoviya", + "Roma", + "Sviatoslava", + "Teodosia", + "Uliia", + "Vesna", + "Yavdokha", + "Zoreyana", + "Agata", + "Brahyslava", + "Daliya", + "Elzhbieta", + "Faina", + "Halia", + "Ivanka" + ], + "rare": [ + "Anfisa", + "Bozhenka", + "Chayka", + "Darynka", + "Evlampiya", + "Fevroniya", + "Ganna", + "Harbuzova", + "Isidora", + "Kapitolina", + "Lybid", + "Mavka", + "Nezhana", + "Odarka", + "Pelaheya", + "Radonytsya", + "Stepanida", + "Teklia", + "Ustia", + "Vesela", + "Yalynka", + "Zdravka", + "Aldona", + "Bilia", + "Daleslava", + "Eudokia", + "Frosyna", + "Gordiya", + "Hutsula", + "Izolda", + "Kotryna", + "Luchezara", + "Mitrodora", + "Nonna", + "Olympia", + "Pylypa", + "Roksana", + "Svyridonna", + "Taira", + "Ulyta", + "Virliana", + "Yasna", + "Zhytomyra", + "Aksinya", + "Balzamka", + "Chornobrivka", + "Dnipra", + "Elzhbeta", + "Fylada", + "Halshka", + "Illariya", + "Kseniya", + "Lubanka", + "Milaniya", + "Natalena", + "Olefira", + "Parthenya", + "Rogneda", + "Slavomyra", + "Tereza", + "Urbana", + "Vodana", + "Yaloslava", + "Zbyslava", + "Avdotia", + "Blahoslava", + "Cheremshyna", + "Dobroslava", + "Euphrasia", + "Floryna", + "Gorpyna", + "Hrebinka", + "Isotta", + "Kazymyra", + "Lucheriya", + "Malekhna", + "Nyezhka", + "Olhuna", + "Pankratiya", + "Revekka", + "Smeyana", + "Tyhoslava", + "Ustianna", + "Vselada", + "Yarynka", + "Zolotoslava", + "Anisia", + "Bereginya", + "Dahlia", + "Elina" + ] + }, + "neutral": { + "very_common": [ + "Sasha", + "Zhenya" + ], + "common": [ + "Valya", + "Slava", + "Yura", + "Tolya", + "Shura" + ], + "uncommon": [ + "Nikita", + "Lyonya", + "Bobyk", + "Lyuba", + "Pavlik", + "Stefa", + "Lesyk" + ], + "rare": [ + "Mykhailko", + "Yasko", + "Frosyk", + "Kalynka", + "Zorko", + "Danylko", + "Ivashko", + "Onysko", + "Pylypets", + "Semko" + ] + } + }, + "last_names": { + "very_common": [ + "Shevchenko", + "Bondarenko", + "Kovalenko", + "Tkachenko", + "Kravchenko", + "Melnyk", + "Boyko", + "Shevchuk", + "Kovalchuk", + "Polishchuk", + "Marchenko", + "Lysenko", + "Savchenko", + "Rudenko", + "Moroz", + "Petrenko", + "Tarasenko", + "Ivanenko", + "Hrytsenko", + "Tymoshenko", + "Klymenko", + "Ponomarenko", + "Pavlenko", + "Yakovenko", + "Romanenko", + "Sydorenko", + "Karpenko", + "Zinchenko", + "Omelchenko", + "Honcharenko", + "Hlushchenko", + "Demchenko", + "Yurchenko", + "Levchenko", + "Serhienko", + "Prokopenko", + "Horbachenko", + "Kulachenko", + "Baranenko", + "Fedorenko", + "Maksymenko", + "Parkhomenko", + "Moskalenko", + "Havryliuk", + "Kolisnyk", + "Vasylenko", + "Lukashenko", + "Ostapenko" + ], + "common": [ + "Koval", + "Tkach", + "Kravets", + "Shynkaruk", + "Lytvyn", + "Sachko", + "Mykytenko", + "Doroshenko", + "Sirenko", + "Bilous", + "Danylenko", + "Zelenko", + "Kushnir", + "Tymchuk", + "Paliy", + "Vovk", + "Bila", + "Zayets", + "Panchenko", + "Diachenko", + "Yatsenko", + "Khomenko", + "Ishchenko", + "Nazarenko", + "Antonenko", + "Borysenko", + "Vasylyshyn", + "Hrechko", + "Dudnyk", + "Zhuravel", + "Kozak", + "Leshchenko", + "Mazur", + "Nesterenko", + "Oliynyk", + "Plakhotniuk", + "Rybalko", + "Soloviy", + "Tereshchenko", + "Usenko", + "Filonenko", + "Kharchenko", + "Chernysh", + "Shabliy", + "Shcherbak", + "Yukhymenko", + "Yefremenko", + "Babak", + "Haiduk", + "Hontsel", + "Khmelnytsky", + "Lobachevsky", + "Malyshko", + "Nalyvaiko", + "Opanasenko", + "Pasternak", + "Reshetnyk", + "Smilyvy", + "Taran", + "Umanets", + "Franchuk", + "Khomchuk", + "Tsymbaliuk", + "Shvets", + "Shypka", + "Yastrebov", + "Yatsyshyn", + "Babich", + "Gavrylenko", + "Gordienko", + "Koniushok", + "Litvinenko", + "Mytsko", + "Nikitenko", + "Onischuk", + "Poltorak", + "Svyryd", + "Tymkiv", + "Usyk", + "Fesenko", + "Khilko", + "Tsybulko", + "Shtuka", + "Shramko", + "Yavornytsky", + "Yarosh", + "Babenko", + "Gavrysh", + "Grynko", + "Korol", + "Lyashko", + "Matvienko", + "Nakonechny", + "Oleksienko" + ], + "uncommon": [ + "Bandera", + "Chornovil", + "Dziuba", + "Franko", + "Gongadze", + "Hutsul", + "Kalnyshevsky", + "Lypkivsky", + "Mazepa", + "Narbut", + "Piddubnyi", + "Rylsky", + "Sahaidachny", + "Tychyna", + "Vyshyvanyi", + "Yanovsky", + "Zhukovsky", + "Bazhansky", + "Chuprynka", + "Dovzhenko", + "Fialka", + "Honchar", + "Ivasyuk", + "Kosach", + "Luchkivsky", + "Mykhailychenko", + "Novosilsky", + "Onyshko", + "Pidgorny", + "Repnin", + "Sniatynsky", + "Terletsky", + "Ukrainka", + "Vyshnevetsky", + "Yavorsky", + "Zborivsky", + "Bohachevsky", + "Chernikhivsky", + "Drahomanov", + "Fedkovych", + "Gogol", + "Hrushevsky", + "Iskander", + "Khmara", + "Lysenka", + "Myshuga", + "Nimchenko", + "Oliferchuk", + "Pylypchuk", + "Revutsky", + "Stelmakh", + "Tsisyk", + "Usachenko", + "Verbytsky", + "Yaniv", + "Zabila", + "Berezhny", + "Chervonopysky", + "Didenko", + "Fedirko", + "Gonchar", + "Husak", + "Kalynets", + "Lypynsky", + "Makhno", + "Nalyvayko", + "Onyshchuk", + "Petliura", + "Riznyk", + "Skovoroda", + "Tatarenko", + "Udovenko", + "Voloshyn", + "Yaremchuk", + "Zasyadko", + "Boretsky", + "Chubar", + "Dovbush", + "Filaret", + "Gorenko", + "Hnatiuk", + "Ilchenko", + "Kvitka", + "Lutsenko", + "Motorniuk", + "Nechai", + "Okhrimenko", + "Polubotok", + "Roshchenko", + "Sirko", + "Trutenko", + "Usachev", + "Vovchok", + "Yagodzinsky", + "Zvenyhorod", + "Bohdan", + "Chyhyryn", + "Dashkevych", + "Fedak", + "Gorlenko", + "Horbachevsky", + "Ivasiuk", + "Khmelnytska", + "Levytsky", + "Myrny", + "Nechuy", + "Onufrienko", + "Pritsak", + "Rozumovsky", + "Sahaidak", + "Turbay", + "Uzhviy", + "Vyshensky", + "Yaroshenko", + "Zaporizhsky" + ], + "rare": [ + "Bahriyanyi", + "Chornohuz", + "Dashkivka", + "Evarnitsky", + "Firtsak", + "Golobnya", + "Hundorova", + "Ilovaysky", + "Kalyandruk", + "Lysyansky", + "Melnychenko", + "Nahaylo", + "Onyshkevych", + "Pidmohylny", + "Revak", + "Stebnitsky", + "Teliha", + "Uhryniuk", + "Voznyak", + "Yenakiyiv", + "Zaliznyak", + "Bodnaruk", + "Chystiakov", + "Drotyk", + "Fartushniak", + "Gzhytsky", + "Hanuliak", + "Ilkiv", + "Korotysh", + "Lypovecky", + "Morgulis", + "Navrotsky", + "Olzhych", + "Potebnia", + "Ryashko", + "Stupak", + "Ternopilsky", + "Utkin", + "Voloshchuk", + "Yastrubetsky", + "Zaruba", + "Babkiv", + "Chornenky", + "Drahomaniv", + "Feshchenko", + "Grabar", + "Hubysh", + "Itsenko", + "Kolyadenko", + "Lyubarets", + "Moldavsky", + "Nekrasov", + "Obukhiv", + "Popelnukh", + "Rubchak", + "Svyatopolk", + "Tamavsky", + "Ustinovych", + "Voynarovych", + "Yakubovsky", + "Zaporozhets", + "Bezborodko", + "Cholovsky", + "Dyakiv", + "Farion", + "Gulak", + "Hordynsky", + "Iskovych", + "Khotkeyvych", + "Lyashuk", + "Mykulak", + "Nebylytsky", + "Obodivsky", + "Pylypiuk", + "Romanyshyn", + "Starytsky", + "Tkachivsky", + "Udod", + "Vivcharenko", + "Yashchuk", + "Zdanyuk", + "Batih", + "Chyhyrynets", + "Dorundyak", + "Filonovych", + "Gzhegozhesky", + "Harbuzenko", + "Ilchuk", + "Kononenko", + "Luchakovska", + "Musiyenko", + "Nechyporenko", + "Oliyarnyk", + "Palamarenko", + "Rogatynets", + "Snihurenko", + "Turiansky", + "Uryvsky", + "Vytvytsky", + "Yushkevych", + "Zvenigorodsky", + "Bershad", + "Chupryna", + "Domaretsky", + "Fedchyshyn", + "Galagan", + "Holovko", + "Iskra", + "Kobylianska", + "Lepky", + "Mykytiv", + "Nehrebetsky", + "Oslavsky", + "Poletika", + "Rohach", + "Slipchenko", + "Terlytsky", + "Ustynovych", + "Vyrovyy", + "Yazykov", + "Zoria", + "Bilodid", + "Cherepovets", + "Danyleyko", + "Fediushko" + ] + }, + "name_formats": [ + "{first_name} {last_name}", + "{prefix} {first_name} {last_name}", + "{first_name} {last_name} {suffix}" + ], + "prefixes": { + "male": [ + "Pan", + "Dr.", + "Prof.", + "Prof. Dr." + ], + "female": [ + "Pani", + "Dr.", + "Prof.", + "Prof. Dr." + ], + "neutral": [ + "Dr.", + "Prof.", + "Prof. Dr." + ] + }, + "suffixes": [ + "PhD", + "Dr.", + "Jr.", + "Sr." + ] +} diff --git a/pointblank/countries/data/UA/text.json b/pointblank/countries/data/UA/text.json new file mode 100644 index 000000000..78fc28182 --- /dev/null +++ b/pointblank/countries/data/UA/text.json @@ -0,0 +1,48 @@ +{ + "words": [ + "the", "and", "for", "are", "but", "not", "you", "all", "can", "had", + "her", "was", "one", "our", "out", "day", "get", "has", "him", "his", + "how", "its", "may", "new", "now", "old", "see", "two", "way", "who", + "boy", "did", "own", "say", "she", "too", "use", "time", "very", "when", + "come", "could", "make", "like", "back", "only", "over", "such", "year", "into", + "just", "most", "also", "been", "call", "from", "have", "more", "made", "find", + "long", "down", "look", "many", "then", "them", "well", "would", "about", "after", + "being", "first", "great", "little", "might", "never", "other", "right", "still", "their", + "there", "these", "thing", "think", "those", "three", "today", "under", "water", "where", + "which", "while", "world", "write", "years" + ], + "sentence_patterns": [ + "The {adjective} {noun} {verb} the {adjective} {noun}.", + "A {noun} {verb} {adverb} in the {noun}.", + "{proper_noun} {verb} the {adjective} {noun} {adverb}." + ], + "adjectives": [ + "quick", "brown", "lazy", "slow", "big", "small", "old", "new", "young", + "bright", "dark", "loud", "quiet", "hot", "cold", "warm", "cool", "soft", "hard", + "smooth", "rough", "clean", "dirty", "happy", "sad", "angry", "calm", "brave", + "shy", "wise", "kind", "mean", "rich", "poor", "strong", "weak", + "tall", "short", "wide", "narrow", "deep", "flat", "thick", "thin", "heavy", + "light", "full", "empty", "open", "closed", "wet", "dry", "fresh", "stale" + ], + "nouns": [ + "dog", "cat", "bird", "fish", "tree", "house", "car", "book", "table", "chair", + "door", "window", "street", "river", "mountain", "sea", "sky", "sun", "moon", + "star", "cloud", "rain", "snow", "wind", "fire", "water", "earth", "air", + "stone", "wood", "metal", "glass", "paper", "cloth", "food", "drink", "money", + "time", "place", "person", "child", "man", "woman", "boy", "girl", "friend", + "family", "school", "work", "city", "country", "world", "life", "day", "night", + "morning", "evening", "week", "month", "year", "story", "song", "game", "sport" + ], + "verbs": [ + "runs", "jumps", "walks", "talks", "sees", "hears", "feels", "thinks", "knows", + "wants", "needs", "likes", "loves", "hates", "finds", "gives", "takes", "makes", + "says", "tells", "asks", "answers", "helps", "works", "plays", "reads", "writes", + "draws", "sings", "dances", "cooks", "eats", "drinks", "sleeps", "wakes", "opens", + "closes", "begins", "finishes", "catches", "stops", "moves", "stays", "comes", "goes" + ], + "adverbs": [ + "quickly", "slowly", "carefully", "happily", "sadly", "loudly", "quietly", + "easily", "hardly", "always", "never", "often", "sometimes", "usually", + "really", "very", "quite", "almost", "already", "still", "just", "only" + ] +} diff --git a/pointblank/data/api-docs.txt b/pointblank/data/api-docs.txt index 332be0241..bbcb6dc9b 100644 --- a/pointblank/data/api-docs.txt +++ b/pointblank/data/api-docs.txt @@ -14714,6 +14714,94 @@ Execute a YAML-based validation workflow. pipeline or version control system, allowing you to maintain validation rules alongside your code. + ### Governance Metadata + + YAML workflows support governance metadata via `owner`, `consumers`, and `version` top-level + keys. These are forwarded to the `Validate` constructor and embedded in the validation report: + + ```python + yaml_config = ''' + tbl: small_table + tbl_name: sales_pipeline + owner: Data Engineering + consumers: [Analytics, Finance, Compliance] + version: "2.1.0" + steps: + - col_vals_not_null: + columns: [a, b] + ''' + + result = pb.yaml_interrogate(yaml_config) + print(f"Owner: {result.owner}") + print(f"Consumers: {result.consumers}") + print(f"Version: {result.version}") + ``` + + ### Aggregate Validations + + YAML supports aggregate validation methods for checking column-level statistics. These methods + validate that a column's sum, average, or standard deviation meets a threshold: + + ```python + yaml_config = ''' + tbl: small_table + steps: + - col_sum_gt: + columns: [d] + value: 0 + - col_avg_le: + columns: [a] + value: 10 + ''' + + result = pb.yaml_interrogate(yaml_config) + result + ``` + + The 15 available aggregate methods follow the pattern `col_{stat}_{comparator}` where + `{stat}` is `sum`, `avg`, or `sd` and `{comparator}` is `gt`, `lt`, `ge`, + `le`, or `eq`. + + ### Data Freshness + + Check that a date/datetime column has recent data using `data_freshness`: + + ```yaml + tbl: events.csv + steps: + - data_freshness: + columns: event_date + freshness: "24h" + ``` + + ### Active Parameter Shortcut + + The `active=` parameter controls whether a validation step runs. It supports boolean values + and Python expression shortcuts: + + ```yaml + steps: + - col_vals_gt: + columns: [d] + value: 100 + active: false # Skip this step + + - col_vals_not_null: + columns: [a] + active: true # Always run (default) + ``` + + ### Null Percentage Check + + Use `col_pct_null` to validate that the percentage of null values in a column is within bounds: + + ```yaml + steps: + - col_pct_null: + columns: [a, b] + value: 0.05 + ``` + ### Using `set_tbl=` to Override the Table The `set_tbl=` parameter allows you to override the table specified in the YAML configuration. @@ -14903,6 +14991,39 @@ Validate YAML configuration against the expected structure. source ('tbl') exists or is accessible. Data source validation occurs during execution with `yaml_interrogate()`. + Supported Top-level Keys + ------------------------ + The following top-level keys are recognized in the YAML configuration: + + - `tbl`: data source specification (required) + - `steps`: list of validation steps (required) + - `tbl_name`: human-readable table name + - `label`: validation description + - `df_library`: DataFrame library (`"polars"`, `"pandas"`, `"duckdb"`) + - `lang`: language code + - `locale`: locale setting + - `brief`: global brief template + - `thresholds`: global failure thresholds + - `actions`: global failure actions + - `final_actions`: actions triggered after all steps complete + - `owner`: data owner (governance metadata) + - `consumers`: data consumers (governance metadata) + - `version`: validation version string (governance metadata) + - `reference`: reference table for comparison-based validations + + Unknown top-level keys are rejected, which catches typos like `tbl_nmae` or `step`. + + Supported Validation Methods + ---------------------------- + In addition to all standard validation methods (e.g., `col_vals_gt`, `rows_distinct`, + `col_schema_match`), the following methods are also supported: + + - `col_pct_null`: check the percentage of null values in a column + - `data_freshness`: check that data is recent + - aggregate methods: `col_sum_gt`, `col_sum_lt`, `col_sum_ge`, `col_sum_le`, + `col_sum_eq`, `col_avg_gt`, `col_avg_lt`, `col_avg_ge`, `col_avg_le`, + `col_avg_eq`, `col_sd_gt`, `col_sd_lt`, `col_sd_ge`, `col_sd_le`, `col_sd_eq` + See Also -------- yaml_interrogate : execute YAML-based validation workflows @@ -14993,6 +15114,28 @@ Convert YAML validation configuration to equivalent Python code. The generated code includes all configuration parameters, thresholds, and maintains the exact same validation logic as the original YAML workflow. + Governance metadata (`owner`, `consumers`, `version`) and `reference` are also rendered + in the generated Python code: + + ```python + yaml_config = ''' + tbl: small_table + tbl_name: Sales Pipeline + owner: Data Engineering + consumers: [Analytics, Finance] + version: "2.1.0" + steps: + - col_vals_not_null: + columns: [a] + - col_sum_gt: + columns: [d] + value: 0 + ''' + + python_code = pb.yaml_to_python(yaml_config) + print(python_code) + ``` + This function is also useful for educational purposes, helping users understand how YAML configurations map to the underlying Python API calls. @@ -15844,20 +15987,20 @@ generate_dataset(schema: 'Schema', n: 'int' = 100, seed: 'int | None' = None, ou Supported Countries ------------------- - The `country=` parameter currently supports 71 countries with full locale data: + The `country=` parameter currently supports 75 countries with full locale data: - **Europe (32 countries):** Austria (`"AT"`), Belgium (`"BE"`), Bulgaria (`"BG"`), + **Europe (33 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"`), United Kingdom (`"GB"`) + Switzerland (`"CH"`), Ukraine (`"UA"`), United Kingdom (`"GB"`) - **Americas (9 countries):** Argentina (`"AR"`), Brazil (`"BR"`), Canada (`"CA"`), - Chile (`"CL"`), Colombia (`"CO"`), Costa Rica (`"CR"`), Mexico (`"MX"`), - Peru (`"PE"`), United States (`"US"`) + **Americas (11 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"`) **Asia-Pacific (17 countries):** Australia (`"AU"`), Bangladesh (`"BD"`), China (`"CN"`), Hong Kong (`"HK"`), India (`"IN"`), Indonesia (`"ID"`), @@ -15865,10 +16008,10 @@ generate_dataset(schema: 'Schema', n: 'int' = 100, seed: 'int | None' = None, ou Philippines (`"PH"`), Singapore (`"SG"`), South Korea (`"KR"`), Sri Lanka (`"LK"`), Taiwan (`"TW"`), Thailand (`"TH"`), Vietnam (`"VN"`) - **Middle East & Africa (13 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), + **Middle East & Africa (14 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), Ethiopia (`"ET"`), Ghana (`"GH"`), Kenya (`"KE"`), Morocco (`"MA"`), - Nigeria (`"NG"`), Senegal (`"SN"`), South Africa (`"ZA"`), Tunisia (`"TN"`), - Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) + Nigeria (`"NG"`), Saudi Arabia (`"SA"`), Senegal (`"SN"`), South Africa (`"ZA"`), + Tunisia (`"TN"`), Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) Pytest Fixture -------------- diff --git a/pointblank/schema.py b/pointblank/schema.py index 9ecaadba2..02ebd5505 100644 --- a/pointblank/schema.py +++ b/pointblank/schema.py @@ -867,20 +867,21 @@ def generate( ------------------- The `country=` parameter controls the country used for generating realistic data with presets (e.g., `preset="email"`, `preset="address"`). This affects location-specific formats - like addresses, phone numbers, and postal codes. Currently, **71 countries** are supported + like addresses, phone numbers, and postal codes. Currently, **75 countries** are supported with full locale data: - **Europe (32 countries):** Austria (`"AT"`), Belgium (`"BE"`), Bulgaria (`"BG"`), Croatia + **Europe (33 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"`), United Kingdom (`"GB"`) + Spain (`"ES"`), Sweden (`"SE"`), Switzerland (`"CH"`), Ukraine (`"UA"`), + United Kingdom (`"GB"`) - **Americas (9 countries):** Argentina (`"AR"`), Brazil (`"BR"`), Canada (`"CA"`), Chile - (`"CL"`), Colombia (`"CO"`), Costa Rica (`"CR"`), Mexico (`"MX"`), Peru (`"PE"`), - United States (`"US"`) + **Americas (11 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"`) **Asia-Pacific (17 countries):** Australia (`"AU"`), Bangladesh (`"BD"`), China (`"CN"`), Hong Kong (`"HK"`), India (`"IN"`), Indonesia (`"ID"`), Japan (`"JP"`), Malaysia (`"MY"`), @@ -888,10 +889,10 @@ def generate( South Korea (`"KR"`), Sri Lanka (`"LK"`), Taiwan (`"TW"`), Thailand (`"TH"`), Vietnam (`"VN"`) - **Middle East & Africa (13 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), + **Middle East & Africa (14 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), Ethiopia (`"ET"`), Ghana (`"GH"`), Kenya (`"KE"`), Morocco (`"MA"`), Nigeria (`"NG"`), - Senegal (`"SN"`), South Africa (`"ZA"`), Tunisia (`"TN"`), Turkey (`"TR"`), - Uganda (`"UG"`), United Arab Emirates (`"AE"`) + Saudi Arabia (`"SA"`), Senegal (`"SN"`), South Africa (`"ZA"`), Tunisia (`"TN"`), + Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) Examples -------- @@ -1677,20 +1678,20 @@ def generate_dataset( Supported Countries ------------------- - The `country=` parameter currently supports 71 countries with full locale data: + The `country=` parameter currently supports 75 countries with full locale data: - **Europe (32 countries):** Austria (`"AT"`), Belgium (`"BE"`), Bulgaria (`"BG"`), + **Europe (33 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"`), United Kingdom (`"GB"`) + Switzerland (`"CH"`), Ukraine (`"UA"`), United Kingdom (`"GB"`) - **Americas (9 countries):** Argentina (`"AR"`), Brazil (`"BR"`), Canada (`"CA"`), - Chile (`"CL"`), Colombia (`"CO"`), Costa Rica (`"CR"`), Mexico (`"MX"`), - Peru (`"PE"`), United States (`"US"`) + **Americas (11 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"`) **Asia-Pacific (17 countries):** Australia (`"AU"`), Bangladesh (`"BD"`), China (`"CN"`), Hong Kong (`"HK"`), India (`"IN"`), Indonesia (`"ID"`), @@ -1698,10 +1699,10 @@ def generate_dataset( Philippines (`"PH"`), Singapore (`"SG"`), South Korea (`"KR"`), Sri Lanka (`"LK"`), Taiwan (`"TW"`), Thailand (`"TH"`), Vietnam (`"VN"`) - **Middle East & Africa (13 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), + **Middle East & Africa (14 countries):** Algeria (`"DZ"`), Egypt (`"EG"`), Ethiopia (`"ET"`), Ghana (`"GH"`), Kenya (`"KE"`), Morocco (`"MA"`), - Nigeria (`"NG"`), Senegal (`"SN"`), South Africa (`"ZA"`), Tunisia (`"TN"`), - Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) + Nigeria (`"NG"`), Saudi Arabia (`"SA"`), Senegal (`"SN"`), South Africa (`"ZA"`), + Tunisia (`"TN"`), Turkey (`"TR"`), Uganda (`"UG"`), United Arab Emirates (`"AE"`) Pytest Fixture --------------