PyObservability 1.0.1__py3-none-any.whl → 1.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.
@@ -1,116 +1,326 @@
1
1
  :root {
2
- --bg: #0b1220;
3
- --panel: #0f1724;
4
- --muted: #9fb0d7;
5
- --accent: #63b3ff;
6
- --glass: rgba(255,255,255,0.03);
2
+ --bg: #0b1220;
3
+ --panel: #0f1724;
4
+ --muted: #9fb0d7;
5
+ --accent: #63b3ff;
6
+ --glass: rgba(255, 255, 255, 0.03);
7
7
  }
8
8
 
9
- * { box-sizing: border-box; }
10
- html,body {
11
- height:100%; margin:0; font-family: Inter, system-ui, -apple-system,
12
- "Segoe UI", Roboto, "Helvetica Neue", Arial; background:var(--bg); color:#e6eef8;
9
+ * {
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ html, body {
14
+ height: 100%;
15
+ margin: 0;
16
+ font-family: Inter, system-ui, -apple-system,
17
+ "Segoe UI", Roboto, "Helvetica Neue", Arial;
18
+ background: var(--bg);
19
+ color: #e6eef8;
20
+ }
21
+
22
+ .hidden {
23
+ display: none !important;
13
24
  }
14
25
 
15
- .hidden { display: none !important; }
16
26
  .topbar {
17
- display:flex; align-items:center; justify-content:space-between;
18
- padding:12px 20px; background:linear-gradient(90deg,#071028,#0b1530); border-bottom:1px solid rgba(255,255,255,0.02);
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: space-between;
30
+ padding: 12px 20px;
31
+ background: linear-gradient(90deg, #071028, #0b1530);
32
+ border-bottom: 1px solid rgba(255, 255, 255, 0.02);
33
+ }
34
+
35
+ .brand {
36
+ font-weight: 700;
37
+ font-size: 18px;
38
+ }
39
+
40
+ .controls {
41
+ display: flex;
42
+ gap: 8px;
43
+ align-items: center;
19
44
  }
20
- .brand { font-weight:700; font-size:18px; }
21
- .controls { display:flex; gap:8px; align-items:center; }
22
45
 
23
46
  .controls select, .controls button {
24
- background:var(--panel); color:inherit; border:1px solid rgba(255,255,255,0.04); padding:6px 8px; border-radius:6px;
47
+ background: var(--panel);
48
+ color: inherit;
49
+ border: 1px solid rgba(255, 255, 255, 0.04);
50
+ padding: 6px 8px;
51
+ border-radius: 6px;
52
+ }
53
+
54
+ .controls label {
55
+ font-size: 14px;
56
+ color: var(--muted);
57
+ margin-right: 6px;
25
58
  }
26
- .controls label { font-size:14px; color:var(--muted); margin-right:6px; }
27
59
 
28
- .container { padding:18px; display:flex; flex-direction:column; gap:16px; max-width:1200px; margin:0 auto; }
60
+ .container {
61
+ padding: 18px;
62
+ display: flex;
63
+ flex-direction: column;
64
+ gap: 16px;
65
+ max-width: 1200px;
66
+ margin: 0 auto;
67
+ }
68
+
69
+ .meta-row {
70
+ display: grid;
71
+ grid-template-columns: repeat(3, 1fr);
72
+ gap: 12px;
73
+ align-items: stretch;
74
+ }
29
75
 
30
- .meta-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: stretch; }
31
76
  .meta-card {
32
- display: flex; flex-direction: column; background:var(--panel); padding:12px; border-radius:8px; width:1fr;
33
- min-width:120px; flex:1; box-shadow:0 4px 12px rgba(2,6,23,0.6);
34
- }
35
- .meta-title { font-size:12px; color:var(--muted); }
36
- .meta-value { flex: 1; margin-top:6px; font-weight:600; font-size:16px; }
37
- .meta-value.pre { white-space:pre-wrap; font-family:monospace; font-size:13px; }
38
-
39
- .charts-row { display:flex; gap:12px; }
40
- .panel { background:var(--panel); border-radius:8px; padding:12px; box-shadow:0 6px 18px rgba(2,6,23,0.6); flex:1; }
41
- .panel.wide { flex:2; }
42
- .panel.narrow { flex:0.8; }
43
- .panel-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
44
- .panel-header h3 { margin:0; font-size:14px; }
45
- .panel-actions { font-size:13px; color:var(--muted); }
46
-
47
- .chart { height:220px !important; width:100% !important; }
48
- .chart-small { height:120px !important; width:100% !important; }
49
-
50
- .details-row { display:flex; gap:12px; }
51
- .cores-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap:8px; width:100%; overflow:hidden; }
52
- .core-mini { background:var(--glass); padding:6px; border-radius:6px; text-align:center; font-size:12px; }
53
- .core-mini .label { color:var(--muted); font-size:11px; }
54
- .core-mini .value { font-weight:700; margin-top:6px; }
55
-
56
- .tables-row { display:grid; grid-template-columns:1fr; grid-auto-rows:auto; gap:12px; }
57
- .table { width:100%; border-collapse:collapse; font-size:13px; }
58
- .table th, .table td { padding:8px; border-bottom:1px solid rgba(255,255,255,0.03); text-align:left; }
77
+ display: flex;
78
+ flex-direction: column;
79
+ background: var(--panel);
80
+ padding: 12px;
81
+ border-radius: 8px;
82
+ width: 1fr;
83
+ min-width: 120px;
84
+ flex: 1;
85
+ box-shadow: 0 4px 12px rgba(2, 6, 23, 0.6);
86
+ }
87
+
88
+ .meta-title {
89
+ font-size: 12px;
90
+ color: var(--muted);
91
+ }
92
+
93
+ .meta-value {
94
+ flex: 1;
95
+ margin-top: 6px;
96
+ font-weight: 600;
97
+ font-size: 16px;
98
+ }
99
+
100
+ .meta-value.pre {
101
+ white-space: pre-wrap;
102
+ font-family: monospace;
103
+ font-size: 13px;
104
+ }
105
+
106
+ .charts-row {
107
+ display: flex;
108
+ gap: 12px;
109
+ }
110
+
111
+ .panel {
112
+ background: var(--panel);
113
+ border-radius: 8px;
114
+ padding: 12px;
115
+ box-shadow: 0 6px 18px rgba(2, 6, 23, 0.6);
116
+ flex: 1;
117
+ }
118
+
119
+ .panel.wide {
120
+ flex: 2;
121
+ }
122
+
123
+ .panel.narrow {
124
+ flex: 0.8;
125
+ }
126
+
127
+ .panel-header {
128
+ display: flex;
129
+ justify-content: space-between;
130
+ align-items: center;
131
+ margin-bottom: 6px;
132
+ }
133
+
134
+ .panel-header h3 {
135
+ margin: 0;
136
+ font-size: 14px;
137
+ }
138
+
139
+ .panel-actions {
140
+ font-size: 13px;
141
+ color: var(--muted);
142
+ }
143
+
144
+ .chart {
145
+ height: 220px !important;
146
+ width: 100% !important;
147
+ }
148
+
149
+ .chart-small {
150
+ height: 120px !important;
151
+ width: 100% !important;
152
+ }
153
+
154
+ .details-row {
155
+ display: flex;
156
+ gap: 12px;
157
+ }
158
+
159
+ .cores-grid {
160
+ display: grid;
161
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
162
+ gap: 8px;
163
+ width: 100%;
164
+ overflow: hidden;
165
+ }
166
+
167
+ .core-mini {
168
+ background: var(--glass);
169
+ padding: 6px;
170
+ border-radius: 6px;
171
+ text-align: center;
172
+ font-size: 12px;
173
+ }
174
+
175
+ .core-mini .label {
176
+ color: var(--muted);
177
+ font-size: 11px;
178
+ }
179
+
180
+ .core-mini .value {
181
+ font-weight: 700;
182
+ margin-top: 6px;
183
+ }
184
+
185
+ .tables-row {
186
+ display: grid;
187
+ grid-template-columns:1fr;
188
+ grid-auto-rows: auto;
189
+ gap: 12px;
190
+ }
191
+
192
+ .table {
193
+ width: 100%;
194
+ border-collapse: collapse;
195
+ font-size: 13px;
196
+ }
197
+
198
+ .table th, .table td {
199
+ padding: 8px;
200
+ border-bottom: 1px solid rgba(255, 255, 255, 0.03);
201
+ text-align: left;
202
+ }
203
+
59
204
  .pre {
60
- background:rgba(255,255,255,0.02); padding:8px; border-radius:6px; overflow:auto; white-space:pre-wrap; font-family:monospace; font-size:13px;
205
+ background: rgba(255, 255, 255, 0.02);
206
+ padding: 8px;
207
+ border-radius: 6px;
208
+ overflow: auto;
209
+ white-space: pre-wrap;
210
+ font-family: monospace;
211
+ font-size: 13px;
61
212
  }
62
- .list { padding-left:14px; margin:8px 0; }
63
- .footer { padding:12px 20px; font-size:12px; color:var(--muted); text-align:center; border-top:1px solid rgba(255,255,255,0.02); margin-top:20px; }
64
- .service-controls { display:flex; gap:8px; padding-bottom:8px; }
65
- input#svc-filter { flex:1; padding:6px 8px; background:var(--panel); border:1px solid rgba(255,255,255,0.04); color:inherit; border-radius:6px; }
66
- input#proc-filter { flex:1; padding:6px 8px; background:var(--panel); border:1px solid rgba(255,255,255,0.04); color:inherit; border-radius:6px; }
67
213
 
68
- @media (max-width:900px) {
69
- .tables-row { grid-template-columns: 1fr; }
70
- .charts-row { flex-direction:column; }
71
- .details-row { flex-direction:column; }
72
- .meta-row { grid-template-columns: 1fr; }
214
+ .list {
215
+ padding-left: 14px;
216
+ margin: 8px 0;
217
+ }
218
+
219
+ .footer {
220
+ padding: 12px 20px;
221
+ font-size: 12px;
222
+ color: var(--muted);
223
+ text-align: center;
224
+ border-top: 1px solid rgba(255, 255, 255, 0.02);
225
+ margin-top: 20px;
226
+ }
227
+
228
+ .service-controls {
229
+ display: flex;
230
+ gap: 8px;
231
+ padding-bottom: 8px;
232
+ }
233
+
234
+ input#svc-filter {
235
+ flex: 1;
236
+ padding: 6px 8px;
237
+ background: var(--panel);
238
+ border: 1px solid rgba(255, 255, 255, 0.04);
239
+ color: inherit;
240
+ border-radius: 6px;
241
+ }
242
+
243
+ input#proc-filter {
244
+ flex: 1;
245
+ padding: 6px 8px;
246
+ background: var(--panel);
247
+ border: 1px solid rgba(255, 255, 255, 0.04);
248
+ color: inherit;
249
+ border-radius: 6px;
250
+ }
251
+
252
+ @media (max-width: 900px) {
253
+ .tables-row {
254
+ grid-template-columns: 1fr;
255
+ }
256
+
257
+ .charts-row {
258
+ flex-direction: column;
259
+ }
260
+
261
+ .details-row {
262
+ flex-direction: column;
263
+ }
264
+
265
+ .meta-row {
266
+ grid-template-columns: 1fr;
267
+ }
73
268
  }
