3388 Commits

Author SHA1 Message Date
pngwn
dfd03f38bd
chore: update versions (#8069)
* chore: update versions

* Revert @gradio/code

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>
2024-04-25 23:08:27 +00:00
Freddy Boulton
0efd72e608
Add Analytics for custom components (#8130)
* Analytics

* add changeset

* add changeset

* Add code

* Modify pnpm

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-25 20:51:50 +00:00
pngwn
15a7106a36
allow custom component authors to provide custom vite plugins and svelte preprocessors (#6787) 2024-04-25 19:58:42 +01:00
aliabid94
2e469a5f99
Using keys to preserve values between reloads (#8056)
* changes

* add changeset

* changes

* add changeset

* changes

* changes

* changes

* changes

* changes

* changes

* add changeset

* rev pn

* changes

* changes

---------

Co-authored-by: Ali Abid <aliabid94@gmail.com>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-25 11:25:53 -07:00
pngwn
0a42e96537
Allow users to template the ImageEditor when using custom components (#8133)
* fix image editor template for cc

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-25 17:08:14 +00:00
Yuichiro Tachibana (Tsuchiya)
937c858371
Use orjson to serialize dict including np.array (#8041)
* Use orjson to serialize dict including np.array

* add changeset

* Update json_component demo and add an E2E test using it

* Rename demo/json_component -> demo/json_component_blocks

* Add json_component_interface demo and an E2E test using it

* Fix to await assertion promises

* Revert renaming of json_component demo

* add changeset

* Rename js/app/test/json_component_blocks.spec.ts -> js/app/test/json_component.spec.ts

* Revert changes in routes.py and add orjson to json_component.py

* Update gr.Checkbox.postprocess to ensure a bool value is returned

* add changeset

* Remove the if-block in gr.Checkbox.postprocess handling NumPy arrays as they are not reasonable values to be interpreted as checkbox's value

* Update gr.JSON's docstring

* Add test/components/test_json_component.py

* Remove JSON component E2E tests

* Update gr.JSON's docstring

* docstring

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-25 16:13:01 +09:00
Freddy Boulton
68640358fe
Add session hash to gr request (#8117)
* Add code

* add changeset

* Improve docs'

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-24 15:29:32 -04:00
Abubakar Abid
487db7b5d5
Respect auth_dependency parameter in launch() (#8097)
* respect auth dependency provided in launch()

* add changeset

* format

* add changeset

* changes

* fix lint

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-23 14:26:19 -07:00
Abubakar Abid
cbf2d4ec51
fix typo from #8105 (#8107)
* js docs

* changes

* fix typo
2024-04-23 20:34:20 +00:00
Abubakar Abid
006fa3c6d0
improve the documentation for js parameter in Blocks, Interface, ChatInterface (#8105)
* js docs

* changes

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-23 13:16:54 -07:00
Abubakar Abid
cbdfbdfc97
upgrade ruff test dependency to ruff==0.4.1 (#8100)
* upgrade ruff==0.4.1

* add changeset

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-23 09:16:58 -07:00
Freddy Boulton
32cfa614d6
Remove auto-created files from gradio cc publish and other tweaks (#8040)
* Change flow

* add changeset

* Add readme

* Fix twine issue and artifacts

* add changeset

* Update gradio/cli/commands/components/publish.py

Co-authored-by: Lucain <lucainp@gmail.com>

* Upload gitignore file + HfAPI tweaks

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Lucain <lucainp@gmail.com>
2024-04-23 10:57:20 -04:00
aliabid94
91a7a31cd1
Store configs per session in the backend (#8030)
* changes

* add changeset

* changes

* changes

* changes

* changes

* changes

* changes

* changeas

* add changeset

* unrelated fix

* Update gradio/blocks.py

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

---------

Co-authored-by: Ali Abid <aliabid94@gmail.com>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-22 11:20:05 -07:00
Lucain
ac30e07f92
[HF OAuth] Logout user if oauth token has expired (#8093)
* Logout user if oauth token has expired

* add changeset

* add changeset

* mark flaky test as flaky

* fixes

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-22 08:18:04 -07:00
Abubakar Abid
b50a67defe
Fix GRADIO_CACHE_EXAMPLES environment variable to only take effect if fn and outputs parameters are provided (#8087)
* lazy cache fix

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-21 11:39:48 -07:00
pngwn
624f9b9477
make gradio dev tools a local dependency rather than bundling (#8066) 2024-04-19 18:41:40 -04:00
Yuichiro Tachibana (Tsuchiya)
568eeb26a9
Fix gr.Interface.from_pipeline() to allow audio uploads and to display classification labels correctly (#8080)
* Allow audio file inputs

* Stop comma-splitting label texts

* add changeset

* add changeset

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-20 06:55:38 +09:00
3210448723
d7461aab51
Fix an encoding issue in gradio/components/code.py (#8077)
* Fix an enconding issue in gradio/components/code.py

Changes Made:
Modified the postprocess function in gradio/components/code.py to handle file encoding properly.
Added encoding="utf-8" parameter to the open function when reading code files. I hardcoded UTF-8 because I couldn't figure out how to specify the encoding, similar to the fix in gradio-app#8075. My issue is gradio-app#8076

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-19 16:05:55 -04:00
Freddy Boulton
2afca65419
Add max_file_size parameter to launch() that limits the size of files that can be uploaded in the Gradio app (#7909)
* File size limits

* Implementation

* add changeset

* Fix tests

* python client support

* lint

* fix test

* lint

* add changeset

* Set at the blocks level

* add changeset

* type check

* format

* lint

* lint

* Delete files as soon as they're encountered

* fix tests

* type hint 🙄

* Fix tests

* Fix below limit test

* add changeset

* Fix tests

* Add client file

* revert loop code

* Add to guides

* Pass in via gradio component

* add changeset

* Update loading status

* Make errors closeable

* add changeset

* Add code

* Lint

* Changelog highlight

* Fix i18n in storybook

* Address comments

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-19 15:38:53 -04:00
Toru Suzuki
5d9db89aa6
Fix causing Hot Reload (#8070) (#8075)
* Fix bug causing Hot Reload failure in code containing non-English languages due to missing encoding specification (#8070)

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-19 12:44:18 -04:00
pngwn
ddc5d3866c
chore: update versions (#7992)
* chore: update versions

* changeset

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 18:09:10 +00:00
pngwn
074ce3805a
ensure the ImageEditor works correctly with layers and change events (#8059)
* stuff

* fix layrs

* add changeset

* lint

* ensure a default image can be passed when sources list is empty

* fix loading status

* add layers option to disable layer ui

* types

* fix tests

* cleanup

* cleanup

* notebooks

* fix composite

* fix

* fix trash icon

* add changeset

* fix layer bg

* fix error display

* notebooks

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-18 15:55:00 +00:00
Yuichiro Tachibana (Tsuchiya)
522daf787a
Patch async_save_url_to_cache for Lite (#8026)
* Update `async_save_url_to_cache` to work on Wasm

* Refactoring `save_url_to_cache`

* add changeset

* Fix

* Use pyodide.http as a custom transport of httpx

* Use urllib3 as a custom transport of httpx to make sync http requests

* Add an E2E test case to detect the bugs on remote resource caching

* add changeset

* Add image_remote_url E2E test

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-17 03:54:34 +09:00
pngwn
dbb7373dde
ensure ImageEditor events work as expected (#7845)
* changes

* changes

* more fix

* more fix

* add changeset

* fix initial crop

* fix format

* fix format

* fix formats

* faster?

* race condition

* fixes + test

* fix type?

* notebooks

* fix type

* change demo

* add changeset

* fix type

* fix type

* fix type again

* fix type again again

* lint

* lint again

* fix test

* tests

* fix

* tests

* address comments

* fix notebooks

* fix tests

* fix stories

* fix webcam ui

* cleanup

* add changeset

* fix input event

* add format param + fix input event

* fix test

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-15 20:16:07 +00:00
Lucain
a0c2848ab5
Fix internal server error in HF OAuth workflow (#8000)
* Fix internal server error in HF OAuth workflow

* add changeset

* finally working

* add changeset

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-14 17:08:50 -05:00
Yuichiro Tachibana (Tsuchiya)
f17d1a0a6f
Add an explicit dependency of urllib3~=2.0 and update processing_utils.save_url_to_cache to use urllib3 for Lite support (#8011)
* Add an explicit dependency of `urllib3` and update `processing_utils.save_url_to_cache` to use `urllib3` for Lite support

* add changeset

* Update requirements.txt

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* add changeset

* update test requirements

* update test reqs

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-14 17:46:55 +00:00
Sc077y
e10ec6a612
Fix multimode interface double box on file upload (#8014)
* fix(chat_interface.py): fix 'submit_btn' not being set to 'None' when an instance of 'gr.MultimodalTextbox' is passed to 'textbox' argument of 'ChatInterface'

* fix typo

* add changeset

* fix(chat_interface.py): fix 'container' glitch for multimodal interface

* fix(chat_interface.py): fix bug where empty string is added to history when only a file or more was provided

* fix prior commit

* add changeset

* fix lines interchanged

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>
2024-04-12 19:37:16 -04:00
Michael
299c87c477
Document that show_copy_button in gr.Textbox is not visible when show_label=False (#8012)
* Document that show_copy_button in gr.Textbox is not visible when show_label=False
Remove dict_to_dataclass since its not used

* add changeset

* tweak wording

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-12 18:17:19 +00:00
cocktailpeanut
05f935c8d8
GRADIO_SHARE Environment Variable (#7986)
* GRADIO_SHARE Environment Variable

An environment variable to force `share=True` when launching gradio, regardless of what was passed in as argument.

Useful for taking any Gradio-powered app and making them run with the gradio.live link WITHOUT having to update the code.

* make it work for both share=True and share=False

* correct parsing

- `"GRADIO_SHARE": "0"` => `False`
- `"GRADIO_SHARE": "1"` => `True`

* comment

* Apply GRADIO_SHARE only if it's not specified in code.

* one line

* remove line

* add changeset

* included in docstring

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-11 10:29:22 -04:00
Lucain
5f0248e797
When authenticating with HF OAuth, stay in same tab (#7887)
* OAuth: stay in same tab

* add changeset

* add changeset

* typo

* scroll

* add changeset

* lint

* test

* test with timeout

* log

* new test

* fix origin in postMessage

* with timeout

* shoud be fine

* lint

* lint

* remove logs

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-10 14:15:26 +01:00
Charles
d28dab8224
[ZeroGPU] postMessage zerogpu-headers (#7877)
* Backup

* postMessage origin

* postMessage "zerogpu-headers" -> fetch headers

* Fix api_factory headers

* Oops

* ruff format

* Prettier

* Fix from_config

* Works with direct URL (without auth headers)

* Check that we're on Spaces

* Honor formatting
2024-04-09 12:44:15 -07:00
pngwn
b561a27816
chore: update versions (#7914) 2024-04-08 20:07:24 +01:00
Scott Davidson
1a7851c512
Fix handling of single font name in theme (#7967)
* Fix handling of single font name in theme

Previous check failed because `str` is an instance of Iterable so was never correctly wrapped in `[...]`. Instead, providing a single font such as "Arial" would result in a font list of "A, r, i, a, l" in the bundled CSS.

* Handle single fonts.Font instance correctly

* add changeset

* changes

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Ali Abid <aliabid94@gmail.com>
2024-04-08 11:52:56 -07:00
WH-Yoshi
bad383645e
Adding hint list[list] for example parameter (#7966)
* Adding hint list[list] for example parameter

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-08 16:44:32 +00:00
Freddy Boulton
eae97c29ce
Fix task bug in python 3.9 (#7961) 2024-04-08 07:59:53 -07:00
Freddy Boulton
b78129d90f
Use asyncio.Event to stop stream in heartbeat route (#7932) 2024-04-05 11:57:49 -07:00
Abubakar Abid
8250a1a0df
Handle the case of multiple headers when constructing root url (#7938)
* handle the case of multiple headers

* lint

* add changeset

* Update gradio/route_utils.py

* add changeset

* lint

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-05 02:35:12 +00:00
Abubakar Abid
919afffcee
Adds a Guide on deploying Gradio apps with Docker (#7935)
* finish guide

* more informative exception

* add changeset

* add dockerfile to prism languages

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: aliabd <ali.si3luwa@gmail.com>
2024-04-04 19:23:23 -07:00
Freddy Boulton
a4782f7a09
Allow displaying gr.Code examples by their filename if value is a tuple (#7912)
* Add code

* add changeset

* add changeset

* Only display filename

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-04 00:38:55 +00:00
Abubakar Abid
2bae1cfbd4
Adds an "API Recorder" to the view API page, some internal methods have been made async (#7850)
* changes

* code recorder

* api docs

* add changeset

* changes

* change

* add changeset

* add changeset

* changes

* fixes

* format

* changes

* fix

* add changeset

* rename

* api recorder

* docs

* changes for pr

* fix

* async-ify

* add changeset

* fix typing

* fixes

* fix test/test_blocks

* fix more tests

* fix test

* add changeset

* fix more tests

* add async version

* make 2 separate functions

* format

* fix

* format

* fix tests

* move resource

* changes

* fix cache

* lite fixes

* make lazy cache async

* fix

* fix

* flaky

* replace null with None

* fixes

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-03 14:28:06 -07:00
Shubham raj
b729f10321
Bugfix: Fix color and size keys in theme builder app (#7756)
* Bugfix: Update color and size keys in theme builder app

* add changeset

* add changeset

* changes

* changes

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: aliabid94 <aabid94@gmail.com>
Co-authored-by: Ali Abid <aliabid94@gmail.com>
2024-04-02 21:09:05 +00:00
pngwn
bbdbd28453
chore: update versions (#7871)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-02 13:33:48 -04:00
Freddy Boulton
6a4bf7abe2
Delete user state when they close the tab. Add an unload event for the demo and a delete_callback on gr.State to let developers control how resources are cleaned up (#7829)
* Delete state

* add changeset

* Delete state

* WIP

* Add load event

* Working ttl

* unload e2e test

* Clean up

* add changeset

* Fix notebook

* add changeset

* Connect to heartbeat in python client

* 15 second heartbeat

* Demo for unload

* Add notebook

* add changeset

* Fix docs

* revert demo changes

* Add docstrings

* lint 🙄

* Edit

* handle shutdown issue

* state comments

* client test

* Fix:

* Fix e2e test

* 3.11 incompatibility

* delete after one hour

* lint + highlight

* Update .changeset/better-tires-shave.md

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* Update .changeset/better-tires-shave.md

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-04-01 18:31:56 -04:00
aliabid94
5e66e01abc
Fix audio streaming out (#7881)
* changes

* add changeset

* changes

* changes

* changes

* changes

* changes

* changes

---------

Co-authored-by: Ali Abid <aliabid94@gmail.com>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-01 02:25:16 -07:00
Abubakar Abid
024b44c553
Add support for lazy caching of examples, as well as add GRADIO_CACHE_EXAMPLES env variable (#7863)
* lazy cache

* lazy cache

* add changeset

* changes

* changes

* helpers

* revert

* changes

* changes

* bash scriipt

* internal

* changes

* check

* setup

* fix

* lint

* add changeset

* revert

* fix

* fix test

* add changeset

* partial fix

* flaky

* lint

* change test

* add changeset

* change default behavior, add env

* set env correctly

* fixes

* format

* don't block event loop

* changes:

* get space

* add to chat interface

* add flag for deferring caching

* fixes

* lazy sync

* format

* added support in chat_interface

* add documentation

* fix test

* add test

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-03-29 23:14:33 +00:00
Freddy Boulton
f42d3e29c7
Make internal event handlers of gr.Interface and gr.ChatInterface async (#7893)
* Make async

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-03-29 14:35:21 -07:00
Nicolas Oliver
c7933ffedb
Suppress printing "Running on local URL:" when quiet is set (#7892)
* Update blocks.py

Suppress printing "Running on local URL:" when quiet is set

* add changeset

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-03-29 20:23:14 +00:00
Michael
ccdab9b7e7
logout route deleting cookie fix (#7886)
* logout button now deletes cookies by calling RedirectResponse before deleting cookies

* add changeset

* response

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-03-29 18:07:29 +00:00
Freddy Boulton
946487cf8e
Cache view_api info in server and python client (#7888)
* Cache view_api info

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-03-29 13:17:42 -04:00
aliabid94
7bbc3b62bf
JS functions break entire app if there's no input, fixed (#7865)
* changes

* add changeset

* add changeset

* changes

* changes

* changes

---------

Co-authored-by: Ali Abid <aliabid94@gmail.com>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-03-28 14:54:46 -07:00