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.
Files changed (145) hide show
  1. dataforge/__init__.py +20 -0
  2. dataforge/backend.py +147 -0
  3. dataforge/cli.py +166 -0
  4. dataforge/core.py +1169 -0
  5. dataforge/locales/__init__.py +1 -0
  6. dataforge/locales/ar_SA/__init__.py +1 -0
  7. dataforge/locales/ar_SA/address.py +128 -0
  8. dataforge/locales/ar_SA/company.py +183 -0
  9. dataforge/locales/ar_SA/internet.py +25 -0
  10. dataforge/locales/ar_SA/person.py +217 -0
  11. dataforge/locales/ar_SA/phone.py +15 -0
  12. dataforge/locales/de_DE/__init__.py +1 -0
  13. dataforge/locales/de_DE/address.py +148 -0
  14. dataforge/locales/de_DE/company.py +125 -0
  15. dataforge/locales/de_DE/internet.py +32 -0
  16. dataforge/locales/de_DE/person.py +212 -0
  17. dataforge/locales/de_DE/phone.py +17 -0
  18. dataforge/locales/en_AU/__init__.py +1 -0
  19. dataforge/locales/en_AU/address.py +231 -0
  20. dataforge/locales/en_AU/company.py +193 -0
  21. dataforge/locales/en_AU/internet.py +34 -0
  22. dataforge/locales/en_AU/person.py +370 -0
  23. dataforge/locales/en_AU/phone.py +16 -0
  24. dataforge/locales/en_CA/__init__.py +1 -0
  25. dataforge/locales/en_CA/address.py +276 -0
  26. dataforge/locales/en_CA/company.py +193 -0
  27. dataforge/locales/en_CA/internet.py +34 -0
  28. dataforge/locales/en_CA/person.py +377 -0
  29. dataforge/locales/en_CA/phone.py +15 -0
  30. dataforge/locales/en_GB/__init__.py +1 -0
  31. dataforge/locales/en_GB/address.py +312 -0
  32. dataforge/locales/en_GB/company.py +196 -0
  33. dataforge/locales/en_GB/internet.py +34 -0
  34. dataforge/locales/en_GB/person.py +372 -0
  35. dataforge/locales/en_GB/phone.py +15 -0
  36. dataforge/locales/en_US/__init__.py +1 -0
  37. dataforge/locales/en_US/address.py +268 -0
  38. dataforge/locales/en_US/company.py +191 -0
  39. dataforge/locales/en_US/internet.py +34 -0
  40. dataforge/locales/en_US/person.py +370 -0
  41. dataforge/locales/en_US/phone.py +15 -0
  42. dataforge/locales/es_ES/__init__.py +1 -0
  43. dataforge/locales/es_ES/address.py +151 -0
  44. dataforge/locales/es_ES/company.py +125 -0
  45. dataforge/locales/es_ES/internet.py +30 -0
  46. dataforge/locales/es_ES/person.py +207 -0
  47. dataforge/locales/es_ES/phone.py +15 -0
  48. dataforge/locales/fr_FR/__init__.py +1 -0
  49. dataforge/locales/fr_FR/address.py +145 -0
  50. dataforge/locales/fr_FR/company.py +125 -0
  51. dataforge/locales/fr_FR/internet.py +30 -0
  52. dataforge/locales/fr_FR/person.py +212 -0
  53. dataforge/locales/fr_FR/phone.py +15 -0
  54. dataforge/locales/hi_IN/__init__.py +1 -0
  55. dataforge/locales/hi_IN/address.py +177 -0
  56. dataforge/locales/hi_IN/company.py +191 -0
  57. dataforge/locales/hi_IN/internet.py +26 -0
  58. dataforge/locales/hi_IN/person.py +218 -0
  59. dataforge/locales/hi_IN/phone.py +21 -0
  60. dataforge/locales/it_IT/__init__.py +1 -0
  61. dataforge/locales/it_IT/address.py +218 -0
  62. dataforge/locales/it_IT/company.py +151 -0
  63. dataforge/locales/it_IT/internet.py +31 -0
  64. dataforge/locales/it_IT/person.py +187 -0
  65. dataforge/locales/it_IT/phone.py +15 -0
  66. dataforge/locales/ja_JP/__init__.py +1 -0
  67. dataforge/locales/ja_JP/address.py +174 -0
  68. dataforge/locales/ja_JP/company.py +121 -0
  69. dataforge/locales/ja_JP/internet.py +30 -0
  70. dataforge/locales/ja_JP/person.py +207 -0
  71. dataforge/locales/ja_JP/phone.py +18 -0
  72. dataforge/locales/ko_KR/__init__.py +1 -0
  73. dataforge/locales/ko_KR/address.py +121 -0
  74. dataforge/locales/ko_KR/company.py +151 -0
  75. dataforge/locales/ko_KR/internet.py +30 -0
  76. dataforge/locales/ko_KR/person.py +157 -0
  77. dataforge/locales/ko_KR/phone.py +26 -0
  78. dataforge/locales/nl_NL/__init__.py +1 -0
  79. dataforge/locales/nl_NL/address.py +152 -0
  80. dataforge/locales/nl_NL/company.py +182 -0
  81. dataforge/locales/nl_NL/internet.py +41 -0
  82. dataforge/locales/nl_NL/person.py +218 -0
  83. dataforge/locales/nl_NL/phone.py +19 -0
  84. dataforge/locales/pl_PL/__init__.py +1 -0
  85. dataforge/locales/pl_PL/address.py +140 -0
  86. dataforge/locales/pl_PL/company.py +183 -0
  87. dataforge/locales/pl_PL/internet.py +36 -0
  88. dataforge/locales/pl_PL/person.py +217 -0
  89. dataforge/locales/pl_PL/phone.py +15 -0
  90. dataforge/locales/pt_BR/__init__.py +1 -0
  91. dataforge/locales/pt_BR/address.py +127 -0
  92. dataforge/locales/pt_BR/company.py +151 -0
  93. dataforge/locales/pt_BR/internet.py +31 -0
  94. dataforge/locales/pt_BR/person.py +187 -0
  95. dataforge/locales/pt_BR/phone.py +15 -0
  96. dataforge/locales/ru_RU/__init__.py +1 -0
  97. dataforge/locales/ru_RU/address.py +156 -0
  98. dataforge/locales/ru_RU/company.py +168 -0
  99. dataforge/locales/ru_RU/internet.py +26 -0
  100. dataforge/locales/ru_RU/person.py +218 -0
  101. dataforge/locales/ru_RU/phone.py +16 -0
  102. dataforge/locales/zh_CN/__init__.py +1 -0
  103. dataforge/locales/zh_CN/address.py +141 -0
  104. dataforge/locales/zh_CN/company.py +151 -0
  105. dataforge/locales/zh_CN/internet.py +30 -0
  106. dataforge/locales/zh_CN/person.py +157 -0
  107. dataforge/locales/zh_CN/phone.py +25 -0
  108. dataforge/providers/__init__.py +1 -0
  109. dataforge/providers/address.py +460 -0
  110. dataforge/providers/ai_chat.py +170 -0
  111. dataforge/providers/ai_prompt.py +447 -0
  112. dataforge/providers/automotive.py +416 -0
  113. dataforge/providers/barcode.py +149 -0
  114. dataforge/providers/base.py +34 -0
  115. dataforge/providers/color.py +247 -0
  116. dataforge/providers/company.py +144 -0
  117. dataforge/providers/crypto.py +105 -0
  118. dataforge/providers/datetime.py +397 -0
  119. dataforge/providers/ecommerce.py +316 -0
  120. dataforge/providers/education.py +234 -0
  121. dataforge/providers/file.py +271 -0
  122. dataforge/providers/finance.py +545 -0
  123. dataforge/providers/geo.py +332 -0
  124. dataforge/providers/government.py +114 -0
  125. dataforge/providers/internet.py +351 -0
  126. dataforge/providers/llm.py +726 -0
  127. dataforge/providers/lorem.py +241 -0
  128. dataforge/providers/medical.py +364 -0
  129. dataforge/providers/misc.py +196 -0
  130. dataforge/providers/network.py +283 -0
  131. dataforge/providers/payment.py +300 -0
  132. dataforge/providers/person.py +195 -0
  133. dataforge/providers/phone.py +87 -0
  134. dataforge/providers/profile.py +265 -0
  135. dataforge/providers/science.py +365 -0
  136. dataforge/providers/text.py +365 -0
  137. dataforge/py.typed +0 -0
  138. dataforge/pytest_plugin.py +80 -0
  139. dataforge/registry.py +164 -0
  140. dataforge/schema.py +772 -0
  141. dataforge/unique.py +171 -0
  142. dataforge_py-0.2.0.dist-info/METADATA +964 -0
  143. dataforge_py-0.2.0.dist-info/RECORD +145 -0
  144. dataforge_py-0.2.0.dist-info/WHEEL +4 -0
  145. dataforge_py-0.2.0.dist-info/entry_points.txt +35 -0
@@ -0,0 +1,312 @@
1
+ """en_GB 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
+ "High",
9
+ "Church",
10
+ "Station",
11
+ "Park",
12
+ "London",
13
+ "Victoria",
14
+ "Green",
15
+ "Manor",
16
+ "Kings",
17
+ "Queens",
18
+ "Mill",
19
+ "School",
20
+ "New",
21
+ "Springfield",
22
+ "Grange",
23
+ "Windsor",
24
+ "Richmond",
25
+ "Albert",
26
+ "York",
27
+ "George",
28
+ "Bridge",
29
+ "North",
30
+ "South",
31
+ "West",
32
+ "East",
33
+ "Chapel",
34
+ "Meadow",
35
+ "Priory",
36
+ "Castle",
37
+ "Elm",
38
+ "Oak",
39
+ "Beech",
40
+ "Ash",
41
+ "Birch",
42
+ "Cedar",
43
+ "Willow",
44
+ "Holly",
45
+ "Ivy",
46
+ "Rose",
47
+ "Hawthorn",
48
+ "Acacia",
49
+ "Chestnut",
50
+ "Orchard",
51
+ "Cherry",
52
+ "Woodlands",
53
+ "Brook",
54
+ "Water",
55
+ "Riverside",
56
+ "Field",
57
+ "Hillside",
58
+ "Valley",
59
+ "Cambridge",
60
+ "Oxford",
61
+ "Clarence",
62
+ "Wellington",
63
+ "Gloucester",
64
+ "Kensington",
65
+ "Chester",
66
+ "Regent",
67
+ "Salisbury",
68
+ "Cavendish",
69
+ "Portland",
70
+ "Warwick",
71
+ "Lancaster",
72
+ "Pembroke",
73
+ "Suffolk",
74
+ "Norfolk",
75
+ "Devon",
76
+ "Cornwall",
77
+ "Dorset",
78
+ "Sutton",
79
+ "Cromwell",
80
+ "Tudor",
81
+ "Stuart",
82
+ "Fairfield",
83
+ "Lakeside",
84
+ )
85
+
86
+ street_suffixes: tuple[str, ...] = (
87
+ "Street",
88
+ "Road",
89
+ "Lane",
90
+ "Avenue",
91
+ "Drive",
92
+ "Close",
93
+ "Way",
94
+ "Crescent",
95
+ "Court",
96
+ "Place",
97
+ "Gardens",
98
+ "Terrace",
99
+ "Rise",
100
+ "Grove",
101
+ "Mews",
102
+ "Row",
103
+ "Walk",
104
+ "Hill",
105
+ "Parade",
106
+ "Square",
107
+ )
108
+
109
+ cities: tuple[str, ...] = (
110
+ "London",
111
+ "Birmingham",
112
+ "Manchester",
113
+ "Leeds",
114
+ "Glasgow",
115
+ "Liverpool",
116
+ "Edinburgh",
117
+ "Bristol",
118
+ "Cardiff",
119
+ "Sheffield",
120
+ "Newcastle upon Tyne",
121
+ "Nottingham",
122
+ "Leicester",
123
+ "Belfast",
124
+ "Brighton",
125
+ "Coventry",
126
+ "Hull",
127
+ "Bradford",
128
+ "Stoke-on-Trent",
129
+ "Wolverhampton",
130
+ "Plymouth",
131
+ "Derby",
132
+ "Southampton",
133
+ "Reading",
134
+ "Swansea",
135
+ "Sunderland",
136
+ "Dundee",
137
+ "Aberdeen",
138
+ "Oxford",
139
+ "Cambridge",
140
+ "Bath",
141
+ "York",
142
+ "Canterbury",
143
+ "Chester",
144
+ "Exeter",
145
+ "Norwich",
146
+ "Ipswich",
147
+ "Peterborough",
148
+ "Northampton",
149
+ "Bournemouth",
150
+ "Portsmouth",
151
+ "Middlesbrough",
152
+ "Luton",
153
+ "Bolton",
154
+ "Blackpool",
155
+ "Swindon",
156
+ "Doncaster",
157
+ "Stockport",
158
+ "Rotherham",
159
+ "Wigan",
160
+ "Milton Keynes",
161
+ "Warrington",
162
+ "Wakefield",
163
+ "Huddersfield",
164
+ "Telford",
165
+ "Slough",
166
+ "Watford",
167
+ "Gloucester",
168
+ "Worcester",
169
+ "Cheltenham",
170
+ "Colchester",
171
+ "Crawley",
172
+ "Basildon",
173
+ "Eastbourne",
174
+ "Maidstone",
175
+ "Chelmsford",
176
+ "Salford",
177
+ "Birkenhead",
178
+ "Grimsby",
179
+ "Hastings",
180
+ "Carlisle",
181
+ "Lincoln",
182
+ "Inverness",
183
+ "Perth",
184
+ "Stirling",
185
+ "Newport",
186
+ "Bangor",
187
+ "Wrexham",
188
+ "Newry",
189
+ "Lisburn",
190
+ "Londonderry",
191
+ "Hereford",
192
+ "Salisbury",
193
+ "Winchester",
194
+ "Truro",
195
+ "Wells",
196
+ "Ely",
197
+ "Ripon",
198
+ "Lichfield",
199
+ "Chichester",
200
+ "St Albans",
201
+ "Durham",
202
+ "Lancaster",
203
+ "Preston",
204
+ "Blackburn",
205
+ "Burnley",
206
+ "Halifax",
207
+ "Rochdale",
208
+ "Oldham",
209
+ "Barnsley",
210
+ "Harrogate",
211
+ "Scarborough",
212
+ )
213
+
214
+ states: tuple[str, ...] = (
215
+ "Greater London",
216
+ "West Midlands",
217
+ "Greater Manchester",
218
+ "West Yorkshire",
219
+ "South Yorkshire",
220
+ "Merseyside",
221
+ "Tyne and Wear",
222
+ "Kent",
223
+ "Essex",
224
+ "Hampshire",
225
+ "Lancashire",
226
+ "Surrey",
227
+ "Hertfordshire",
228
+ "Norfolk",
229
+ "Suffolk",
230
+ "Devon",
231
+ "Oxfordshire",
232
+ "Cambridgeshire",
233
+ "Dorset",
234
+ "Somerset",
235
+ "Nottinghamshire",
236
+ "Leicestershire",
237
+ "Derbyshire",
238
+ "Staffordshire",
239
+ "Warwickshire",
240
+ "Northamptonshire",
241
+ "Lincolnshire",
242
+ "Gloucestershire",
243
+ "Worcestershire",
244
+ "Buckinghamshire",
245
+ "Bedfordshire",
246
+ "Berkshire",
247
+ "Wiltshire",
248
+ "Shropshire",
249
+ "Cheshire",
250
+ "Cumbria",
251
+ "Northumberland",
252
+ "East Sussex",
253
+ "West Sussex",
254
+ "North Yorkshire",
255
+ "East Riding of Yorkshire",
256
+ "Durham",
257
+ "Cornwall",
258
+ "Herefordshire",
259
+ "Rutland",
260
+ "Isle of Wight",
261
+ "Bristol",
262
+ "Bath and North East Somerset",
263
+ "Highland",
264
+ "Aberdeenshire",
265
+ "Fife",
266
+ "Perth and Kinross",
267
+ "Dumfries and Galloway",
268
+ "Scottish Borders",
269
+ "Angus",
270
+ "Argyll and Bute",
271
+ "Stirling",
272
+ "City of Edinburgh",
273
+ "City of Glasgow",
274
+ "Gwynedd",
275
+ "Powys",
276
+ "Ceredigion",
277
+ "Pembrokeshire",
278
+ "Carmarthenshire",
279
+ "Swansea",
280
+ "Cardiff",
281
+ "Vale of Glamorgan",
282
+ "Monmouthshire",
283
+ "Antrim",
284
+ "Down",
285
+ "Armagh",
286
+ "Tyrone",
287
+ "Fermanagh",
288
+ "Londonderry",
289
+ )
290
+
291
+ zip_formats: tuple[str, ...] = (
292
+ "SW## #SW",
293
+ "EC## #NT",
294
+ "W# #AB",
295
+ "N## #HG",
296
+ "SE## #JL",
297
+ "E# #ND",
298
+ "NW## #PB",
299
+ "WC## #AX",
300
+ "LS## #DR",
301
+ "BS## #FG",
302
+ "BN## #HL",
303
+ "CB## #QR",
304
+ "OX## #PL",
305
+ "BA## #NS",
306
+ )
307
+
308
+ building_number_formats: tuple[str, ...] = (
309
+ "##",
310
+ "###",
311
+ "#",
312
+ )
@@ -0,0 +1,196 @@
1
+ """en_GB company data — company names, suffixes, buzzwords, job titles."""
2
+
3
+ company_suffixes: tuple[str, ...] = (
4
+ "Ltd",
5
+ "PLC",
6
+ "LLP",
7
+ "Group",
8
+ "Holdings",
9
+ "Partners",
10
+ "Associates",
11
+ "Consulting",
12
+ "Solutions",
13
+ "Services",
14
+ "Technologies",
15
+ "Systems",
16
+ "Enterprises",
17
+ "International",
18
+ "Capital",
19
+ )
20
+
21
+ company_names: tuple[str, ...] = (
22
+ "Albion",
23
+ "Sterling",
24
+ "Thames",
25
+ "Crown",
26
+ "Empire",
27
+ "Bristol",
28
+ "Cambridge",
29
+ "Oxford",
30
+ "Kensington",
31
+ "Windsor",
32
+ "Lancaster",
33
+ "Cavendish",
34
+ "Wellington",
35
+ "Stratton",
36
+ "Devonshire",
37
+ "Northgate",
38
+ "Southbank",
39
+ "Blackwell",
40
+ "Whitfield",
41
+ "Greystone",
42
+ "Ashford",
43
+ "Hartley",
44
+ "Pemberton",
45
+ "Cromwell",
46
+ "Blenheim",
47
+ "Clarendon",
48
+ "Grosvenor",
49
+ "Cheltenham",
50
+ "Harrington",
51
+ "Kingsley",
52
+ "Wessex",
53
+ "Mercia",
54
+ "Avalon",
55
+ "Pinnacle",
56
+ "Vanguard",
57
+ "Sovereign",
58
+ "Meridian",
59
+ "Atlas",
60
+ "Zenith",
61
+ "Apex",
62
+ "Summit",
63
+ "Beacon",
64
+ "Fortress",
65
+ "Ironbridge",
66
+ "Redbridge",
67
+ )
68
+
69
+ catch_phrase_adjectives: tuple[str, ...] = (
70
+ "Adaptive",
71
+ "Advanced",
72
+ "Automated",
73
+ "Balanced",
74
+ "Centralised",
75
+ "Compatible",
76
+ "Configurable",
77
+ "Cross-platform",
78
+ "Decentralised",
79
+ "Digitised",
80
+ "Distributed",
81
+ "Enhanced",
82
+ "Ergonomic",
83
+ "Exclusive",
84
+ "Expanded",
85
+ "Extended",
86
+ "Focused",
87
+ "Front-line",
88
+ "Fundamental",
89
+ "Horizontal",
90
+ "Implemented",
91
+ "Innovative",
92
+ "Integrated",
93
+ "Intuitive",
94
+ "Managed",
95
+ "Multi-lateral",
96
+ "Networked",
97
+ "Open-source",
98
+ "Optimised",
99
+ "Organic",
100
+ "Persistent",
101
+ "Proactive",
102
+ "Programmable",
103
+ "Progressive",
104
+ "Reactive",
105
+ "Realigned",
106
+ "Reduced",
107
+ "Robust",
108
+ "Seamless",
109
+ "Secured",
110
+ )
111
+
112
+ catch_phrase_nouns: tuple[str, ...] = (
113
+ "ability",
114
+ "access",
115
+ "adapter",
116
+ "algorithm",
117
+ "alliance",
118
+ "analyser",
119
+ "application",
120
+ "approach",
121
+ "architecture",
122
+ "archive",
123
+ "benchmark",
124
+ "capacity",
125
+ "challenge",
126
+ "circuit",
127
+ "collaboration",
128
+ "complexity",
129
+ "concept",
130
+ "core",
131
+ "database",
132
+ "definition",
133
+ "emulation",
134
+ "encoding",
135
+ "encryption",
136
+ "extranet",
137
+ "firmware",
138
+ "flexibility",
139
+ "framework",
140
+ "function",
141
+ "groupware",
142
+ "hardware",
143
+ "hierarchy",
144
+ "implementation",
145
+ "infrastructure",
146
+ "initiative",
147
+ "interface",
148
+ "intranet",
149
+ "knowledge",
150
+ "leverage",
151
+ "matrix",
152
+ "methodology",
153
+ )
154
+
155
+ job_titles: tuple[str, ...] = (
156
+ "Software Engineer",
157
+ "Data Scientist",
158
+ "Product Manager",
159
+ "DevOps Engineer",
160
+ "UX Designer",
161
+ "Backend Developer",
162
+ "Frontend Developer",
163
+ "Full Stack Developer",
164
+ "QA Engineer",
165
+ "Systems Administrator",
166
+ "Database Administrator",
167
+ "Cloud Architect",
168
+ "Security Analyst",
169
+ "Network Engineer",
170
+ "Technical Writer",
171
+ "Scrum Master",
172
+ "Project Manager",
173
+ "Business Analyst",
174
+ "Machine Learning Engineer",
175
+ "Site Reliability Engineer",
176
+ "Chartered Accountant",
177
+ "Barrister",
178
+ "Solicitor",
179
+ "Chief Technology Officer",
180
+ "Chief Executive Officer",
181
+ "Chief Financial Officer",
182
+ "Managing Director",
183
+ "Director of Engineering",
184
+ "Engineering Manager",
185
+ "Technical Lead",
186
+ "Senior Developer",
187
+ "Junior Developer",
188
+ "Graduate Developer",
189
+ "Consultant",
190
+ "Solutions Architect",
191
+ "Principal Engineer",
192
+ "Staff Engineer",
193
+ "Research Scientist",
194
+ "Data Engineer",
195
+ "Platform Engineer",
196
+ )
@@ -0,0 +1,34 @@
1
+ """en_GB internet data — domains, free email providers, TLDs."""
2
+
3
+ free_email_domains: tuple[str, ...] = (
4
+ "gmail.com",
5
+ "yahoo.co.uk",
6
+ "hotmail.co.uk",
7
+ "outlook.com",
8
+ "btinternet.com",
9
+ "sky.com",
10
+ "talktalk.net",
11
+ "virgin.net",
12
+ )
13
+
14
+ domain_suffixes: tuple[str, ...] = (
15
+ "co.uk",
16
+ "org.uk",
17
+ "com",
18
+ "net",
19
+ "org",
20
+ "me.uk",
21
+ "uk",
22
+ "gov.uk",
23
+ "ac.uk",
24
+ "nhs.uk",
25
+ )
26
+
27
+ user_formats: tuple[str, ...] = (
28
+ "{first}.{last}",
29
+ "{first}_{last}",
30
+ "{first}{last}",
31
+ "{first}.{last}##",
32
+ "{first}##",
33
+ "{last}##",
34
+ )