-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Description
- I have searched to see if a similar issue already exists.
Hey @freddyaboulton 👋
I’d really love to contribute to Gradio, I’ve been following it and it’s awesome to see how competitive and fast-moving it’s become.
If this needs to be implemented, I’d be happy to take it on. Thanks!
Summary
Migrate the remaining Gradio frontend (Svelte) components and tests to Svelte 5 so the whole UI stack uses the new reactivity and runes APIs and we can remove temporary Python workarounds.
Context
- Most
js/components are already on Svelte 5 (e.g. Video, Audio, Upload, Textbox, Button, Gallery, Dataset, FileExplorer, JSON, Label, Markdown, Model3D, Sidebar, StatusTracker, etc.). - Dataframe is still on the pre–Svelte 5 version. The Python
gr.Dataframecomponent uses a temporary fix (__process_counts) forrow_count/column_countuntil the dataframe JS component is migrated; seegradio/components/dataframe.py(TODO around lines 178–180). - Some component tests still use the deprecated
$setpattern and need to be updated for Svelte 5 (e.g.js/video/Video.test.ts,js/gallery/Gallery.test.ts,js/dropdown/dropdown.test.ts).
Scope
- Migrate
js/dataframeto Svelte 5 – update syntax (runes,$state, etc.), then remove__process_countsand thecol_countfallback fromgradio/components/dataframe.py. - Fix tests that rely on deprecated
$set– update any remaining tests that use$setto the Svelte 5–compatible approach so CI stays green. - (Optional) Audit other
js/packages for any remaining non–Svelte 5 code or TODOs referencing the migration.
Success criteria
- All Gradio JS components run on Svelte 5.
- No temporary Python workarounds in
dataframe.pyfor the old dataframe JS component. - No test failures or skipped tests due to Svelte 5 /
$setdeprecation.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels