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,231 @@
1
+ """en_AU address data — streets, cities, states, postcode 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
+ "George",
9
+ "William",
10
+ "King",
11
+ "Elizabeth",
12
+ "Victoria",
13
+ "High",
14
+ "Main",
15
+ "Church",
16
+ "Market",
17
+ "Smith",
18
+ "Railway",
19
+ "Station",
20
+ "Bridge",
21
+ "Park",
22
+ "Albert",
23
+ "Queen",
24
+ "Charles",
25
+ "Edward",
26
+ "Murray",
27
+ "Hunter",
28
+ "Macquarie",
29
+ "Pitt",
30
+ "Collins",
31
+ "Bourke",
32
+ "Flinders",
33
+ "Swanston",
34
+ "Lonsdale",
35
+ "Exhibition",
36
+ "Spencer",
37
+ "Spring",
38
+ "James",
39
+ "John",
40
+ "Mary",
41
+ "Ann",
42
+ "Margaret",
43
+ "Thomas",
44
+ "Henry",
45
+ "Arthur",
46
+ "Alfred",
47
+ "Frederick",
48
+ "Glenmore",
49
+ "Pacific",
50
+ "Canterbury",
51
+ "Oxford",
52
+ "Anzac",
53
+ "Burns",
54
+ "Campbell",
55
+ "Cook",
56
+ "Mitchell",
57
+ "Stuart",
58
+ "Stirling",
59
+ "Hay",
60
+ "Adelaide",
61
+ "Brisbane",
62
+ "Sydney",
63
+ "Melbourne",
64
+ "Perth",
65
+ "Hobart",
66
+ "Darwin",
67
+ "Canberra",
68
+ "Darling",
69
+ "Harbour",
70
+ "Parramatta",
71
+ "Richmond",
72
+ "Windsor",
73
+ "Banksia",
74
+ "Wattle",
75
+ "Eucalyptus",
76
+ "Waratah",
77
+ "Grevillea",
78
+ "Acacia",
79
+ "Bottlebrush",
80
+ "Kurrajong",
81
+ "Cedar",
82
+ "Rosemary",
83
+ "Lake",
84
+ "Creek",
85
+ "River",
86
+ )
87
+
88
+ street_suffixes: tuple[str, ...] = (
89
+ "Street",
90
+ "Road",
91
+ "Avenue",
92
+ "Drive",
93
+ "Place",
94
+ "Court",
95
+ "Crescent",
96
+ "Way",
97
+ "Lane",
98
+ "Boulevard",
99
+ "Close",
100
+ "Parade",
101
+ "Circuit",
102
+ "Terrace",
103
+ "Highway",
104
+ )
105
+
106
+ cities: tuple[str, ...] = (
107
+ "Sydney",
108
+ "Melbourne",
109
+ "Brisbane",
110
+ "Perth",
111
+ "Adelaide",
112
+ "Gold Coast",
113
+ "Canberra",
114
+ "Newcastle",
115
+ "Hobart",
116
+ "Darwin",
117
+ "Wollongong",
118
+ "Geelong",
119
+ "Cairns",
120
+ "Townsville",
121
+ "Toowoomba",
122
+ "Ballarat",
123
+ "Bendigo",
124
+ "Launceston",
125
+ "Mackay",
126
+ "Rockhampton",
127
+ "Bunbury",
128
+ "Mandurah",
129
+ "Bundaberg",
130
+ "Hervey Bay",
131
+ "Wagga Wagga",
132
+ "Mildura",
133
+ "Shepparton",
134
+ "Gladstone",
135
+ "Albury",
136
+ "Wodonga",
137
+ "Maitland",
138
+ "Tamworth",
139
+ "Orange",
140
+ "Dubbo",
141
+ "Bathurst",
142
+ "Geraldton",
143
+ "Kalgoorlie",
144
+ "Lismore",
145
+ "Coffs Harbour",
146
+ "Port Macquarie",
147
+ "Warrnambool",
148
+ "Nowra",
149
+ "Echuca",
150
+ "Mount Gambier",
151
+ "Whyalla",
152
+ "Mount Isa",
153
+ "Alice Springs",
154
+ "Broome",
155
+ "Karratha",
156
+ "Katherine",
157
+ "Devonport",
158
+ "Burnie",
159
+ "Armidale",
160
+ "Goulburn",
161
+ "Broken Hill",
162
+ "Griffith",
163
+ "Murray Bridge",
164
+ "Victor Harbor",
165
+ "Port Augusta",
166
+ "Port Lincoln",
167
+ "Esperance",
168
+ "Albany",
169
+ "Northam",
170
+ "Emerald",
171
+ "Yeppoon",
172
+ "Innisfail",
173
+ "Kingaroy",
174
+ "Warwick",
175
+ "Dalby",
176
+ "Roma",
177
+ "Gympie",
178
+ "Nambour",
179
+ "Caloundra",
180
+ "Caboolture",
181
+ "Ipswich",
182
+ "Logan",
183
+ "Redcliffe",
184
+ "Redlands",
185
+ "Beaudesert",
186
+ "Lithgow",
187
+ "Cessnock",
188
+ "Singleton",
189
+ "Muswellbrook",
190
+ "Parkes",
191
+ "Forbes",
192
+ "Cowra",
193
+ "Young",
194
+ "Queanbeyan",
195
+ "Yass",
196
+ "Cooma",
197
+ "Bega",
198
+ "Moruya",
199
+ "Ulladulla",
200
+ "Wangaratta",
201
+ "Benalla",
202
+ "Seymour",
203
+ "Sale",
204
+ "Traralgon",
205
+ "Morwell",
206
+ "Wonthaggi",
207
+ "Colac",
208
+ "Horsham",
209
+ "Hamilton",
210
+ "Portland",
211
+ "Maryborough",
212
+ )
213
+
214
+ states: tuple[str, ...] = (
215
+ "NSW",
216
+ "VIC",
217
+ "QLD",
218
+ "WA",
219
+ "SA",
220
+ "TAS",
221
+ "ACT",
222
+ "NT",
223
+ )
224
+
225
+ zip_formats: tuple[str, ...] = ("####",)
226
+
227
+ building_number_formats: tuple[str, ...] = (
228
+ "##",
229
+ "###",
230
+ "#",
231
+ )
@@ -0,0 +1,193 @@
1
+ """en_AU company data — company names, suffixes, buzzwords, job titles."""
2
+
3
+ company_suffixes: tuple[str, ...] = (
4
+ "Pty Ltd",
5
+ "Ltd",
6
+ "Group",
7
+ "Holdings",
8
+ "Partners",
9
+ "Consulting",
10
+ "Solutions",
11
+ "Services",
12
+ "Technologies",
13
+ "Systems",
14
+ "Enterprises",
15
+ "International",
16
+ "Industries",
17
+ "Capital",
18
+ "Australia",
19
+ )
20
+
21
+ company_names: tuple[str, ...] = (
22
+ "Pacific",
23
+ "Southern Cross",
24
+ "Harbour",
25
+ "Outback",
26
+ "Koala",
27
+ "Eucalyptus",
28
+ "Great Barrier",
29
+ "Murray",
30
+ "Coral",
31
+ "Banksia",
32
+ "Billabong",
33
+ "Boomerang",
34
+ "Waratah",
35
+ "Blue Mountains",
36
+ "Sunburnt",
37
+ "Crimson",
38
+ "Goldfields",
39
+ "Ironbark",
40
+ "Jacaranda",
41
+ "Kangaroo",
42
+ "Pinnacle",
43
+ "Redgum",
44
+ "Sandstone",
45
+ "Spinifex",
46
+ "Stockman",
47
+ "Bushland",
48
+ "Coastal",
49
+ "Dingo",
50
+ "Emu",
51
+ "Kookaburra",
52
+ "Platypus",
53
+ "Wombat",
54
+ "Reef",
55
+ "Horizon",
56
+ "Summit",
57
+ "Terra",
58
+ "Austral",
59
+ "Sapphire",
60
+ "Opal",
61
+ "Jarrah",
62
+ "Barossa",
63
+ "Kimberley",
64
+ )
65
+
66
+ catch_phrase_adjectives: tuple[str, ...] = (
67
+ "Adaptive",
68
+ "Advanced",
69
+ "Automated",
70
+ "Balanced",
71
+ "Centralized",
72
+ "Compatible",
73
+ "Configurable",
74
+ "Cross-platform",
75
+ "Decentralized",
76
+ "Digitized",
77
+ "Distributed",
78
+ "Enhanced",
79
+ "Ergonomic",
80
+ "Exclusive",
81
+ "Expanded",
82
+ "Extended",
83
+ "Focused",
84
+ "Front-line",
85
+ "Fundamental",
86
+ "Horizontal",
87
+ "Implemented",
88
+ "Innovative",
89
+ "Integrated",
90
+ "Intuitive",
91
+ "Managed",
92
+ "Multi-lateral",
93
+ "Networked",
94
+ "Open-source",
95
+ "Optimized",
96
+ "Organic",
97
+ "Persistent",
98
+ "Proactive",
99
+ "Programmable",
100
+ "Progressive",
101
+ "Reactive",
102
+ "Realigned",
103
+ "Reduced",
104
+ "Robust",
105
+ "Seamless",
106
+ "Secured",
107
+ )
108
+
109
+ catch_phrase_nouns: tuple[str, ...] = (
110
+ "ability",
111
+ "access",
112
+ "adapter",
113
+ "algorithm",
114
+ "alliance",
115
+ "analyzer",
116
+ "application",
117
+ "approach",
118
+ "architecture",
119
+ "archive",
120
+ "benchmark",
121
+ "capacity",
122
+ "challenge",
123
+ "circuit",
124
+ "collaboration",
125
+ "complexity",
126
+ "concept",
127
+ "core",
128
+ "database",
129
+ "definition",
130
+ "emulation",
131
+ "encoding",
132
+ "encryption",
133
+ "extranet",
134
+ "firmware",
135
+ "flexibility",
136
+ "framework",
137
+ "function",
138
+ "groupware",
139
+ "hardware",
140
+ "hierarchy",
141
+ "implementation",
142
+ "infrastructure",
143
+ "initiative",
144
+ "interface",
145
+ "intranet",
146
+ "knowledge",
147
+ "leverage",
148
+ "matrix",
149
+ "methodology",
150
+ )
151
+
152
+ job_titles: tuple[str, ...] = (
153
+ "Software Engineer",
154
+ "Data Scientist",
155
+ "Product Manager",
156
+ "DevOps Engineer",
157
+ "UX Designer",
158
+ "Backend Developer",
159
+ "Frontend Developer",
160
+ "Full Stack Developer",
161
+ "QA Engineer",
162
+ "Systems Administrator",
163
+ "Database Administrator",
164
+ "Cloud Architect",
165
+ "Security Analyst",
166
+ "Network Engineer",
167
+ "Technical Writer",
168
+ "Scrum Master",
169
+ "Project Manager",
170
+ "Business Analyst",
171
+ "Machine Learning Engineer",
172
+ "Site Reliability Engineer",
173
+ "Chief Technology Officer",
174
+ "Chief Executive Officer",
175
+ "Chief Financial Officer",
176
+ "Chief Operating Officer",
177
+ "Vice President of Engineering",
178
+ "Director of Engineering",
179
+ "Engineering Manager",
180
+ "Technical Lead",
181
+ "Senior Developer",
182
+ "Junior Developer",
183
+ "Intern",
184
+ "Consultant",
185
+ "Solutions Architect",
186
+ "Principal Engineer",
187
+ "Staff Engineer",
188
+ "Research Scientist",
189
+ "Data Engineer",
190
+ "Platform Engineer",
191
+ "Mobile Developer",
192
+ "Embedded Systems Engineer",
193
+ )
@@ -0,0 +1,34 @@
1
+ """en_AU internet data — domains, free email providers, TLDs."""
2
+
3
+ free_email_domains: tuple[str, ...] = (
4
+ "gmail.com",
5
+ "yahoo.com.au",
6
+ "hotmail.com.au",
7
+ "outlook.com",
8
+ "bigpond.com",
9
+ "optusnet.com.au",
10
+ "iinet.net.au",
11
+ "internode.on.net",
12
+ )
13
+
14
+ domain_suffixes: tuple[str, ...] = (
15
+ "com.au",
16
+ "net.au",
17
+ "org.au",
18
+ "edu.au",
19
+ "gov.au",
20
+ "com",
21
+ "net",
22
+ "org",
23
+ "id.au",
24
+ "asn.au",
25
+ )
26
+
27
+ user_formats: tuple[str, ...] = (
28
+ "{first}.{last}",
29
+ "{first}_{last}",
30
+ "{first}{last}",
31
+ "{first}.{last}##",
32
+ "{first}##",
33
+ "{last}##",
34
+ )