audex 1.0.7a3__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 (192) hide show
  1. audex/__init__.py +9 -0
  2. audex/__main__.py +7 -0
  3. audex/cli/__init__.py +189 -0
  4. audex/cli/apis/__init__.py +12 -0
  5. audex/cli/apis/init/__init__.py +34 -0
  6. audex/cli/apis/init/gencfg.py +130 -0
  7. audex/cli/apis/init/setup.py +330 -0
  8. audex/cli/apis/init/vprgroup.py +125 -0
  9. audex/cli/apis/serve.py +141 -0
  10. audex/cli/args.py +356 -0
  11. audex/cli/exceptions.py +44 -0
  12. audex/cli/helper/__init__.py +0 -0
  13. audex/cli/helper/ansi.py +193 -0
  14. audex/cli/helper/display.py +288 -0
  15. audex/config/__init__.py +64 -0
  16. audex/config/core/__init__.py +30 -0
  17. audex/config/core/app.py +29 -0
  18. audex/config/core/audio.py +45 -0
  19. audex/config/core/logging.py +163 -0
  20. audex/config/core/session.py +11 -0
  21. audex/config/helper/__init__.py +1 -0
  22. audex/config/helper/client/__init__.py +1 -0
  23. audex/config/helper/client/http.py +28 -0
  24. audex/config/helper/client/websocket.py +21 -0
  25. audex/config/helper/provider/__init__.py +1 -0
  26. audex/config/helper/provider/dashscope.py +13 -0
  27. audex/config/helper/provider/unisound.py +18 -0
  28. audex/config/helper/provider/xfyun.py +23 -0
  29. audex/config/infrastructure/__init__.py +31 -0
  30. audex/config/infrastructure/cache.py +51 -0
  31. audex/config/infrastructure/database.py +48 -0
  32. audex/config/infrastructure/recorder.py +32 -0
  33. audex/config/infrastructure/store.py +19 -0
  34. audex/config/provider/__init__.py +18 -0
  35. audex/config/provider/transcription.py +109 -0
  36. audex/config/provider/vpr.py +99 -0
  37. audex/container.py +40 -0
  38. audex/entity/__init__.py +468 -0
  39. audex/entity/doctor.py +109 -0
  40. audex/entity/doctor.pyi +51 -0
  41. audex/entity/fields.py +401 -0
  42. audex/entity/segment.py +115 -0
  43. audex/entity/segment.pyi +38 -0
  44. audex/entity/session.py +133 -0
  45. audex/entity/session.pyi +47 -0
  46. audex/entity/utterance.py +142 -0
  47. audex/entity/utterance.pyi +48 -0
  48. audex/entity/vp.py +68 -0
  49. audex/entity/vp.pyi +35 -0
  50. audex/exceptions.py +157 -0
  51. audex/filters/__init__.py +692 -0
  52. audex/filters/generated/__init__.py +21 -0
  53. audex/filters/generated/doctor.py +987 -0
  54. audex/filters/generated/segment.py +723 -0
  55. audex/filters/generated/session.py +978 -0
  56. audex/filters/generated/utterance.py +939 -0
  57. audex/filters/generated/vp.py +815 -0
  58. audex/helper/__init__.py +1 -0
  59. audex/helper/hash.py +33 -0
  60. audex/helper/mixin.py +65 -0
  61. audex/helper/net.py +19 -0
  62. audex/helper/settings/__init__.py +830 -0
  63. audex/helper/settings/fields.py +317 -0
  64. audex/helper/stream.py +153 -0
  65. audex/injectors/__init__.py +1 -0
  66. audex/injectors/config.py +12 -0
  67. audex/injectors/lifespan.py +7 -0
  68. audex/lib/__init__.py +1 -0
  69. audex/lib/cache/__init__.py +383 -0
  70. audex/lib/cache/inmemory.py +513 -0
  71. audex/lib/database/__init__.py +83 -0
  72. audex/lib/database/sqlite.py +406 -0
  73. audex/lib/exporter.py +189 -0
  74. audex/lib/injectors/__init__.py +1 -0
  75. audex/lib/injectors/cache.py +25 -0
  76. audex/lib/injectors/container.py +47 -0
  77. audex/lib/injectors/exporter.py +26 -0
  78. audex/lib/injectors/recorder.py +33 -0
  79. audex/lib/injectors/server.py +17 -0
  80. audex/lib/injectors/session.py +18 -0
  81. audex/lib/injectors/sqlite.py +24 -0
  82. audex/lib/injectors/store.py +13 -0
  83. audex/lib/injectors/transcription.py +42 -0
  84. audex/lib/injectors/usb.py +12 -0
  85. audex/lib/injectors/vpr.py +65 -0
  86. audex/lib/injectors/wifi.py +7 -0
  87. audex/lib/recorder.py +844 -0
  88. audex/lib/repos/__init__.py +149 -0
  89. audex/lib/repos/container.py +23 -0
  90. audex/lib/repos/database/__init__.py +1 -0
  91. audex/lib/repos/database/sqlite.py +672 -0
  92. audex/lib/repos/decorators.py +74 -0
  93. audex/lib/repos/doctor.py +286 -0
  94. audex/lib/repos/segment.py +302 -0
  95. audex/lib/repos/session.py +285 -0
  96. audex/lib/repos/tables/__init__.py +70 -0
  97. audex/lib/repos/tables/doctor.py +137 -0
  98. audex/lib/repos/tables/segment.py +113 -0
  99. audex/lib/repos/tables/session.py +140 -0
  100. audex/lib/repos/tables/utterance.py +131 -0
  101. audex/lib/repos/tables/vp.py +102 -0
  102. audex/lib/repos/utterance.py +288 -0
  103. audex/lib/repos/vp.py +286 -0
  104. audex/lib/restful.py +251 -0
  105. audex/lib/server/__init__.py +97 -0
  106. audex/lib/server/auth.py +98 -0
  107. audex/lib/server/handlers.py +248 -0
  108. audex/lib/server/templates/index.html.j2 +226 -0
  109. audex/lib/server/templates/login.html.j2 +111 -0
  110. audex/lib/server/templates/static/script.js +68 -0
  111. audex/lib/server/templates/static/style.css +579 -0
  112. audex/lib/server/types.py +123 -0
  113. audex/lib/session.py +503 -0
  114. audex/lib/store/__init__.py +238 -0
  115. audex/lib/store/localfile.py +411 -0
  116. audex/lib/transcription/__init__.py +33 -0
  117. audex/lib/transcription/dashscope.py +525 -0
  118. audex/lib/transcription/events.py +62 -0
  119. audex/lib/usb.py +554 -0
  120. audex/lib/vpr/__init__.py +38 -0
  121. audex/lib/vpr/unisound/__init__.py +185 -0
  122. audex/lib/vpr/unisound/types.py +469 -0
  123. audex/lib/vpr/xfyun/__init__.py +483 -0
  124. audex/lib/vpr/xfyun/types.py +679 -0
  125. audex/lib/websocket/__init__.py +8 -0
  126. audex/lib/websocket/connection.py +485 -0
  127. audex/lib/websocket/pool.py +991 -0
  128. audex/lib/wifi.py +1146 -0
  129. audex/lifespan.py +75 -0
  130. audex/service/__init__.py +27 -0
  131. audex/service/decorators.py +73 -0
  132. audex/service/doctor/__init__.py +652 -0
  133. audex/service/doctor/const.py +36 -0
  134. audex/service/doctor/exceptions.py +96 -0
  135. audex/service/doctor/types.py +54 -0
  136. audex/service/export/__init__.py +236 -0
  137. audex/service/export/const.py +17 -0
  138. audex/service/export/exceptions.py +34 -0
  139. audex/service/export/types.py +21 -0
  140. audex/service/injectors/__init__.py +1 -0
  141. audex/service/injectors/container.py +53 -0
  142. audex/service/injectors/doctor.py +34 -0
  143. audex/service/injectors/export.py +27 -0
  144. audex/service/injectors/session.py +49 -0
  145. audex/service/session/__init__.py +754 -0
  146. audex/service/session/const.py +34 -0
  147. audex/service/session/exceptions.py +67 -0
  148. audex/service/session/types.py +91 -0
  149. audex/types.py +39 -0
  150. audex/utils.py +287 -0
  151. audex/valueobj/__init__.py +81 -0
  152. audex/valueobj/common/__init__.py +1 -0
  153. audex/valueobj/common/auth.py +84 -0
  154. audex/valueobj/common/email.py +16 -0
  155. audex/valueobj/common/ops.py +22 -0
  156. audex/valueobj/common/phone.py +84 -0
  157. audex/valueobj/common/version.py +72 -0
  158. audex/valueobj/session.py +19 -0
  159. audex/valueobj/utterance.py +15 -0
  160. audex/view/__init__.py +51 -0
  161. audex/view/container.py +17 -0
  162. audex/view/decorators.py +303 -0
  163. audex/view/pages/__init__.py +1 -0
  164. audex/view/pages/dashboard/__init__.py +286 -0
  165. audex/view/pages/dashboard/wifi.py +407 -0
  166. audex/view/pages/login.py +110 -0
  167. audex/view/pages/recording.py +348 -0
  168. audex/view/pages/register.py +202 -0
  169. audex/view/pages/sessions/__init__.py +196 -0
  170. audex/view/pages/sessions/details.py +224 -0
  171. audex/view/pages/sessions/export.py +443 -0
  172. audex/view/pages/settings.py +374 -0
  173. audex/view/pages/voiceprint/__init__.py +1 -0
  174. audex/view/pages/voiceprint/enroll.py +195 -0
  175. audex/view/pages/voiceprint/update.py +195 -0
  176. audex/view/static/css/dashboard.css +452 -0
  177. audex/view/static/css/glass.css +22 -0
  178. audex/view/static/css/global.css +541 -0
  179. audex/view/static/css/login.css +386 -0
  180. audex/view/static/css/recording.css +439 -0
  181. audex/view/static/css/register.css +293 -0
  182. audex/view/static/css/sessions/styles.css +501 -0
  183. audex/view/static/css/settings.css +186 -0
  184. audex/view/static/css/voiceprint/enroll.css +43 -0
  185. audex/view/static/css/voiceprint/styles.css +209 -0
  186. audex/view/static/css/voiceprint/update.css +44 -0
  187. audex/view/static/images/logo.svg +95 -0
  188. audex/view/static/js/recording.js +42 -0
  189. audex-1.0.7a3.dist-info/METADATA +361 -0
  190. audex-1.0.7a3.dist-info/RECORD +192 -0
  191. audex-1.0.7a3.dist-info/WHEEL +4 -0
  192. audex-1.0.7a3.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,541 @@
