meeting-noter 1.3.0__py3-none-any.whl → 2.0.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.

Potentially problematic release.


This version of meeting-noter might be problematic. Click here for more details.

@@ -0,0 +1,257 @@
1
+ /* Meeting Noter TUI Styles */
2
+
3
+ /* Base container styles */
4
+ #main-container,
5
+ #recordings-container,
6
+ #search-container,
7
+ #settings-container,
8
+ #viewer-container,
9
+ #logs-container {
10
+ padding: 1 2;
11
+ }
12
+
13
+ /* Title styling */
14
+ .title {
15
+ text-align: center;
16
+ text-style: bold;
17
+ padding: 1 0;
18
+ color: $accent;
19
+ }
20
+
21
+ /* Section headers */
22
+ .section-header {
23
+ margin-top: 1;
24
+ margin-bottom: 0;
25
+ color: $text-muted;
26
+ text-align: center;
27
+ }
28
+
29
+ /* Spacers */
30
+ .spacer {
31
+ height: 1;
32
+ }
33
+
34
+ .spacer-large {
35
+ height: 2;
36
+ }
37
+
38
+ /* Main content area */
39
+ .main-content {
40
+ align: center middle;
41
+ padding: 2;
42
+ }
43
+
44
+ /* Centered input section */
45
+ .input-section {
46
+ width: auto;
47
+ height: auto;
48
+ }
49
+
50
+ /* Centered input rows */
51
+ .centered-input-row {
52
+ height: 3;
53
+ width: auto;
54
+ align: center middle;
55
+ }
56
+
57
+ .centered-switch-row {
58
+ height: 3;
59
+ width: auto;
60
+ align: center middle;
61
+ margin-top: 1;
62
+ }
63
+
64
+ .input-label {
65
+ width: 18;
66
+ text-align: right;
67
+ padding-right: 1;
68
+ }
69
+
70
+ .meeting-input {
71
+ width: 30;
72
+ }
73
+
74
+ /* Centered button rows */
75
+ .centered-button-row {
76
+ height: 3;
77
+ width: auto;
78
+ align: center middle;
79
+ }
80
+
81
+ .centered-button-row Button {
82
+ margin: 0 1;
83
+ min-width: 16;
84
+ }
85
+
86
+ /* Old input rows (for backwards compat) */
87
+ .input-row {
88
+ height: 3;
89
+ margin: 1 0;
90
+ align: center middle;
91
+ }
92
+
93
+ .input-row Label {
94
+ width: 16;
95
+ }
96
+
97
+ .input-row Input {
98
+ width: 40;
99
+ }
100
+
101
+ /* Switch rows */
102
+ .switch-row {
103
+ height: 3;
104
+ margin: 1 0;
105
+ align: center middle;
106
+ }
107
+
108
+ .switch-row Label {
109
+ width: 18;
110
+ }
111
+
112
+ /* Button rows */
113
+ .button-row {
114
+ height: 3;
115
+ margin: 1 0;
116
+ align: center middle;
117
+ }
118
+
119
+ .button-row Button {
120
+ margin: 0 1;
121
+ }
122
+
123
+ /* Navigation row */
124
+ .nav-row {
125
+ height: 3;
126
+ margin: 1 0;
127
+ align: center middle;
128
+ }
129
+
130
+ .nav-row Button {
131
+ margin: 0 1;
132
+ }
133
+
134
+ /* Search row */
135
+ .search-row {
136
+ height: 3;
137
+ margin: 1 0;
138
+ }
139
+
140
+ .search-row Input {
141
+ width: 1fr;
142
+ margin-right: 1;
143
+ }
144
+
145
+ /* Options row */
146
+ .options-row {
147
+ height: 3;
148
+ }
149
+
150
+ /* Settings form */
151
+ .settings-form {
152
+ padding: 1 2;
153
+ }
154
+
155
+ .setting-row {
156
+ height: 3;
157
+ margin: 0 0 1 0;
158
+ }
159
+
160
+ .setting-label {
161
+ width: 22;
162
+ }
163
+
164
+ .setting-input {
165
+ width: 1fr;
166
+ }
167
+
168
+ /* DataTable */
169
+ DataTable {
170
+ height: 1fr;
171
+ scrollbar-gutter: stable;
172
+ }
173
+
174
+ DataTable > .datatable--cursor {
175
+ background: $accent 30%;
176
+ }
177
+
178
+ /* ListView */
179
+ ListView {
180
+ height: 1fr;
181
+ border: solid $primary;
182
+ }
183
+
184
+ ListView > ListItem {
185
+ padding: 0 1;
186
+ }
187
+
188
+ ListView > ListItem.--highlight {
189
+ background: $accent 30%;
190
+ }
191
+
192
+ /* RichLog */
193
+ RichLog {
194
+ height: 1fr;
195
+ border: solid $primary;
196
+ scrollbar-gutter: stable;
197
+ }
198
+
199
+ /* Live transcript display */
200
+ #live-transcript {
201
+ height: 10;
202
+ min-height: 6;
203
+ max-height: 15;
204
+ border: solid $primary;
205
+ margin: 0 2;
206
+ }
207
+
208
+ #live-header {
209
+ margin-top: 1;
210
+ }
211
+
212
+ /* TextArea */
213
+ TextArea {
214
+ height: 1fr;
215
+ border: solid $primary;
216
+ }
217
+
218
+ /* Status display */
219
+ #status {
220
+ border: solid $primary;
221
+ padding: 1 2;
222
+ margin: 1 4;
223
+ height: auto;
224
+ min-height: 5;
225
+ }
226
+
227
+ /* Status label */
228
+ #status-label {
229
+ text-align: center;
230
+ margin-top: 1;
231
+ }
232
+
233
+ /* File info label */
234
+ #file-info {
235
+ text-align: center;
236
+ }
237
+
238
+ /* Results header/footer */
239
+ #results-header,
240
+ #results-footer {
241
+ text-align: center;
242
+ margin: 1 0;
243
+ }
244
+
245
+ /* Select widget */
246
+ Select {
247
+ width: 30;
248
+ }
249
+
250
+ /* Button styling - prevent text selection appearance */
251
+ Button {
252
+ text-style: bold;
253
+ }
254
+
255
+ Button:focus {
256
+ text-style: bold;
257
+ }
@@ -0,0 +1 @@
1
+ """UI Widgets for Meeting Noter."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meeting-noter
3
- Version: 1.3.0
3
+ Version: 2.0.0
4
4
  Summary: Offline meeting transcription for macOS with automatic meeting detection
5
5
  Author: Victor
6
6
  License: MIT
@@ -27,6 +27,7 @@ Requires-Dist: sounddevice>=0.4.6
27
27
  Requires-Dist: numpy>=1.24
28
28
  Requires-Dist: faster-whisper>=1.0.0
29
29
  Requires-Dist: imageio-ffmpeg>=0.4.9
30
+ Requires-Dist: textual>=0.47.0
30
31
  Requires-Dist: pyobjc-framework-Cocoa>=9.0; sys_platform == "darwin"
31
32
  Requires-Dist: pyobjc-framework-Quartz>=9.0; sys_platform == "darwin"
32
33
  Requires-Dist: pyobjc-framework-ScreenCaptureKit>=9.0; sys_platform == "darwin"
@@ -1,10 +1,10 @@
1
- meeting_noter/__init__.py,sha256=6WLmaMLX2bfnCWqF2vzOnwjKo728hFUrDHXgUjykajQ,103
1
+ meeting_noter/__init__.py,sha256=UpvJiLNpsDsoEbxhb6uqsVi1Sa0aUY4BvxWHfaYcBXg,103
2
2
  meeting_noter/__main__.py,sha256=6sSOqH1o3jvgvkVzsVKmF6-xVGcUAbNVQkRl2CrygdE,120
3
- meeting_noter/cli.py,sha256=XMTDUpXpmfvy8E0KqXAtS3GD382xKJSzHBpZdvPfbwE,34771
3
+ meeting_noter/cli.py,sha256=m9oHXqRLM8nilFRNaPcVgNOyflmBV9qQ6YHQZmGMG0I,36790
4
4
  meeting_noter/config.py,sha256=vdnTh6W6-DUPJCj0ekFu1Q1m87O7gx0QD3E5DrRGpXk,7537
5
- meeting_noter/daemon.py,sha256=u9VrYe94o3lxabuIS9MDVPHSH7MqKqzTqGTuA7TNAIc,19767
5
+ meeting_noter/daemon.py,sha256=i81IXgEnsoAoMewknySO5_ECa1nCGOsVLfXtJXJf0rw,21611
6
6
  meeting_noter/meeting_detector.py,sha256=St0qoMkvUERP4BaxnXO1M6fZDJpWqBf9In7z2SgWcWg,10564
7
- meeting_noter/mic_monitor.py,sha256=P8vF4qaZcGrEzzJyVos78Vuf38NXHGNRREDsD-HyBHc,16211
7
+ meeting_noter/mic_monitor.py,sha256=SIsgb8X6uhYuA0CgsRhTjYi8aA-oSUm9vL0r_kQki3g,17239
8
8
  meeting_noter/update_checker.py,sha256=sMmIiiZJL6K7wqLWE64Aj4hS8uspjUOirr6BG_IlL1I,1701
9
9
  meeting_noter/audio/__init__.py,sha256=O7PU8CxHSHxMeHbc9Jdwt9kePLQzsPh81GQU7VHCtBY,44
10
10
  meeting_noter/audio/capture.py,sha256=fDrT5oXfva8vdFlht9cv60NviKbksw2QeJ8eOtI19uE,6469
@@ -28,8 +28,19 @@ meeting_noter/resources/icon_64.png,sha256=TqG7Awx3kK8YdiX1e_z1odZonosZyQI2trlkN
28
28
  meeting_noter/transcription/__init__.py,sha256=7GY9diP06DzFyoli41wddbrPv5bVDzH35bmnWlIJev4,29
29
29
  meeting_noter/transcription/engine.py,sha256=G9NcSS6Q-UhW7PlQ0E85hQXn6BWao64nIvyw4NR2yxI,7208
30
30
  meeting_noter/transcription/live_transcription.py,sha256=YfojFWv4h3Lp-pK5tjIauvimCWAmDhj6pj5gUmyBxr4,9539
31
- meeting_noter-1.3.0.dist-info/METADATA,sha256=Y8UXDVyKjcA_F4Ck8czm9GlNpsAjUcbFnLJLAAAdEdw,6939
32
- meeting_noter-1.3.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
33
- meeting_noter-1.3.0.dist-info/entry_points.txt,sha256=osZoOmm-UBPCJ4b6DGH6JOAm7mofM2fK06eK6blplmg,83
34
- meeting_noter-1.3.0.dist-info/top_level.txt,sha256=9Tuq04_0SXM0OXOHVbOHkHkB5tG3fqkrMrfzCMpbLpY,14
35
- meeting_noter-1.3.0.dist-info/RECORD,,
31
+ meeting_noter/ui/__init__.py,sha256=iK31upnYwlfQ4fB2laAlR2EqXLFTAgCxq0PU6AvfZ38,130
32
+ meeting_noter/ui/app.py,sha256=GSElpPMqYK8aJOgT5R4DX5N5yTzPD9iswnU2m8oOVcw,2272
33
+ meeting_noter/ui/screens/__init__.py,sha256=oiSNVk39W8zzvxleCIwApZWWV1CP1NKcaUhl801trVg,520
34
+ meeting_noter/ui/screens/logs.py,sha256=zO7TDcpzkU8DdKbHhhfvkI5WCc46dsiGcPe9n1Oix4g,5797
35
+ meeting_noter/ui/screens/main.py,sha256=wQO6mke2ox885ybekAun5fb1T5DbC9gET5cDiCqy54E,12501
36
+ meeting_noter/ui/screens/recordings.py,sha256=P-GDcklAEZPNaerrT5aNV73boJ2xwAUirnH-7phUTX0,7677
37
+ meeting_noter/ui/screens/search.py,sha256=seJUSFYzaFjJGiPRMz9FctdgovTjkOMl8KDGBRP-FX0,6590
38
+ meeting_noter/ui/screens/settings.py,sha256=Zb9-1rkPap1oUNcu4SJcOIemI8DmVC_5uqMd_MbLaCM,7247
39
+ meeting_noter/ui/screens/viewer.py,sha256=5LVhghDcpshlisCrygk9H3uwOh48vmonMd8d4NH77hU,3991
40
+ meeting_noter/ui/styles/app.tcss,sha256=-uE-1mE3oqKBZW1-pySmOZhK9oxjEQqcG7LDprwxBg4,3396
41
+ meeting_noter/ui/widgets/__init__.py,sha256=6aVXLDGFXL9PnX5bCnMAqRqOvsv4VuzK_T2UTySQlTg,36
42
+ meeting_noter-2.0.0.dist-info/METADATA,sha256=_t77Osf039ZI_VOKMgOsk-OGcBe0SX950SUpsHvVzmY,6970
43
+ meeting_noter-2.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
44
+ meeting_noter-2.0.0.dist-info/entry_points.txt,sha256=osZoOmm-UBPCJ4b6DGH6JOAm7mofM2fK06eK6blplmg,83
45
+ meeting_noter-2.0.0.dist-info/top_level.txt,sha256=9Tuq04_0SXM0OXOHVbOHkHkB5tG3fqkrMrfzCMpbLpY,14
46
+ meeting_noter-2.0.0.dist-info/RECORD,,