@gradio/core 0.12.0 → 0.13.0
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.
- package/CHANGELOG.md +45 -0
- package/dist/src/Blocks.svelte +28 -14
- package/dist/src/lang/en.json +2 -1
- package/dist/src/types.d.ts +1 -0
- package/package.json +49 -49
- package/src/Blocks.svelte +29 -14
- package/src/lang/en.json +2 -1
- package/src/types.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
# @gradio/core
|
|
2
2
|
|
|
3
|
+
## 0.13.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- [#10778](https://github.com/gradio-app/gradio/pull/10778) [`373007b`](https://github.com/gradio-app/gradio/commit/373007b3e9d019ee41589d1dbb09a7511a024a51) - Allow sorting by multiple columns in dataframe. Thanks @hannahblair!
|
|
8
|
+
|
|
9
|
+
### Dependency updates
|
|
10
|
+
|
|
11
|
+
- @gradio/image@0.21.5
|
|
12
|
+
- @gradio/upload@0.15.5
|
|
13
|
+
- @gradio/statustracker@0.10.5
|
|
14
|
+
- @gradio/button@0.4.10
|
|
15
|
+
- @gradio/video@0.14.5
|
|
16
|
+
- @gradio/atoms@0.14.0
|
|
17
|
+
- @gradio/code@0.12.0
|
|
18
|
+
- @gradio/paramviewer@0.7.3
|
|
19
|
+
- @gradio/gallery@0.15.10
|
|
20
|
+
- @gradio/plot@0.9.10
|
|
21
|
+
- @gradio/textbox@0.10.5
|
|
22
|
+
- @gradio/column@0.2.0
|
|
23
|
+
- @gradio/checkbox@0.4.15
|
|
24
|
+
- @gradio/file@0.12.10
|
|
25
|
+
|
|
26
|
+
## 0.12.1
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
- [#10694](https://github.com/gradio-app/gradio/pull/10694) [`16244f3`](https://github.com/gradio-app/gradio/commit/16244f3c1cb1a65ac1f719142f8fab67512fbb25) - Event Listeners in gradio sketch. Thanks @aliabid94!
|
|
31
|
+
|
|
32
|
+
### Fixes
|
|
33
|
+
|
|
34
|
+
- [#10719](https://github.com/gradio-app/gradio/pull/10719) [`b710d7c`](https://github.com/gradio-app/gradio/commit/b710d7cf13c1277fd18c7809cad0f707b880ef70) - Fix error display. Thanks @aliabid94!
|
|
35
|
+
|
|
36
|
+
### Dependency updates
|
|
37
|
+
|
|
38
|
+
- @gradio/code@0.11.2
|
|
39
|
+
- @gradio/video@0.14.4
|
|
40
|
+
- @gradio/client@1.13.1
|
|
41
|
+
- @gradio/wasm@0.17.4
|
|
42
|
+
- @gradio/gallery@0.15.9
|
|
43
|
+
- @gradio/upload@0.15.4
|
|
44
|
+
- @gradio/button@0.4.9
|
|
45
|
+
- @gradio/image@0.21.4
|
|
46
|
+
- @gradio/file@0.12.9
|
|
47
|
+
|
|
3
48
|
## 0.12.0
|
|
4
49
|
|
|
5
50
|
### Features
|
package/dist/src/Blocks.svelte
CHANGED
|
@@ -98,7 +98,11 @@ function set_settings_visible(visible) {
|
|
|
98
98
|
let api_calls = [];
|
|
99
99
|
export let render_complete = false;
|
|
100
100
|
async function handle_update(data, fn_index) {
|
|
101
|
-
const
|
|
101
|
+
const dep = dependencies.find((dep2) => dep2.id === fn_index);
|
|
102
|
+
if (!dep) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const outputs = dep.outputs;
|
|
102
106
|
const meta_updates = data?.map((value, i) => {
|
|
103
107
|
return {
|
|
104
108
|
id: outputs[i],
|
|
@@ -188,7 +192,11 @@ async function get_component_value_or_event_data(component_id, trigger_id, event
|
|
|
188
192
|
return get_data(component_id);
|
|
189
193
|
}
|
|
190
194
|
async function trigger_api_call(dep_index, trigger_id = null, event_data = null) {
|
|
191
|
-
|
|
195
|
+
const _dep = dependencies.find((dep2) => dep2.id === dep_index);
|
|
196
|
+
if (_dep === void 0) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const dep = _dep;
|
|
192
200
|
if (inputs_waiting.length > 0) {
|
|
193
201
|
for (const input of inputs_waiting) {
|
|
194
202
|
if (dep.inputs.includes(input)) {
|
|
@@ -202,6 +210,17 @@ async function trigger_api_call(dep_index, trigger_id = null, event_data = null)
|
|
|
202
210
|
if (current_status === "pending" || current_status === "generating") {
|
|
203
211
|
dep.pending_request = true;
|
|
204
212
|
}
|
|
213
|
+
let deps_to_remove = [];
|
|
214
|
+
if (dep.render_id != null) {
|
|
215
|
+
dependencies.forEach((other_dep, i) => {
|
|
216
|
+
if (other_dep.rendered_in === dep.render_id) {
|
|
217
|
+
deps_to_remove.push(i);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
deps_to_remove.reverse().forEach((i) => {
|
|
222
|
+
dependencies.splice(i, 1);
|
|
223
|
+
});
|
|
205
224
|
let payload = {
|
|
206
225
|
fn_index: dep_index,
|
|
207
226
|
data: await Promise.all(
|
|
@@ -294,7 +313,7 @@ async function trigger_api_call(dep_index, trigger_id = null, event_data = null)
|
|
|
294
313
|
);
|
|
295
314
|
} catch (e) {
|
|
296
315
|
const fn_index = 0;
|
|
297
|
-
if (
|
|
316
|
+
if (app.closed)
|
|
298
317
|
return;
|
|
299
318
|
messages = [
|
|
300
319
|
new_message("Error", String(e), fn_index, "error"),
|
|
@@ -341,15 +360,6 @@ async function trigger_api_call(dep_index, trigger_id = null, event_data = null)
|
|
|
341
360
|
let render_layout = data.layout;
|
|
342
361
|
let _dependencies = data.dependencies;
|
|
343
362
|
let render_id = data.render_id;
|
|
344
|
-
let deps_to_remove = [];
|
|
345
|
-
dependencies.forEach((dep2, i) => {
|
|
346
|
-
if (dep2.rendered_in === render_id) {
|
|
347
|
-
deps_to_remove.push(i);
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
deps_to_remove.reverse().forEach((i) => {
|
|
351
|
-
dependencies.splice(i, 1);
|
|
352
|
-
});
|
|
353
363
|
_dependencies.forEach((dep2) => {
|
|
354
364
|
dependencies.push(dep2);
|
|
355
365
|
});
|
|
@@ -406,11 +416,15 @@ async function trigger_api_call(dep_index, trigger_id = null, event_data = null)
|
|
|
406
416
|
];
|
|
407
417
|
}
|
|
408
418
|
if (status.stage === "complete" || status.stage === "generating") {
|
|
419
|
+
const deps_triggered_by_state = /* @__PURE__ */ new Set();
|
|
409
420
|
status.changed_state_ids?.forEach((id) => {
|
|
410
421
|
dependencies.filter((dep2) => dep2.targets.some(([_id, _2]) => _id === id)).forEach((dep2) => {
|
|
411
|
-
|
|
422
|
+
deps_triggered_by_state.add(dep2);
|
|
412
423
|
});
|
|
413
424
|
});
|
|
425
|
+
deps_triggered_by_state.forEach((dep2) => {
|
|
426
|
+
wait_then_trigger_api_call(dep2.id, payload2.trigger_id);
|
|
427
|
+
});
|
|
414
428
|
}
|
|
415
429
|
if (status.stage === "complete") {
|
|
416
430
|
dependencies.forEach(async (dep2) => {
|
|
@@ -564,7 +578,7 @@ function update_status(id, status, data) {
|
|
|
564
578
|
function set_status(statuses) {
|
|
565
579
|
let updates = [];
|
|
566
580
|
Object.entries(statuses).forEach(([id, loading_status2]) => {
|
|
567
|
-
if (
|
|
581
|
+
if (app.closed && loading_status2.status === "error") {
|
|
568
582
|
return;
|
|
569
583
|
}
|
|
570
584
|
let dependency = dependencies.find(
|
package/dist/src/lang/en.json
CHANGED
|
@@ -73,7 +73,8 @@
|
|
|
73
73
|
"sort_column": "Sort column",
|
|
74
74
|
"sort_ascending": "Sort ascending",
|
|
75
75
|
"sort_descending": "Sort descending",
|
|
76
|
-
"drop_to_upload": "Drop CSV or TSV files here to import data into dataframe"
|
|
76
|
+
"drop_to_upload": "Drop CSV or TSV files here to import data into dataframe",
|
|
77
|
+
"clear_sort": "Clear sort"
|
|
77
78
|
},
|
|
78
79
|
"dropdown": {
|
|
79
80
|
"dropdown": "Dropdown"
|
package/dist/src/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gradio/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"@gradio/accordion": "^0.5.
|
|
7
|
-
"@gradio/atoms": "^0.
|
|
8
|
-
"@gradio/
|
|
9
|
-
"@gradio/
|
|
10
|
-
"@gradio/
|
|
11
|
-
"@gradio/button": "^0.4.
|
|
12
|
-
"@gradio/chatbot": "^0.24.
|
|
13
|
-
"@gradio/
|
|
14
|
-
"@gradio/
|
|
15
|
-
"@gradio/client": "^1.13.
|
|
16
|
-
"@gradio/code": "^0.
|
|
17
|
-
"@gradio/colorpicker": "^0.4.
|
|
18
|
-
"@gradio/dataset": "^0.4.8",
|
|
19
|
-
"@gradio/datetime": "^0.3.6",
|
|
6
|
+
"@gradio/accordion": "^0.5.9",
|
|
7
|
+
"@gradio/atoms": "^0.14.0",
|
|
8
|
+
"@gradio/box": "^0.2.13",
|
|
9
|
+
"@gradio/annotatedimage": "^0.9.11",
|
|
10
|
+
"@gradio/audio": "^0.17.5",
|
|
11
|
+
"@gradio/button": "^0.4.10",
|
|
12
|
+
"@gradio/chatbot": "^0.24.4",
|
|
13
|
+
"@gradio/checkboxgroup": "^0.6.15",
|
|
14
|
+
"@gradio/checkbox": "^0.4.15",
|
|
15
|
+
"@gradio/client": "^1.13.1",
|
|
16
|
+
"@gradio/code": "^0.12.0",
|
|
17
|
+
"@gradio/colorpicker": "^0.4.15",
|
|
20
18
|
"@gradio/column": "^0.2.0",
|
|
21
|
-
"@gradio/
|
|
22
|
-
"@gradio/dataframe": "^0.
|
|
23
|
-
"@gradio/
|
|
24
|
-
"@gradio/
|
|
25
|
-
"@gradio/dropdown": "^0.9.
|
|
26
|
-
"@gradio/
|
|
27
|
-
"@gradio/fileexplorer": "^0.5.
|
|
28
|
-
"@gradio/
|
|
19
|
+
"@gradio/dataset": "^0.4.10",
|
|
20
|
+
"@gradio/dataframe": "^0.17.0",
|
|
21
|
+
"@gradio/datetime": "^0.3.7",
|
|
22
|
+
"@gradio/downloadbutton": "^0.3.10",
|
|
23
|
+
"@gradio/dropdown": "^0.9.14",
|
|
24
|
+
"@gradio/file": "^0.12.10",
|
|
25
|
+
"@gradio/fileexplorer": "^0.5.21",
|
|
26
|
+
"@gradio/form": "^0.2.13",
|
|
27
|
+
"@gradio/fallback": "^0.4.15",
|
|
29
28
|
"@gradio/group": "^0.2.0",
|
|
30
|
-
"@gradio/
|
|
29
|
+
"@gradio/gallery": "^0.15.10",
|
|
30
|
+
"@gradio/highlightedtext": "^0.8.15",
|
|
31
|
+
"@gradio/html": "^0.6.6",
|
|
31
32
|
"@gradio/icons": "^0.10.0",
|
|
32
|
-
"@gradio/
|
|
33
|
-
"@gradio/imageeditor": "^0.12.
|
|
34
|
-
"@gradio/image": "^0.21.
|
|
35
|
-
"@gradio/
|
|
36
|
-
"@gradio/label": "^0.5.6",
|
|
33
|
+
"@gradio/json": "^0.5.15",
|
|
34
|
+
"@gradio/imageeditor": "^0.12.12",
|
|
35
|
+
"@gradio/image": "^0.21.5",
|
|
36
|
+
"@gradio/label": "^0.5.7",
|
|
37
37
|
"@gradio/browserstate": "^0.3.1",
|
|
38
|
-
"@gradio/markdown": "^0.13.
|
|
39
|
-
"@gradio/
|
|
40
|
-
"@gradio/
|
|
41
|
-
"@gradio/
|
|
42
|
-
"@gradio/
|
|
43
|
-
"@gradio/
|
|
44
|
-
"@gradio/
|
|
45
|
-
"@gradio/
|
|
46
|
-
"@gradio/
|
|
38
|
+
"@gradio/markdown": "^0.13.5",
|
|
39
|
+
"@gradio/model3d": "^0.14.5",
|
|
40
|
+
"@gradio/multimodaltextbox": "^0.9.11",
|
|
41
|
+
"@gradio/number": "^0.5.15",
|
|
42
|
+
"@gradio/nativeplot": "^0.5.9",
|
|
43
|
+
"@gradio/paramviewer": "^0.7.3",
|
|
44
|
+
"@gradio/sidebar": "^0.1.7",
|
|
45
|
+
"@gradio/plot": "^0.9.10",
|
|
46
|
+
"@gradio/radio": "^0.6.15",
|
|
47
47
|
"@gradio/row": "^0.2.1",
|
|
48
|
-
"@gradio/
|
|
49
|
-
"@gradio/simpletextbox": "^0.3.
|
|
50
|
-
"@gradio/
|
|
51
|
-
"@gradio/
|
|
52
|
-
"@gradio/
|
|
48
|
+
"@gradio/simpledropdown": "^0.3.15",
|
|
49
|
+
"@gradio/simpletextbox": "^0.3.15",
|
|
50
|
+
"@gradio/sketchbox": "^0.6.2",
|
|
51
|
+
"@gradio/slider": "^0.6.3",
|
|
52
|
+
"@gradio/statustracker": "^0.10.5",
|
|
53
|
+
"@gradio/simpleimage": "^0.8.21",
|
|
53
54
|
"@gradio/state": "^0.1.2",
|
|
54
|
-
"@gradio/statustracker": "^0.10.4",
|
|
55
55
|
"@gradio/tabitem": "^0.4.2",
|
|
56
56
|
"@gradio/tabs": "^0.4.2",
|
|
57
|
+
"@gradio/textbox": "^0.10.5",
|
|
57
58
|
"@gradio/theme": "^0.4.0",
|
|
59
|
+
"@gradio/upload": "^0.15.5",
|
|
60
|
+
"@gradio/uploadbutton": "^0.8.10",
|
|
58
61
|
"@gradio/timer": "^0.4.4",
|
|
59
|
-
"@gradio/upload": "^0.15.3",
|
|
60
|
-
"@gradio/textbox": "^0.10.4",
|
|
61
|
-
"@gradio/uploadbutton": "^0.8.8",
|
|
62
62
|
"@gradio/utils": "^0.10.1",
|
|
63
|
-
"@gradio/video": "^0.14.
|
|
64
|
-
"@gradio/wasm": "^0.17.
|
|
63
|
+
"@gradio/video": "^0.14.5",
|
|
64
|
+
"@gradio/wasm": "^0.17.4"
|
|
65
65
|
},
|
|
66
66
|
"msw": {
|
|
67
67
|
"workerDirectory": "public"
|
package/src/Blocks.svelte
CHANGED
|
@@ -125,7 +125,11 @@
|
|
|
125
125
|
|
|
126
126
|
export let render_complete = false;
|
|
127
127
|
async function handle_update(data: any, fn_index: number): Promise<void> {
|
|
128
|
-
const
|
|
128
|
+
const dep = dependencies.find((dep) => dep.id === fn_index);
|
|
129
|
+
if (!dep) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const outputs = dep.outputs;
|
|
129
133
|
|
|
130
134
|
const meta_updates = data?.map((value: any, i: number) => {
|
|
131
135
|
return {
|
|
@@ -263,7 +267,11 @@
|
|
|
263
267
|
trigger_id: number | null = null,
|
|
264
268
|
event_data: unknown = null
|
|
265
269
|
): Promise<void> {
|
|
266
|
-
|
|
270
|
+
const _dep = dependencies.find((dep) => dep.id === dep_index);
|
|
271
|
+
if (_dep === undefined) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
const dep = _dep;
|
|
267
275
|
if (inputs_waiting.length > 0) {
|
|
268
276
|
for (const input of inputs_waiting) {
|
|
269
277
|
if (dep.inputs.includes(input)) {
|
|
@@ -278,6 +286,18 @@
|
|
|
278
286
|
dep.pending_request = true;
|
|
279
287
|
}
|
|
280
288
|
|
|
289
|
+
let deps_to_remove: number[] = [];
|
|
290
|
+
if (dep.render_id != null) {
|
|
291
|
+
dependencies.forEach((other_dep, i) => {
|
|
292
|
+
if (other_dep.rendered_in === dep.render_id) {
|
|
293
|
+
deps_to_remove.push(i);
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
deps_to_remove.reverse().forEach((i) => {
|
|
298
|
+
dependencies.splice(i, 1);
|
|
299
|
+
});
|
|
300
|
+
|
|
281
301
|
let payload: Payload = {
|
|
282
302
|
fn_index: dep_index,
|
|
283
303
|
data: await Promise.all(
|
|
@@ -387,7 +407,7 @@
|
|
|
387
407
|
);
|
|
388
408
|
} catch (e) {
|
|
389
409
|
const fn_index = 0; // Mock value for fn_index
|
|
390
|
-
if (
|
|
410
|
+
if (app.closed) return; // when a user navigates away in multipage app.
|
|
391
411
|
messages = [
|
|
392
412
|
new_message("Error", String(e), fn_index, "error"),
|
|
393
413
|
...messages
|
|
@@ -438,15 +458,6 @@
|
|
|
438
458
|
let _dependencies: Dependency[] = data.dependencies;
|
|
439
459
|
let render_id = data.render_id;
|
|
440
460
|
|
|
441
|
-
let deps_to_remove: number[] = [];
|
|
442
|
-
dependencies.forEach((dep, i) => {
|
|
443
|
-
if (dep.rendered_in === render_id) {
|
|
444
|
-
deps_to_remove.push(i);
|
|
445
|
-
}
|
|
446
|
-
});
|
|
447
|
-
deps_to_remove.reverse().forEach((i) => {
|
|
448
|
-
dependencies.splice(i, 1);
|
|
449
|
-
});
|
|
450
461
|
_dependencies.forEach((dep) => {
|
|
451
462
|
dependencies.push(dep);
|
|
452
463
|
});
|
|
@@ -529,13 +540,17 @@
|
|
|
529
540
|
}
|
|
530
541
|
|
|
531
542
|
if (status.stage === "complete" || status.stage === "generating") {
|
|
543
|
+
const deps_triggered_by_state: Set<Dependency> = new Set();
|
|
532
544
|
status.changed_state_ids?.forEach((id) => {
|
|
533
545
|
dependencies
|
|
534
546
|
.filter((dep) => dep.targets.some(([_id, _]) => _id === id))
|
|
535
547
|
.forEach((dep) => {
|
|
536
|
-
|
|
548
|
+
deps_triggered_by_state.add(dep);
|
|
537
549
|
});
|
|
538
550
|
});
|
|
551
|
+
deps_triggered_by_state.forEach((dep) => {
|
|
552
|
+
wait_then_trigger_api_call(dep.id, payload.trigger_id);
|
|
553
|
+
});
|
|
539
554
|
}
|
|
540
555
|
if (status.stage === "complete") {
|
|
541
556
|
dependencies.forEach(async (dep) => {
|
|
@@ -719,7 +734,7 @@
|
|
|
719
734
|
value: LoadingStatus;
|
|
720
735
|
}[] = [];
|
|
721
736
|
Object.entries(statuses).forEach(([id, loading_status]) => {
|
|
722
|
-
if (
|
|
737
|
+
if (app.closed && loading_status.status === "error") {
|
|
723
738
|
// when a user navigates away in multipage app.
|
|
724
739
|
return;
|
|
725
740
|
}
|
package/src/lang/en.json
CHANGED
|
@@ -73,7 +73,8 @@
|
|
|
73
73
|
"sort_column": "Sort column",
|
|
74
74
|
"sort_ascending": "Sort ascending",
|
|
75
75
|
"sort_descending": "Sort descending",
|
|
76
|
-
"drop_to_upload": "Drop CSV or TSV files here to import data into dataframe"
|
|
76
|
+
"drop_to_upload": "Drop CSV or TSV files here to import data into dataframe",
|
|
77
|
+
"clear_sort": "Clear sort"
|
|
77
78
|
},
|
|
78
79
|
"dropdown": {
|
|
79
80
|
"dropdown": "Dropdown"
|