1
+ /* ==================== Base Styles ==================== */
2
+ /* Smooth rendering */
3
+ * {
4
+ -webkit-font-smoothing: antialiased;
5
+ -moz-osx-font-smoothing: grayscale;
6
+ }
7
+
8
+ html, body {
9
+ margin: 0;
10
+ padding: 0;
11
+ overflow: hidden;
12
+ overflow-y: auto;
13
+ height: 100vh;
14
+ width: 100vw;
15
+ background: #ffffff;
16
+ }
17
+
18
+ ::-webkit-scrollbar {
19
+ width: 0;
20
+ height: 0;
21
+ }
22
+
23
+ * {
24
+ scrollbar-width: none; /* Firefox */
25
+ }
26
+
27
+ * {
28
+ -ms-overflow-style: none;
29
+ }
30
+
31
+ /* ==================== Layout Classes ==================== */
32
+ /* Flex */
33
+ .items-center {
34
+ align-items: center;
35
+ }
36
+
37
+ .items-start {
38
+ align-items: flex-start;
39
+ }
40
+
41
+ .items-baseline {
42
+ align-items: baseline;
43
+ }
44
+
45
+ .items-end {
46
+ align-items: flex-end;
47
+ }
48
+
49
+ .justify-center {
50
+ justify-content: center;
51
+ }
52
+
53
+ .justify-start {
54
+ justify-content: flex-start;
55
+ }
56
+
57
+ .justify-between {
58
+ justify-content: space-between;
59
+ }
60
+
61
+ .justify-end {
62
+ justify-content: flex-end;
63
+ }
64
+
65
+ .self-end {
66
+ align-self: flex-end;
67
+ }
68
+
69
+ .flex-1 {
70
+ flex: 1;
71
+ }
72
+
73
+ /* Spacing */
74
+ .gap-0 {
75
+ gap: 0;
76
+ }
77
+
78
+ .gap-1 {
79
+ gap: 0.25rem;
80
+ }
81
+
82
+ .gap-2 {
83
+ gap: 0.5rem;
84
+ }
85
+
86
+ .gap-3 {
87
+ gap: 0.75rem;
88
+ }
89
+
90
+ .gap-4 {
91
+ gap: 1rem;
92
+ }
93
+
94
+ .gap-8 {
95
+ gap: 2rem;
96
+ }
97
+
98
+ /* Padding */
99
+ .px-1 {
100
+ padding-left: 0.25rem;
101
+ padding-right: 0.25rem;
102
+ }
103
+
104
+ .px-2 {
105
+ padding-left: 0.5rem;
106
+ padding-right: 0.5rem;
107
+ }
108
+
109
+ .px-3 {
110
+ padding-left: 0.75rem;
111
+ padding-right: 0.75rem;
112
+ }
113
+
114
+ .px-4 {
115
+ padding-left: 1rem;
116
+ padding-right: 1rem;
117
+ }
118
+
119
+ .px-5 {
120
+ padding-left: 1.25rem;
121
+ padding-right: 1.25rem;
122
+ }
123
+
124
+ .px-6 {
125
+ padding-left: 3rem !important;
126
+ padding-right: 3rem !important;
127
+ }
128
+
129
+ .px-7 {
130
+ padding-left: 1.75rem;
131
+ padding-right: 1.75rem;
132
+ }
133
+
134
+ .px-8 {
135
+ padding-left: 2rem;
136
+ padding-right: 2rem;
137
+ }
138
+
139
+ .py-1 {
140
+ padding-top: 0.25rem;
141
+ padding-bottom: 0.25rem;
142
+ }
143
+
144
+ .py-2 {
145
+ padding-top: 0.5rem;
146
+ padding-bottom: 0.5rem;
147
+ }
148
+
149
+ .py-3 {
150
+ padding-top: 0.75rem;
151
+ padding-bottom: 0.75rem;
152
+ }
153
+
154
+ .py-4 {
155
+ padding-top: 1rem;
156
+ padding-bottom: 1rem;
157
+ }
158
+
159
+ .py-5 {
160
+ padding-top: 1.25rem;
161
+ padding-bottom: 1.25rem;
162
+ }
163
+
164
+ .py-6 {
165
+ padding-top: 1.5rem;
166
+ padding-bottom: 1.5rem;
167
+ }
168
+
169
+ .py-7 {
170
+ padding-top: 1.75rem;
171
+ padding-bottom: 1.75rem;
172
+ }
173
+
174
+ .py-8 {
175
+ padding-top: 2rem;
176
+ padding-bottom: 2rem;
177
+ }
178
+
179
+ .p-1 {
180
+ padding: 0.25rem;
181
+ }
182
+
183
+ .p-2 {
184
+ padding: 0.5rem;
185
+ }
186
+
187
+ .p-3 {
188
+ padding: 0.75rem;
189
+ }
190
+
191
+ .p-4 {
192
+ padding: 1rem;
193
+ }
194
+
195
+ .p-5 {
196
+ padding: 1.25rem;
197
+ }
198
+
199
+ .p-7 {
200
+ padding: 1.75rem;
201
+ }
202
+
203
+ .p-8 {
204
+ padding: 2rem;
205
+ }
206
+
207
+ /* Margin */
208
+ .mb-0 {
209
+ margin-bottom: 0;
210
+ }
211
+
212
+ .mb-1 {
213
+ margin-bottom: 0.25rem;
214
+ }
215
+
216
+ .mb-2 {
217
+ margin-bottom: 0.5rem;
218
+ }
219
+
220
+ .mb-3 {
221
+ margin-bottom: 0.75rem;
222
+ }
223
+
224
+ .mb-4 {
225
+ margin-bottom: 1rem;
226
+ }
227
+
228
+ .mb-5 {
229
+ margin-bottom: 1.25rem;
230
+ }
231
+
232
+ .mb-6 {
233
+ margin-bottom: 1.5rem;
234
+ }
235
+
236
+ .mb-7 {
237
+ margin-bottom: 1.75rem;
238
+ }
239
+
240
+ .mb-8 {
241
+ margin-bottom: 2rem;
242
+ }
243
+
244
+ .mb-auto {
245
+ margin-bottom: auto;
246
+ }
247
+
248
+ .mt-0 {
249
+ margin-top: 0;
250
+ }
251
+
252
+ .mt-1 {
253
+ margin-top: 0.25rem;
254
+ }
255
+
256
+ .mt-2 {
257
+ margin-top: 0.5rem;
258
+ }
259
+
260
+ .mt-3 {
261
+ margin-top: 0.75rem;
262
+ }
263
+
264
+ .mt-4 {
265
+ margin-top: 1rem;
266
+ }
267
+
268
+ .mt-5 {
269
+ margin-top: 1.25rem;
270
+ }
271
+
272
+ .mt-6 {
273
+ margin-top: 1.5rem;
274
+ }
275
+
276
+ .mt-7 {
277
+ margin-top: 1.75rem;
278
+ }
279
+
280
+ .mt-8 {
281
+ margin-top: 2rem;
282
+ }
283
+
284
+ .my-8 {
285
+ margin-top: 2rem;
286
+ margin-bottom: 2rem;
287
+ }
288
+
289
+ .q-ml-sm {
290
+ margin-left: 0.5rem;
291
+ }
292
+
293
+ /* Width */
294
+ .w-1 {
295
+ width: 0.25rem;
296
+ }
297
+
298
+ .w-2 {
299
+ width: 0.5rem;
300
+ }
301
+
302
+ .w-3 {
303
+ width: 0.75rem;
304
+ }
305
+
306
+ .w-4 {
307
+ width: 1rem;
308
+ }
309
+
310
+ .w-5 {
311
+ width: 1.25rem;
312
+ }
313
+
314
+ .w-6 {
315
+ width: 1.5rem;
316
+ }
317
+
318
+ .w-7 {
319
+ width: 1.75rem;
320
+ }
321
+
322
+ .w-8 {
323
+ width: 2rem;
324
+ }
325
+
326
+ .w-9 {
327
+ width: 2.25rem;
328
+ }
329
+
330
+ .w-10 {
331
+ width: 2.5rem;
332
+ }
333
+
334
+ .w-full {
335
+ width: 100%;
336
+ }
337
+
338
+ /* Height */
339
+ .h-1 {
340
+ height: 0.25rem;
341
+ }
342
+
343
+ .h-2 {
344
+ height: 0.5rem;
345
+ }
346
+
347
+ .h-3 {
348
+ height: 0.75rem;
349
+ }
350
+
351
+ .h-4 {
352
+ height: 1rem;
353
+ }
354
+
355
+ .h-5 {
356
+ height: 1.25rem;
357
+ }
358
+
359
+ .h-6 {
360
+ height: 1.5rem;
361
+ }
362
+
363
+ .h-7 {
364
+ height: 1.75rem;
365
+ }
366
+
367
+ .h-8 {
368
+ height: 2rem;
369
+ }
370
+
371
+ .h-9 {
372
+ height: 2.25rem;
373
+ }
374
+
375
+ .h-10 {
376
+ height: 2.5rem;
377
+ }
378
+
379
+ .h-full {
380
+ height: 100%;
381
+ }
382
+
383
+ /* ==================== Typography ==================== */
384
+ .text-xs {
385
+ font-size: 0.75rem;
386
+ line-height: 1rem;
387
+ }
388
+
389
+ .text-sm {
390
+ font-size: 0.875rem;
391
+ line-height: 1.25rem;
392
+ }
393
+
394
+ .text-body1 {
395
+ font-size: 1rem;
396
+ line-height: 1.5rem;
397
+ }
398
+
399
+ .text-body2 {
400
+ font-size: 0.875rem;
401
+ line-height: 1.25rem;
402
+ }
403
+
404
+ .text-subtitle2 {
405
+ font-size: 0.875rem;
406
+ line-height: 1.375rem;
407
+ font-weight: 500;
408
+ }
409
+
410
+ .text-h1 {
411
+ font-size: 3rem;
412
+ line-height: 3.5rem;
413
+ }
414
+
415
+ .text-h2 {
416
+ font-size: 2.5rem;
417
+ line-height: 3rem;
418
+ }
419
+
420
+ .text-h3 {
421
+ font-size: 2rem;
422
+ line-height: 2.5rem;
423
+ }
424
+
425
+ .text-h4 {
426
+ font-size: 1.875rem;
427
+ line-height: 2.25rem;
428
+ }
429
+
430
+ .text-h5 {
431
+ font-size: 1.5rem;
432
+ line-height: 2rem;
433
+ }
434
+
435
+ .text-h6 {
436
+ font-size: 1.25rem;
437
+ line-height: 1.75rem;
438
+ }
439
+
440
+ .text-lg {
441
+ font-size: 1.125rem;
442
+ line-height: 1.75rem;
443
+ }
444
+
445
+ .text-center {
446
+ text-align: center;
447
+ }
448
+
449
+ /* Font Weight */
450
+ .font-medium {
451
+ font-weight: 500;
452
+ }
453
+
454
+ .font-medium {
455
+ font-weight: 500;
456
+ }
457
+
458
+ .font-semibold {
459
+ font-weight: 600;
460
+ }
461
+
462
+ .font-bold {
463
+ font-weight: 700;
464
+ }
465
+
466
+ .font-mono {
467
+ font-family: monospace;
468
+ }
469
+
470
+ /* Text Color */
471
+ .text-black {
472
+ color: #000000;
473
+ }
474
+
475
+ .text-white {
476
+ color: #ffffff;
477
+ }
478
+
479
+ .text-grey-1 {
480
+ color: #f5f5f5;
481
+ }
482
+
483
+ .text-grey-2 {
484
+ color: #eeeeee;
485
+ }
486
+
487
+ .text-grey-3 {
488
+ color: #e0e0e0;
489
+ }
490
+
491
+ .text-grey-4 {
492
+ color: #bdbdbd;
493
+ }
494
+
495
+ .text-grey-5 {
496
+ color: #9e9e9e;
497
+ }
498
+
499
+ .text-grey-6 {
500
+ color: #757575;
501
+ }
502
+
503
+ .text-grey-7 {
504
+ color: #616161;
505
+ }
506
+
507
+ .text-grey-8 {
508
+ color: #424242;
509
+ }
510
+
511
+ .text-grey-9 {
512
+ color: #212121;
513
+ }
514
+
515
+ .text-primary {
516
+ color: #1976d2;
517
+ }
518
+
519
+ .text-secondary {
520
+ color: #9c27b0;
521
+ }
522
+
523
+ .text-positive {
524
+ color: #4caf50;
525
+ }
526
+
527
+ .text-negative {
528
+ color: #c10015;
529
+ }
530
+
531
+ .text-warning {
532
+ color: #ff9800;
533
+ }
534
+
535
+ .text-info {
536
+ color: #0288d1;
537
+ }
538
+
539
+ .cursor-pointer {
540
+ cursor: pointer;
541
+ }