Commit Graph

84 Commits

Author SHA1 Message Date
Abubakar Abid
1c8d3cb05d
Simplify tests (#3608)
* simplify tests

* imports

* imports

* formatting

* removed cometml typing

* simplify

* changelog
2023-03-24 12:39:30 -07:00
Abubakar Abid
7a4e22b61a
Fixes Blocks exit issue (#3600)
* fix

* changelog

* blocks

* formatting
2023-03-24 09:48:32 -07:00
Freddy Boulton
8ec2b0b98a
Sharing themes (#3428)
* Rebase

* Remove build hooks

* Working implementation

* Add semver + unit tests

* CHANGELOG

* Add to docs

* Rename push_to_hub and fix typos

* Fix gallery

* Fix typo

* Address comments + tests

* Update gradio/themes/app.py

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

* Import Base as Theme. Use DefaultTheme() as fallback

* Fix types

* Make version and token truly optional

* Add version dropdown + tests

* trigger

* Support private themes and org_names

* Fix org_name typo

* Update wheel

* Fix font loading and dumping

* fixing tests

* fix tests

* formatting

* version

* remove requirements

* remove requirements

* formatting

* fix tests

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-03-18 20:15:02 -07:00
aliabid94
8114202697
Use soft theme instead of glass theme in demo (#3503)
* changes

* changes

* changes

* changes

* changes

* Update gradio/themes/base.py

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

* Update gradio/themes/base.py

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* Update guides/03_building-with-blocks/06_theming-guide

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

* changes

* changes

* changes

* changes

* changes

* undo merge break

* changes

* changes

* changes

* fix

* theme_to_soft

* changes

* formatting

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-03-18 13:07:23 -07:00
space-nuko
52253b8bb1
Remove IOComponent.add_interactive_to_config (#3476)
* Remove `IOComponent.add_interactive_to_config`

* Move interactive mode conversion into postprocess

* Requested changes

* Update tests

* Fix test

* Fix test

* Fix test

* Fix test

* updating test file

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-03-18 08:13:19 -07:00
gitgithan
ee1a76fd10
fix #3282 avoid in-place dict updates (#3405)
* fix #3282 avoid in-place dict updates

* add tests and changelog for PR3405
2023-03-07 10:12:19 -08:00
Freddy Boulton
47d6231680
Always set queue=False if every is None for load events (#3391)
* Always set queue=False if every is None

* CHANGELOG + linting

* Move to latest release section

* changelog

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-03-06 18:27:04 -07:00
Freddy Boulton
53e4733f2a
Add types field to dependency config (#3315)
* Add to config

* CHANGELOG

* Safe pop

* Fix test
2023-02-24 20:07:31 -05:00
Abubakar Abid
74d9080fcd
Miscellaneous warnings and errors (#3194)
* changes

* added workflow

* fix action

* fix action

* fix action

* warning for filetypes

* miscellaneous warnings and errors

* Delete benchmark-queue.yml

* Delete benchmark_queue.py

* changelog

* warning

* formatting

* changelog

* formatting
2023-02-14 16:21:09 -06:00
Freddy Boulton
c06b4eab16
Bar Plot Component (#3157)
* Add code - first draft

* Getting better

* Work out the bugs

* Fix docstrings

* CHANGELOG

* Fix test

* Generate notebooks

* Add unit test

* Undo website package.lock

* Fix demo

* Fix notebooks

* Fix docstrings

* Improve example in CHANGELOG

* Address comments + feedback

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-02-09 16:42:25 -05:00
Freddy Boulton
9beb15b3ec
Turn Submit Button into Cancel Button for Interfaces with generators (#3124)
* Switch back from stop button

* Add unit test

* CHANGELOG

* Fix test

* lint

* Reset UI after exception
2023-02-06 14:30:21 -05:00
Freddy Boulton
9b15e9a1f8
Update docs to explain how reload mode can be used with queue/auth (#3089)
* Add note to guide

* Add more explanation

* Undo changes

* CHANGELOG

* Make work with queue + fix docs

* Changelog fix

* Add unit test

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-02-02 15:39:45 -05:00
Freddy Boulton
9ccfef0542
Fix auth on spaces (#3049)
* Add route alias

* on button click

* Fix config

* Do not redirect

* Use login to check if other route necessary

* Add message about HF spaces

* CHANGELOG

* Add gif to changelog
2023-01-30 11:11:32 -05:00
Freddy Boulton
eac49196a7
Properly Restart Queue After App is Closed (#3022)
* Debug code

* Fix bug + add test

* CHANGELOG

* Update test

* Revert change

* Use 1 second sleep

Co-authored-by: aliabid94 <aabid94@gmail.com>
2023-01-24 10:52:09 -05:00
Anton Lozhkov
981cd1ea68
Fix the path check for long CSS strings in Blocks (#2953)
* Fix the path check for long CSS strings in Blocks

* Add a test

* Update changelog
2023-01-08 06:31:21 -05:00
aliabid94
58b1a074ba
Add Progress Bar component (#2750)
* changes

* version

* changes

* fixes

* changes

* changes

* changes

* changes

* chagnes

* chagnes

* fix

* changes

* changes

* changes

* change

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* version update

* Commit from GitHub Actions (Upload Python Package)

* changes

* changes

* changes

* fix

* changes

* changes

* changes

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* changes

* changes

* changes

* changes

* change

* changes

* Update guides/01_getting_started/02_key_features.md

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

* Update gradio/helpers.py

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

* Update gradio/routes.py

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

* Update gradio/helpers.py

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

* Update guides/01_getting_started/02_key_features.md

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

* Update guides/01_getting_started/02_key_features.md

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

* Update demo/progress_simple/run.py

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

* Update demo/progress_simple/run.py

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

* Update demo/progress_simple/run.py

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

* Update website/homepage/src/docs/template.html

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

* Update website/homepage/src/docs/template.html

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

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* change

* changes

* changes

* changes

* change

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Co-authored-by: GH ACTIONS <aliabid94@users.noreply.github.com>
2022-12-30 11:45:54 -08:00
Abubakar Abid
de0c41c1c4
Enforcing typing in blocks.py and context.py (#2887)
* started pathlib

* blocks.py

* more changes

* fixes

* typing

* formatting

* typing

* renaming files

* changelog

* script

* changelog

* lint

* routes

* renamed

* state

* formatting

* state

* type check script

* remove strictness

* switched to pyright

* switched to pyright

* fixed flaky tests

* fixed test xray

* fixed load test

* fixed blocks tests

* formatting

* fixed components test

* uncomment tests

* fixed interpretation tests

* formatting

* last tests hopefully

* argh lint

* component

* fixed based on review

* refactor
2022-12-27 16:54:47 -05:00
Freddy Boulton
1765cf68ae
Make it so that default_enabled has no impact on queue behavior (#2876)
* Deprecate default_enabled + test

* CHANGELOG

* Remove docstring for deprecated param

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

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-12-21 16:11:20 -05:00
Freddy Boulton
96297c0bad
LinePlot (#2807)
* First draft

* Fix tests

* Fix pdb

* Figure out stroke dash + legend position

* Add legend position

* Add back gif

* Add demo + update demo

* Format notebooks

* Changelog

* More changelog

* Undo notebooks

* Reword

* Set lower bound for altair

* Modify docstrings

* Add LinePlot image to changelog
2022-12-20 11:13:51 -05:00
Abubakar Abid
4e7317036d
Adds an every parameter to every component (#2806)
* bigquery draft

* updated guide

* orjson fix

* formatting

* changelog

* attach every

* removed queue=False

* added test

* formatting

* adding event

* wip

* fix implementation

* remove prints

* formatting

* lint

* formatting

* reset guide

* changelog

* fix tests

* added test

* changelog

* renamed

* renamed

* lint
2022-12-15 16:07:44 -06:00
Abubakar Abid
20057aa946
Create fewer temp files and make them consistently-named (#2758)
* tmp files

* components

* changes

* temp_file_sets

* TempFileManager class

* added file manager

* internal functions

* tests

* formatting

* changes

* video tests

* added tests for File

* cheetah image

* formatting

* tests for upload button

* temp files

* formatting

* changelog

* fixed audio

* tmp files

* tmp files

* gallery

* deprecated type=file

* fixing tests

* patch os.path.exists

* fixed test_video_postprocess_converts_to_playable_format

* fixed tests

* changelog

* fix tests

* formatting

* added a download_if_needed

* formatting

* fixed download

* fixed gallery demo

* fix tests

* version

* fix for mac

* consolidate
2022-12-15 14:37:09 -06:00
Dawood Khan
714ab2cc09
Audio waveform (#2706)
* utils func

* changes

* changes

* changes

* notebook

* fix

* changes

* change

* changes

* changes

* notebook fix

* changes

* changes

* changes

* change

* fix

* revert backend changes,  gr.make_waveform

* notebook

* Update CHANGELOG.md

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

* format fix

* changes

* changes

* revert pnpm

* change

* change

* changes

* changes

* changes

Co-authored-by: Ali Abid <aabid94@gmail.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-12-15 12:35:22 -06:00
Freddy Boulton
3672e17256
Terminate generating events early if the session is closed (#2783)
* Return early if no awake events

* Add to changelog

* Add test

* Clarify when events are cancelled in the docs
2022-12-12 09:15:50 -05:00
Freddy Boulton
f60053d85f
gr.ScatterPlot component (#2764)
* Try clean install

* Resolve peer dependencies?

* CHANGELOG

* Add outbreak_forcast notebook

* generate again

* CHANGELOG

* Add image to changelog

* Color palette

* Fix colors + legend

* Tooltip

* Add axis titles

* Clean up code a bit + quant scales

* Add code

* Add size, shape + rename legend title

* Fix demo

* Add update + demo

* Handle darkmode better

* Try new font

* Use sans-serif

* Add caption

* Changelog + tests

* More tests

* Address comments

* Make caption fontsize smaller and enable interactivity

* Add docstrings + add height + width

* Use normal font weight

* Make last values keyword only

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

* Fix typo

* Accept value as fn

* reword changelog a bit

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-12-09 10:14:07 -05:00
Freddy Boulton
5b71ff7e6f
Update accordion from backend (#2690)
* Update accordion from backend

* Update changelog

* Add gif to changelog

* Use reactive values
2022-11-28 18:12:24 -05:00
Abubakar Abid
5e148c3752
Adding ability to access in Fastapi request object into your function (#2641)
* fastapi requests

* formatting

* implement

* fix

* formatting

* formatting

* changelog

* added demo

* remove print

* added to guide

* changes for queuing

* changes to gr.Request

* formatting

* formatting

* fixes

* lint

* fixed tests

* fix batching

* fixing tests

* cleanup

* lint

* added tests; fixed review

* improve docs
2022-11-19 00:52:06 -08:00
pngwn
4b57984ead
add password and email textbox types (#2653)
* add password and email textbox types

* changelog + fix tests

* formatting

* fix tests maybe

* fix tests

* add more tests

* whatever

* weird thing
2022-11-15 22:23:47 +01:00
Freddy Boulton
e6336d6882
Fix bug with gr.update and interactive=True (#2639)
* Fix update interactivity

* Lint

* CHANGELOG

* Fix

* Undo interactive=True

* Do not call update twice

* Add unit test

* Revert change

* Lint
2022-11-15 11:53:35 -05:00
Freddy Boulton
06353ca939
Pin fastapi test version to 0.87.0 (#2647)
* Pin fastapi test version

* trigger ci

* Upgrade to 0.87

* Update txt file
2022-11-14 14:31:03 -05:00
GLGDLY
b75b7b7475
Allow auth with using queue (#2611)
* Update queue.py

* Update queue.py

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update queue.py

* Update requirements.txt

websockets with version <=9.1 with raise TypeError: WebSocketCommonProtocol.__init__() got an unexpected keyword argument 'logger'

* fix issues after rebase

* feat Allow auth with using queue

* remove unused imports

* Update CHANGELOG.md

fix wrong position in changlog from the last pr #2428 also

* revert test_queue_enabled_for_fn that is changed due to unintended mistake

* remove comment

* update tests and merge main thread

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>
Co-authored-by: Ali Abid <aabid94@gmail.com>
2022-11-09 04:24:51 -05:00
Abubakar Abid
010827e211
Refactoring to replace unittests with pytests (#2610)
* replace pytests with unittests

* formatting

* test blocks

* fixed test/blocks

* test components

* working on test components

* test components

* test components almost fixed

* removed unittest

* linting

* fix remaining tests

* lint

* formatting

* changelog
2022-11-08 01:37:55 +01:00
aliabid94
91abb3ae11
Allow gradio embeds in colab without share (#2455)
* changes

* change

* changes

* changes

* changes

* Update colab.html

* update version

* changes

* Update gradio/templates/colab.html

Co-authored-by: pngwn <hello@pngwn.io>

* changes

* changes

* changers

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* revert

* changes

* changes

* changes

* strings

* formatting

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Co-authored-by: pngwn <hello@pngwn.io>
2022-11-03 15:51:30 -07:00
Freddy Boulton
a23eb53e3b
Run events every given number of seconds (#2512)
* WIP

* Fix implementation

* Fix units

* Rename

* Delete dead code

* This works

* Fix tests

* Final fix - still rough

* Reduce code duplication

* Fixing bugs + test

* Changelog

* Add gif to changelog

* Update demo and remove unused imports

* undo accidental diff

* Linting

* Add to guides

* Address comments

* formatting changelog

* Fix warnings
2022-10-28 17:53:06 -04:00
aliabid94
10552cb6fd
Allow user to send inputs as dictionary (#2550)
* change

* changes

* changes

* changes

* changes

* change

* changes

* changes

* changes

* changes

* changes

* format

* changes
2022-10-28 10:52:28 -07:00
Freddy Boulton
099e1e84ec
Properly dequeue cancelled events when multiple apps are rendered (#2540)
* Fix render + tests

* Add comment + changelog
2022-10-26 16:29:47 -04:00
Abubakar Abid
560b3f99c0
Fixes cancels to work with multiple blocks (#2530)
* fixes cancels to work with multiple blocks

* formatting and changelog

* formatting and test

* skip test in 3.7
2022-10-25 14:54:33 -07:00
Freddy Boulton
7f9223fdbe
Prevent api requests from skipping queue (#2493)
* Prevent request to rest api from skipping queue

* Release notes

* Make changes to show_api

* Update gradio/blocks.py

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

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-10-25 11:45:15 -04:00
Abubakar Abid
0e168c4dff
Batching (#2218)
* batch

* formatting

* added parameter

* batch

* added docstrings

* correct arguments

* docstring

* adapt process_api for batch

* backend

* __call__

* more regular tests

* formatting

* cleaning up blocks.py

* __call__ works

* api route works

* first attempt at queue

* fixing tests

* fix some tests

* formatting

* removed print

* merge

* queue works!

* removed batch timeout

* removed batch timeout

* updated documentation

* fixing tests

* fixing tests

* fixing queue tests

* fixing queue tests

* formatting

* fix blocks config

* fix tests

* update documentation

* updated tests

* blocks

* blocks

* blocks

* tests

* test fixes

* more tests

* faster

* foramtting

* test fixes

* dataclasses

* fix

* revert to fix test

* fix

* fix test

* formatting

* fix tests

* refactoring examples

* formatting

* changelog

* fix examples

* formatting

* fix tests

* formatting

* catch error

* formatting

* fix tests

* fix cancel with batch

* final tests and docs

* test routes

* formatting
2022-10-24 16:32:37 -07:00
Rahul Varma
a18099f683
Allow render() to return self (#2514)
* Update blocks.py

Updated render() function in Blocks to return self

* Update CHANGELOG.md

* formatting

* fix changelog

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-10-23 05:59:15 -07:00
Freddy Boulton
831ae1405f
Cancel events from other events (#2433)
* WIP

* Use async iteration

* Format + comment

* Very hacky WIP

* Fix synchronization

* Add comments + tidy up implementation

* Remove print

* Fix rebase

* Lint

* Disconnect queue when cancelled

* Add stop button for interface automaticallY

* Unit tests + interface fixes

* Skip some tests on 3.7

* Skip in 3.7

* Fix skip message

* Fix for python 3.7

* Add stop variant to button variant type union

* CHANGELOG

* Add demos/gifs to the changelog
2022-10-14 18:43:24 -04:00
Freddy Boulton
a03d0ebe7c
Prevent apps from hanging when running in reload mode and error occurs (#2394)
* Fix show_error in blocks

* dd to changelog + test
2022-10-04 16:10:02 -04:00
Abubakar Abid
c3306721a4
Adds ability to disable pre/post-processing for examples (#2383)
* fixing examples

* adding parameters

* postprocess

* examples

* added tests

* changelog

* Update CHANGELOG.md

* added docstrings

* Adds ability to provide a `gr.update()` dictionary even if `postprocess=False`  (#2385)

* docs

* fixes

* added docs, fixed test

* changelog

* fix suggestoins

* formatting

* fix tests

* fix tests
2022-10-04 12:51:20 -07:00
Abubakar Abid
e5a0a5e849
Raise error if Blocks has duplicate component with same IDs (#2359)
* duplicate error

* version

* version

* avoid rendering State twice

* changed error type
2022-09-28 13:29:25 -07:00
Freddy Boulton
9f7dd05b72
Start queue when gradio is a sub application (#2319)
* First stab at it

* Use util methos

* lint

* Test

* Fix formatting

* Try out setting predict endpoint from websocket request

* lint

* Fix bug

* Address comments - remove server and port

* Skip in 3.7

* Fix documentation

* Add default 🤦

* docs tweak

* Add back imports that were deleted by wrong linter version

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-09-23 16:01:44 -04:00
Abubakar Abid
c977ef1fa8
Supports gr.update() in example caching (#2309)
* support for update

* formatting

* testing

* fixes to tests

* fixes to tests

* fix tests

* fix review comments

* Update blocks.py
2022-09-21 11:53:06 -05:00
Freddy Boulton
f346118133
Show view api button even if there are no named api routes in the app (#2250)
* Show message when no named api routes

* Lint

* Change text slightly

* Add show_api to launch method + fix text

* Undo changes to demos

* Change url example
2022-09-15 11:11:31 -04:00
Freddy Boulton
422de63663
Fix postprocess when value is a dict with only one key (#2242)
* Unwrap + test

* Update tests + use resolve_singleton

* Undo test change
2022-09-14 12:06:32 -04:00
Abubakar Abid
2942e24aa3
Quick fix for partial functions (#2235)
* fix for partial

* added test

* fixed tests by adding self
2022-09-12 17:58:17 -07:00
Abubakar Abid
bf1510165d
Support for iterative outputs (#2189)
* Support for iterative outputs (#2162) (#2188)

* added generator demo

* fixed demo structure

* fixes

* fix failing tests due to refactor

* test components

* adding generators

* fixes

* iterative

* formatting

* add all

* added demo

* demo

* formatting

* fixed frontend

* 3.2.1b release

* removed test queue

* iterative

* formatting

* formatting

* Support for iterative outputs (#2149)

* added generator demo

* fixed demo structure

* fixes

* fix failing tests due to refactor

* test components

* adding generators

* fixes

* iterative

* formatting

* add all

* added demo

* demo

* formatting

* fixed frontend

* 3.2.1b release

* iterative

* formatting

* formatting

* reverted queue everywhere

* added queue to demos

* added fake diffusion with gif

* add to demos

* more complex counter

* fixes

* image gif

* fixes

* version

* merged

* added support for state

* formatting

* generating animation

* fix

* tests, iterator

* tests

* formatting

* tests for queuing

* version

* generating orange border animation

* testings

* added to documentation

Co-authored-by: Ali Abid <aabid94@gmail.com>
2022-09-08 07:35:31 -07:00
Freddy Boulton
6c1bfbb42c
Fix bugs with gr.update (#2157)
* Use void to reset to original state

* Cosmetic fixes to comments

* Use keyword

* Set default value to no value

* Fix test

* Make private

* Improve comment on _Keywords.NO_VALUE

Improve comment

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

* Use NO_VALUE in `test_blocks`

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

* Update test/test_blocks.py

Use NO_VALUE in tests

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

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2022-09-06 17:08:38 -04:00