dataforge-py 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dataforge/__init__.py +20 -0
- dataforge/backend.py +147 -0
- dataforge/cli.py +166 -0
- dataforge/core.py +1169 -0
- dataforge/locales/__init__.py +1 -0
- dataforge/locales/ar_SA/__init__.py +1 -0
- dataforge/locales/ar_SA/address.py +128 -0
- dataforge/locales/ar_SA/company.py +183 -0
- dataforge/locales/ar_SA/internet.py +25 -0
- dataforge/locales/ar_SA/person.py +217 -0
- dataforge/locales/ar_SA/phone.py +15 -0
- dataforge/locales/de_DE/__init__.py +1 -0
- dataforge/locales/de_DE/address.py +148 -0
- dataforge/locales/de_DE/company.py +125 -0
- dataforge/locales/de_DE/internet.py +32 -0
- dataforge/locales/de_DE/person.py +212 -0
- dataforge/locales/de_DE/phone.py +17 -0
- dataforge/locales/en_AU/__init__.py +1 -0
- dataforge/locales/en_AU/address.py +231 -0
- dataforge/locales/en_AU/company.py +193 -0
- dataforge/locales/en_AU/internet.py +34 -0
- dataforge/locales/en_AU/person.py +370 -0
- dataforge/locales/en_AU/phone.py +16 -0
- dataforge/locales/en_CA/__init__.py +1 -0
- dataforge/locales/en_CA/address.py +276 -0
- dataforge/locales/en_CA/company.py +193 -0
- dataforge/locales/en_CA/internet.py +34 -0
- dataforge/locales/en_CA/person.py +377 -0
- dataforge/locales/en_CA/phone.py +15 -0
- dataforge/locales/en_GB/__init__.py +1 -0
- dataforge/locales/en_GB/address.py +312 -0
- dataforge/locales/en_GB/company.py +196 -0
- dataforge/locales/en_GB/internet.py +34 -0
- dataforge/locales/en_GB/person.py +372 -0
- dataforge/locales/en_GB/phone.py +15 -0
- dataforge/locales/en_US/__init__.py +1 -0
- dataforge/locales/en_US/address.py +268 -0
- dataforge/locales/en_US/company.py +191 -0
- dataforge/locales/en_US/internet.py +34 -0
- dataforge/locales/en_US/person.py +370 -0
- dataforge/locales/en_US/phone.py +15 -0
- dataforge/locales/es_ES/__init__.py +1 -0
- dataforge/locales/es_ES/address.py +151 -0
- dataforge/locales/es_ES/company.py +125 -0
- dataforge/locales/es_ES/internet.py +30 -0
- dataforge/locales/es_ES/person.py +207 -0
- dataforge/locales/es_ES/phone.py +15 -0
- dataforge/locales/fr_FR/__init__.py +1 -0
- dataforge/locales/fr_FR/address.py +145 -0
- dataforge/locales/fr_FR/company.py +125 -0
- dataforge/locales/fr_FR/internet.py +30 -0
- dataforge/locales/fr_FR/person.py +212 -0
- dataforge/locales/fr_FR/phone.py +15 -0
- dataforge/locales/hi_IN/__init__.py +1 -0
- dataforge/locales/hi_IN/address.py +177 -0
- dataforge/locales/hi_IN/company.py +191 -0
- dataforge/locales/hi_IN/internet.py +26 -0
- dataforge/locales/hi_IN/person.py +218 -0
- dataforge/locales/hi_IN/phone.py +21 -0
- dataforge/locales/it_IT/__init__.py +1 -0
- dataforge/locales/it_IT/address.py +218 -0
- dataforge/locales/it_IT/company.py +151 -0
- dataforge/locales/it_IT/internet.py +31 -0
- dataforge/locales/it_IT/person.py +187 -0
- dataforge/locales/it_IT/phone.py +15 -0
- dataforge/locales/ja_JP/__init__.py +1 -0
- dataforge/locales/ja_JP/address.py +174 -0
- dataforge/locales/ja_JP/company.py +121 -0
- dataforge/locales/ja_JP/internet.py +30 -0
- dataforge/locales/ja_JP/person.py +207 -0
- dataforge/locales/ja_JP/phone.py +18 -0
- dataforge/locales/ko_KR/__init__.py +1 -0
- dataforge/locales/ko_KR/address.py +121 -0
- dataforge/locales/ko_KR/company.py +151 -0
- dataforge/locales/ko_KR/internet.py +30 -0
- dataforge/locales/ko_KR/person.py +157 -0
- dataforge/locales/ko_KR/phone.py +26 -0
- dataforge/locales/nl_NL/__init__.py +1 -0
- dataforge/locales/nl_NL/address.py +152 -0
- dataforge/locales/nl_NL/company.py +182 -0
- dataforge/locales/nl_NL/internet.py +41 -0
- dataforge/locales/nl_NL/person.py +218 -0
- dataforge/locales/nl_NL/phone.py +19 -0
- dataforge/locales/pl_PL/__init__.py +1 -0
- dataforge/locales/pl_PL/address.py +140 -0
- dataforge/locales/pl_PL/company.py +183 -0
- dataforge/locales/pl_PL/internet.py +36 -0
- dataforge/locales/pl_PL/person.py +217 -0
- dataforge/locales/pl_PL/phone.py +15 -0
- dataforge/locales/pt_BR/__init__.py +1 -0
- dataforge/locales/pt_BR/address.py +127 -0
- dataforge/locales/pt_BR/company.py +151 -0
- dataforge/locales/pt_BR/internet.py +31 -0
- dataforge/locales/pt_BR/person.py +187 -0
- dataforge/locales/pt_BR/phone.py +15 -0
- dataforge/locales/ru_RU/__init__.py +1 -0
- dataforge/locales/ru_RU/address.py +156 -0
- dataforge/locales/ru_RU/company.py +168 -0
- dataforge/locales/ru_RU/internet.py +26 -0
- dataforge/locales/ru_RU/person.py +218 -0
- dataforge/locales/ru_RU/phone.py +16 -0
- dataforge/locales/zh_CN/__init__.py +1 -0
- dataforge/locales/zh_CN/address.py +141 -0
- dataforge/locales/zh_CN/company.py +151 -0
- dataforge/locales/zh_CN/internet.py +30 -0
- dataforge/locales/zh_CN/person.py +157 -0
- dataforge/locales/zh_CN/phone.py +25 -0
- dataforge/providers/__init__.py +1 -0
- dataforge/providers/address.py +460 -0
- dataforge/providers/ai_chat.py +170 -0
- dataforge/providers/ai_prompt.py +447 -0
- dataforge/providers/automotive.py +416 -0
- dataforge/providers/barcode.py +149 -0
- dataforge/providers/base.py +34 -0
- dataforge/providers/color.py +247 -0
- dataforge/providers/company.py +144 -0
- dataforge/providers/crypto.py +105 -0
- dataforge/providers/datetime.py +397 -0
- dataforge/providers/ecommerce.py +316 -0
- dataforge/providers/education.py +234 -0
- dataforge/providers/file.py +271 -0
- dataforge/providers/finance.py +545 -0
- dataforge/providers/geo.py +332 -0
- dataforge/providers/government.py +114 -0
- dataforge/providers/internet.py +351 -0
- dataforge/providers/llm.py +726 -0
- dataforge/providers/lorem.py +241 -0
- dataforge/providers/medical.py +364 -0
- dataforge/providers/misc.py +196 -0
- dataforge/providers/network.py +283 -0
- dataforge/providers/payment.py +300 -0
- dataforge/providers/person.py +195 -0
- dataforge/providers/phone.py +87 -0
- dataforge/providers/profile.py +265 -0
- dataforge/providers/science.py +365 -0
- dataforge/providers/text.py +365 -0
- dataforge/py.typed +0 -0
- dataforge/pytest_plugin.py +80 -0
- dataforge/registry.py +164 -0
- dataforge/schema.py +772 -0
- dataforge/unique.py +171 -0
- dataforge_py-0.2.0.dist-info/METADATA +964 -0
- dataforge_py-0.2.0.dist-info/RECORD +145 -0
- dataforge_py-0.2.0.dist-info/WHEEL +4 -0
- dataforge_py-0.2.0.dist-info/entry_points.txt +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Locale data packages for dataforge."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""ar_SA locale data for dataforge."""
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"""ar_SA address data — streets, cities, states, zip formats.
|
|
2
|
+
|
|
3
|
+
Data is stored in immutable tuples for maximum memory efficiency
|
|
4
|
+
and near-instant load times (compiled to bytecode by Python).
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
street_names: tuple[str, ...] = (
|
|
8
|
+
"King Fahd",
|
|
9
|
+
"King Abdullah",
|
|
10
|
+
"King Abdulaziz",
|
|
11
|
+
"King Faisal",
|
|
12
|
+
"King Khalid",
|
|
13
|
+
"King Salman",
|
|
14
|
+
"Prince Mohammed bin Abdulaziz",
|
|
15
|
+
"Prince Sultan",
|
|
16
|
+
"Prince Turki",
|
|
17
|
+
"Olaya",
|
|
18
|
+
"Tahlia",
|
|
19
|
+
"Sitteen",
|
|
20
|
+
"Thalatheen",
|
|
21
|
+
"Khurais",
|
|
22
|
+
"Makkah",
|
|
23
|
+
"Madinah",
|
|
24
|
+
"Palestine",
|
|
25
|
+
"Al-Batha",
|
|
26
|
+
"Al-Imam Saud",
|
|
27
|
+
"Al-Imam Faisal",
|
|
28
|
+
"Al-Amir Mohammed",
|
|
29
|
+
"Al-Amir Nasser",
|
|
30
|
+
"Al-Dabab",
|
|
31
|
+
"Al-Washm",
|
|
32
|
+
"Al-Hada",
|
|
33
|
+
"Hassan bin Thabit",
|
|
34
|
+
"Abu Bakr Al-Siddiq",
|
|
35
|
+
"Omar bin Al-Khattab",
|
|
36
|
+
"Othman bin Affan",
|
|
37
|
+
"Ali bin Abi Talib",
|
|
38
|
+
"Khalid bin Al-Waleed",
|
|
39
|
+
"Salahuddin",
|
|
40
|
+
"Al-Urubah",
|
|
41
|
+
"Al-Takhassusi",
|
|
42
|
+
"Al-Imam Ahmad",
|
|
43
|
+
"Eastern Ring",
|
|
44
|
+
"Northern Ring",
|
|
45
|
+
"Southern Ring",
|
|
46
|
+
"Western Ring",
|
|
47
|
+
"Al-Kharj",
|
|
48
|
+
"Al-Suwaidi",
|
|
49
|
+
"Al-Naseem",
|
|
50
|
+
"Al-Malaz",
|
|
51
|
+
"Al-Rawdah",
|
|
52
|
+
"Al-Hamra",
|
|
53
|
+
"Al-Nuzha",
|
|
54
|
+
"Al-Wurud",
|
|
55
|
+
"Al-Sahafa",
|
|
56
|
+
"Al-Rayyan",
|
|
57
|
+
"Al-Andalus",
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
street_suffixes: tuple[str, ...] = (
|
|
61
|
+
"Road",
|
|
62
|
+
"Street",
|
|
63
|
+
"Avenue",
|
|
64
|
+
"District",
|
|
65
|
+
"Quarter",
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
cities: tuple[str, ...] = (
|
|
69
|
+
"Riyadh",
|
|
70
|
+
"Jeddah",
|
|
71
|
+
"Mecca",
|
|
72
|
+
"Medina",
|
|
73
|
+
"Dammam",
|
|
74
|
+
"Taif",
|
|
75
|
+
"Tabuk",
|
|
76
|
+
"Buraidah",
|
|
77
|
+
"Khamis Mushait",
|
|
78
|
+
"Abha",
|
|
79
|
+
"Al-Khobar",
|
|
80
|
+
"Hail",
|
|
81
|
+
"Najran",
|
|
82
|
+
"Jubail",
|
|
83
|
+
"Yanbu",
|
|
84
|
+
"Al-Ahsa",
|
|
85
|
+
"Jazan",
|
|
86
|
+
"Sakaka",
|
|
87
|
+
"Arar",
|
|
88
|
+
"Al-Qatif",
|
|
89
|
+
"Al-Baha",
|
|
90
|
+
"Bisha",
|
|
91
|
+
"Dhahran",
|
|
92
|
+
"Al-Kharj",
|
|
93
|
+
"Unayzah",
|
|
94
|
+
"Ar Rass",
|
|
95
|
+
"Dawadmi",
|
|
96
|
+
"Afif",
|
|
97
|
+
"Wadi Al-Dawasir",
|
|
98
|
+
"Al-Majmaah",
|
|
99
|
+
"Al-Zulfi",
|
|
100
|
+
"Hafar Al-Batin",
|
|
101
|
+
"Ras Tanura",
|
|
102
|
+
"Thuwal",
|
|
103
|
+
"Rabigh",
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
states: tuple[str, ...] = (
|
|
107
|
+
"Riyadh Region",
|
|
108
|
+
"Makkah Region",
|
|
109
|
+
"Madinah Region",
|
|
110
|
+
"Eastern Province",
|
|
111
|
+
"Qassim Region",
|
|
112
|
+
"Asir Region",
|
|
113
|
+
"Tabuk Region",
|
|
114
|
+
"Hail Region",
|
|
115
|
+
"Northern Borders Region",
|
|
116
|
+
"Jazan Region",
|
|
117
|
+
"Najran Region",
|
|
118
|
+
"Al-Baha Region",
|
|
119
|
+
"Al-Jawf Region",
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
zip_formats: tuple[str, ...] = ("#####",)
|
|
123
|
+
|
|
124
|
+
building_number_formats: tuple[str, ...] = (
|
|
125
|
+
"####",
|
|
126
|
+
"###",
|
|
127
|
+
"##",
|
|
128
|
+
)
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"""ar_SA company data — company names, suffixes, buzzwords, job titles."""
|
|
2
|
+
|
|
3
|
+
company_suffixes: tuple[str, ...] = (
|
|
4
|
+
"LLC",
|
|
5
|
+
"Co",
|
|
6
|
+
"Group",
|
|
7
|
+
"Holdings",
|
|
8
|
+
"Est",
|
|
9
|
+
"Ltd",
|
|
10
|
+
"Corp",
|
|
11
|
+
"Partners",
|
|
12
|
+
"Trading",
|
|
13
|
+
"Enterprises",
|
|
14
|
+
"Solutions",
|
|
15
|
+
"Industries",
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
company_names: tuple[str, ...] = (
|
|
19
|
+
"Saudi Aramco",
|
|
20
|
+
"SABIC",
|
|
21
|
+
"Al-Rajhi",
|
|
22
|
+
"Al-Marai",
|
|
23
|
+
"STC",
|
|
24
|
+
"Jarir",
|
|
25
|
+
"Al-Faisaliah",
|
|
26
|
+
"Dar Al-Arkan",
|
|
27
|
+
"Savola",
|
|
28
|
+
"Al-Baik",
|
|
29
|
+
"Almarai",
|
|
30
|
+
"Al-Jomaih",
|
|
31
|
+
"Zamil",
|
|
32
|
+
"Al-Hokair",
|
|
33
|
+
"Mobily",
|
|
34
|
+
"Zain",
|
|
35
|
+
"Al-Othaim",
|
|
36
|
+
"Panda",
|
|
37
|
+
"Samba",
|
|
38
|
+
"Riyad Capital",
|
|
39
|
+
"Nesma",
|
|
40
|
+
"Binladin",
|
|
41
|
+
"Dallah",
|
|
42
|
+
"Al-Rushaid",
|
|
43
|
+
"Olayan",
|
|
44
|
+
"Sedco",
|
|
45
|
+
"Al-Subeaei",
|
|
46
|
+
"Zahid",
|
|
47
|
+
"Al-Muhaidib",
|
|
48
|
+
"Al-Tamimi",
|
|
49
|
+
"Al-Rajhi Capital",
|
|
50
|
+
"Al-Falak",
|
|
51
|
+
"Almana",
|
|
52
|
+
"Bawan",
|
|
53
|
+
"Al-Khorayef",
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
catch_phrase_adjectives: tuple[str, ...] = (
|
|
57
|
+
"Adaptive",
|
|
58
|
+
"Advanced",
|
|
59
|
+
"Automated",
|
|
60
|
+
"Balanced",
|
|
61
|
+
"Centralized",
|
|
62
|
+
"Compatible",
|
|
63
|
+
"Configurable",
|
|
64
|
+
"Cross-platform",
|
|
65
|
+
"Decentralized",
|
|
66
|
+
"Digitized",
|
|
67
|
+
"Distributed",
|
|
68
|
+
"Enhanced",
|
|
69
|
+
"Ergonomic",
|
|
70
|
+
"Exclusive",
|
|
71
|
+
"Expanded",
|
|
72
|
+
"Extended",
|
|
73
|
+
"Focused",
|
|
74
|
+
"Front-line",
|
|
75
|
+
"Fundamental",
|
|
76
|
+
"Horizontal",
|
|
77
|
+
"Implemented",
|
|
78
|
+
"Innovative",
|
|
79
|
+
"Integrated",
|
|
80
|
+
"Intuitive",
|
|
81
|
+
"Managed",
|
|
82
|
+
"Multi-lateral",
|
|
83
|
+
"Networked",
|
|
84
|
+
"Open-source",
|
|
85
|
+
"Optimized",
|
|
86
|
+
"Organic",
|
|
87
|
+
"Persistent",
|
|
88
|
+
"Proactive",
|
|
89
|
+
"Programmable",
|
|
90
|
+
"Progressive",
|
|
91
|
+
"Reactive",
|
|
92
|
+
"Realigned",
|
|
93
|
+
"Reduced",
|
|
94
|
+
"Robust",
|
|
95
|
+
"Seamless",
|
|
96
|
+
"Secured",
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
catch_phrase_nouns: tuple[str, ...] = (
|
|
100
|
+
"ability",
|
|
101
|
+
"access",
|
|
102
|
+
"adapter",
|
|
103
|
+
"algorithm",
|
|
104
|
+
"alliance",
|
|
105
|
+
"analyzer",
|
|
106
|
+
"application",
|
|
107
|
+
"approach",
|
|
108
|
+
"architecture",
|
|
109
|
+
"archive",
|
|
110
|
+
"benchmark",
|
|
111
|
+
"capacity",
|
|
112
|
+
"challenge",
|
|
113
|
+
"circuit",
|
|
114
|
+
"collaboration",
|
|
115
|
+
"complexity",
|
|
116
|
+
"concept",
|
|
117
|
+
"core",
|
|
118
|
+
"database",
|
|
119
|
+
"definition",
|
|
120
|
+
"emulation",
|
|
121
|
+
"encoding",
|
|
122
|
+
"encryption",
|
|
123
|
+
"extranet",
|
|
124
|
+
"firmware",
|
|
125
|
+
"flexibility",
|
|
126
|
+
"framework",
|
|
127
|
+
"function",
|
|
128
|
+
"groupware",
|
|
129
|
+
"hardware",
|
|
130
|
+
"hierarchy",
|
|
131
|
+
"implementation",
|
|
132
|
+
"infrastructure",
|
|
133
|
+
"initiative",
|
|
134
|
+
"interface",
|
|
135
|
+
"intranet",
|
|
136
|
+
"knowledge",
|
|
137
|
+
"leverage",
|
|
138
|
+
"matrix",
|
|
139
|
+
"methodology",
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
job_titles: tuple[str, ...] = (
|
|
143
|
+
"Software Engineer",
|
|
144
|
+
"Data Scientist",
|
|
145
|
+
"Product Manager",
|
|
146
|
+
"DevOps Engineer",
|
|
147
|
+
"UX Designer",
|
|
148
|
+
"Backend Developer",
|
|
149
|
+
"Frontend Developer",
|
|
150
|
+
"Full Stack Developer",
|
|
151
|
+
"QA Engineer",
|
|
152
|
+
"Systems Administrator",
|
|
153
|
+
"Database Administrator",
|
|
154
|
+
"Cloud Architect",
|
|
155
|
+
"Security Analyst",
|
|
156
|
+
"Network Engineer",
|
|
157
|
+
"Technical Writer",
|
|
158
|
+
"Scrum Master",
|
|
159
|
+
"Project Manager",
|
|
160
|
+
"Business Analyst",
|
|
161
|
+
"Machine Learning Engineer",
|
|
162
|
+
"Site Reliability Engineer",
|
|
163
|
+
"Chief Technology Officer",
|
|
164
|
+
"Chief Executive Officer",
|
|
165
|
+
"Chief Financial Officer",
|
|
166
|
+
"Chief Operating Officer",
|
|
167
|
+
"Vice President of Engineering",
|
|
168
|
+
"Director of Engineering",
|
|
169
|
+
"Engineering Manager",
|
|
170
|
+
"Technical Lead",
|
|
171
|
+
"Senior Developer",
|
|
172
|
+
"Junior Developer",
|
|
173
|
+
"Consultant",
|
|
174
|
+
"Solutions Architect",
|
|
175
|
+
"Principal Engineer",
|
|
176
|
+
"Staff Engineer",
|
|
177
|
+
"Research Scientist",
|
|
178
|
+
"Data Engineer",
|
|
179
|
+
"Platform Engineer",
|
|
180
|
+
"Mobile Developer",
|
|
181
|
+
"Embedded Systems Engineer",
|
|
182
|
+
"Cybersecurity Specialist",
|
|
183
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""ar_SA internet data — domains, free email providers, TLDs."""
|
|
2
|
+
|
|
3
|
+
free_email_domains: tuple[str, ...] = (
|
|
4
|
+
"gmail.com",
|
|
5
|
+
"hotmail.com",
|
|
6
|
+
"outlook.sa",
|
|
7
|
+
"yahoo.com",
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
domain_suffixes: tuple[str, ...] = (
|
|
11
|
+
"sa",
|
|
12
|
+
"com.sa",
|
|
13
|
+
"com",
|
|
14
|
+
"org",
|
|
15
|
+
"net",
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
user_formats: tuple[str, ...] = (
|
|
19
|
+
"{first}.{last}",
|
|
20
|
+
"{first}_{last}",
|
|
21
|
+
"{first}{last}",
|
|
22
|
+
"{first}.{last}##",
|
|
23
|
+
"{first}##",
|
|
24
|
+
"{last}##",
|
|
25
|
+
)
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"""ar_SA person data — first names and last names.
|
|
2
|
+
|
|
3
|
+
Data is stored in immutable tuples for maximum memory efficiency
|
|
4
|
+
and near-instant load times (compiled to bytecode by Python).
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
last_names: tuple[str, ...] = (
|
|
8
|
+
"Al-Saud",
|
|
9
|
+
"Al-Rashid",
|
|
10
|
+
"Al-Qahtani",
|
|
11
|
+
"Al-Harbi",
|
|
12
|
+
"Al-Otaibi",
|
|
13
|
+
"Al-Ghamdi",
|
|
14
|
+
"Al-Zahrani",
|
|
15
|
+
"Al-Shehri",
|
|
16
|
+
"Al-Dosari",
|
|
17
|
+
"Al-Maliki",
|
|
18
|
+
"Al-Subaie",
|
|
19
|
+
"Al-Mutairi",
|
|
20
|
+
"Al-Tamimi",
|
|
21
|
+
"Al-Shamrani",
|
|
22
|
+
"Al-Yami",
|
|
23
|
+
"Al-Shahrani",
|
|
24
|
+
"Al-Hajri",
|
|
25
|
+
"Al-Khaldi",
|
|
26
|
+
"Al-Anazi",
|
|
27
|
+
"Al-Johani",
|
|
28
|
+
"Al-Thubaiti",
|
|
29
|
+
"Al-Shammari",
|
|
30
|
+
"Al-Balawi",
|
|
31
|
+
"Al-Hazmi",
|
|
32
|
+
"Al-Amri",
|
|
33
|
+
"Al-Asiri",
|
|
34
|
+
"Al-Sulami",
|
|
35
|
+
"Al-Fayez",
|
|
36
|
+
"Al-Juhani",
|
|
37
|
+
"Al-Bishi",
|
|
38
|
+
"Al-Dossari",
|
|
39
|
+
"Al-Thaqafi",
|
|
40
|
+
"Al-Ruwaili",
|
|
41
|
+
"Al-Enezi",
|
|
42
|
+
"Al-Qurashi",
|
|
43
|
+
"Al-Dawsari",
|
|
44
|
+
"Al-Tuwaijri",
|
|
45
|
+
"Al-Madani",
|
|
46
|
+
"Al-Muqbil",
|
|
47
|
+
"Al-Saleh",
|
|
48
|
+
"Al-Ibrahim",
|
|
49
|
+
"Al-Hamdan",
|
|
50
|
+
"Al-Awad",
|
|
51
|
+
"Al-Nasser",
|
|
52
|
+
"Al-Fahad",
|
|
53
|
+
"Al-Turki",
|
|
54
|
+
"Al-Rajhi",
|
|
55
|
+
"Al-Sulaiman",
|
|
56
|
+
"Al-Omari",
|
|
57
|
+
"Al-Humaidi",
|
|
58
|
+
"Al-Salim",
|
|
59
|
+
"Al-Mansour",
|
|
60
|
+
"Al-Muneef",
|
|
61
|
+
"Al-Dakheel",
|
|
62
|
+
"Al-Jubeir",
|
|
63
|
+
"Al-Faisal",
|
|
64
|
+
"Al-Saadi",
|
|
65
|
+
"Al-Dehaim",
|
|
66
|
+
"Al-Mousa",
|
|
67
|
+
"Al-Bakr",
|
|
68
|
+
"Al-Qasim",
|
|
69
|
+
"Al-Naeem",
|
|
70
|
+
"Al-Issa",
|
|
71
|
+
"Al-Sharif",
|
|
72
|
+
"Al-Habib",
|
|
73
|
+
"Al-Bader",
|
|
74
|
+
"Al-Majed",
|
|
75
|
+
"Al-Saeed",
|
|
76
|
+
"Al-Khateeb",
|
|
77
|
+
"Al-Khuzaim",
|
|
78
|
+
"Al-Bugami",
|
|
79
|
+
"Al-Swailem",
|
|
80
|
+
"Al-Asmari",
|
|
81
|
+
"Al-Ghanim",
|
|
82
|
+
"Al-Zaid",
|
|
83
|
+
"Al-Obaid",
|
|
84
|
+
"Al-Musallam",
|
|
85
|
+
"Al-Kathiri",
|
|
86
|
+
"Al-Mufarrij",
|
|
87
|
+
"Al-Saqr",
|
|
88
|
+
"Al-Fehaid",
|
|
89
|
+
"Al-Rashed",
|
|
90
|
+
"Al-Masoud",
|
|
91
|
+
"Al-Hamad",
|
|
92
|
+
"Al-Fadhel",
|
|
93
|
+
"Al-Barrak",
|
|
94
|
+
"Al-Subai",
|
|
95
|
+
"Al-Ajmi",
|
|
96
|
+
"Al-Bluwi",
|
|
97
|
+
"Al-Muwallad",
|
|
98
|
+
"Al-Thumairy",
|
|
99
|
+
"Al-Haddad",
|
|
100
|
+
"Al-Dosseri",
|
|
101
|
+
"Al-Jasser",
|
|
102
|
+
"Al-Shuraim",
|
|
103
|
+
"Al-Ghunaim",
|
|
104
|
+
"Al-Zamil",
|
|
105
|
+
"Al-Delaim",
|
|
106
|
+
"Al-Baqmi",
|
|
107
|
+
"Al-Mane",
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
male_first_names: tuple[str, ...] = (
|
|
111
|
+
"Mohammed",
|
|
112
|
+
"Ahmed",
|
|
113
|
+
"Khalid",
|
|
114
|
+
"Abdullah",
|
|
115
|
+
"Fahad",
|
|
116
|
+
"Sultan",
|
|
117
|
+
"Faisal",
|
|
118
|
+
"Saud",
|
|
119
|
+
"Nasser",
|
|
120
|
+
"Turki",
|
|
121
|
+
"Bandar",
|
|
122
|
+
"Abdulrahman",
|
|
123
|
+
"Salman",
|
|
124
|
+
"Mansour",
|
|
125
|
+
"Ibrahim",
|
|
126
|
+
"Omar",
|
|
127
|
+
"Ali",
|
|
128
|
+
"Hamad",
|
|
129
|
+
"Saad",
|
|
130
|
+
"Majid",
|
|
131
|
+
"Waleed",
|
|
132
|
+
"Tariq",
|
|
133
|
+
"Youssef",
|
|
134
|
+
"Nawaf",
|
|
135
|
+
"Badr",
|
|
136
|
+
"Mishal",
|
|
137
|
+
"Abdulaziz",
|
|
138
|
+
"Naif",
|
|
139
|
+
"Saif",
|
|
140
|
+
"Rakan",
|
|
141
|
+
"Ziad",
|
|
142
|
+
"Othman",
|
|
143
|
+
"Adel",
|
|
144
|
+
"Saleh",
|
|
145
|
+
"Hassan",
|
|
146
|
+
"Hussain",
|
|
147
|
+
"Khaled",
|
|
148
|
+
"Tamim",
|
|
149
|
+
"Raed",
|
|
150
|
+
"Mazen",
|
|
151
|
+
"Yasser",
|
|
152
|
+
"Sameer",
|
|
153
|
+
"Amer",
|
|
154
|
+
"Haitham",
|
|
155
|
+
"Thamir",
|
|
156
|
+
"Muhannad",
|
|
157
|
+
"Faris",
|
|
158
|
+
"Talal",
|
|
159
|
+
"Bader",
|
|
160
|
+
"Hamza",
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
female_first_names: tuple[str, ...] = (
|
|
164
|
+
"Fatima",
|
|
165
|
+
"Noura",
|
|
166
|
+
"Sara",
|
|
167
|
+
"Maryam",
|
|
168
|
+
"Aisha",
|
|
169
|
+
"Hessa",
|
|
170
|
+
"Lama",
|
|
171
|
+
"Reem",
|
|
172
|
+
"Dalal",
|
|
173
|
+
"Hind",
|
|
174
|
+
"Maha",
|
|
175
|
+
"Nada",
|
|
176
|
+
"Haifa",
|
|
177
|
+
"Abeer",
|
|
178
|
+
"Amira",
|
|
179
|
+
"Layla",
|
|
180
|
+
"Hanan",
|
|
181
|
+
"Ghada",
|
|
182
|
+
"Jawaher",
|
|
183
|
+
"Mashael",
|
|
184
|
+
"Rana",
|
|
185
|
+
"Wafa",
|
|
186
|
+
"Badriya",
|
|
187
|
+
"Latifa",
|
|
188
|
+
"Samira",
|
|
189
|
+
"Munira",
|
|
190
|
+
"Asma",
|
|
191
|
+
"Rawda",
|
|
192
|
+
"Salwa",
|
|
193
|
+
"Yasmin",
|
|
194
|
+
"Noor",
|
|
195
|
+
"Rahaf",
|
|
196
|
+
"Dana",
|
|
197
|
+
"Joud",
|
|
198
|
+
"Arwa",
|
|
199
|
+
"Lamia",
|
|
200
|
+
"Lulwa",
|
|
201
|
+
"Shaima",
|
|
202
|
+
"Basma",
|
|
203
|
+
"Hadeel",
|
|
204
|
+
"Wijdan",
|
|
205
|
+
"Rania",
|
|
206
|
+
"Deema",
|
|
207
|
+
"Mariam",
|
|
208
|
+
"Amal",
|
|
209
|
+
"Afnan",
|
|
210
|
+
"Maysa",
|
|
211
|
+
"Rim",
|
|
212
|
+
"Bushra",
|
|
213
|
+
"Shahad",
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
# Computed from gendered tuples — single source of truth
|
|
217
|
+
first_names: tuple[str, ...] = male_first_names + female_first_names
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""ar_SA phone data — phone number formats."""
|
|
2
|
+
|
|
3
|
+
phone_formats: tuple[str, ...] = (
|
|
4
|
+
"+966 ## ### ####",
|
|
5
|
+
"0## ### ####",
|
|
6
|
+
"+966-##-###-####",
|
|
7
|
+
"0#########",
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
cell_formats: tuple[str, ...] = (
|
|
11
|
+
"+966 5# ### ####",
|
|
12
|
+
"05# ### ####",
|
|
13
|
+
"+966-5#-###-####",
|
|
14
|
+
"05########",
|
|
15
|
+
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""de_DE locale data for dataforge."""
|