74
269
 
75
270
  /* ---------------- SPINNER ------------------- */
76
271
  .loading-overlay {
77
- position: absolute;
78
- inset: 0;
79
- background: rgba(0,0,0,0.65); /* Darker so spinner is visible */
80
- backdrop-filter: blur(2px); /* Add blur to ensure visual separation */
81
- display: flex;
82
- justify-content: center;
83
- align-items: center;
84
- z-index: 50;
85
- border-radius: 8px;
272
+ position: absolute;
273
+ inset: 0;
274
+ background: rgba(0, 0, 0, 0.65); /* Darker so spinner is visible */
275
+ backdrop-filter: blur(2px); /* Add blur to ensure visual separation */
276
+ display: flex;
277
+ justify-content: center;
278
+ align-items: center;
279
+ z-index: 50;
280
+ border-radius: 8px;
86
281
  }
87
282
 
88
283
  .spinner {
89
- width: 32px;
90
- height: 32px;
91
- border: 4px solid rgba(255,255,255,0.25);
92
- border-top: 4px solid white; /* More contrast */
93
- border-radius: 50%;
94
- animation: spin 0.7s linear infinite;
284
+ width: 32px;
285
+ height: 32px;
286
+ border: 4px solid rgba(255, 255, 255, 0.25);
287
+ border-top: 4px solid white; /* More contrast */
288
+ border-radius: 50%;
289
+ animation: spin 0.7s linear infinite;
95
290
  }
96
291
 
97
292
  @keyframes spin {
98
- to { transform: rotate(360deg); }
293
+ to {
294
+ transform: rotate(360deg);
295
+ }
99
296
  }
100
297
 
101
298
  /* --------------- PAGINATION ------------------ */
102
- .pagination { display: flex; justify-content: center; gap: 6px; padding: 6px; margin-top: 6px; font-size: 13px; }
299
+ .pagination {
300
+ display: flex;
301
+ justify-content: center;
302
+ gap: 6px;
303
+ padding: 6px;
304
+ margin-top: 6px;
305
+ font-size: 13px;
306
+ }
103
307
 
104
308
  .pagination button {
105
- background: var(--panel); color: inherit; border: 1px solid rgba(255,255,255,0.05); padding: 4px 8px; border-radius: 4px; cursor: pointer;
309
+ background: var(--panel);
310
+ color: inherit;
311
+ border: 1px solid rgba(255, 255, 255, 0.05);
312
+ padding: 4px 8px;
313
+ border-radius: 4px;
314
+ cursor: pointer;
106
315
  }
107
316
 
108
317
  .pagination button.active {
109
- background: var(--accent);
110
- color: #000;
318
+ background: var(--accent);
319
+ color: #000;
111
320
  }
321
+
112
322
  .pagination-info {
113
- font-size: 13px;
114
- margin-bottom: 4px;
115
- opacity: 0.85;
323
+ font-size: 13px;
324
+ margin-bottom: 4px;
325
+ opacity: 0.85;
116
326
  }