Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use gradio-api-server for telemetry #3488

Merged
merged 19 commits into from
Mar 24, 2023
Merged

Use gradio-api-server for telemetry #3488

merged 19 commits into from
Mar 24, 2023

Conversation

dawoodkhan82
Copy link
Collaborator

Description

Sends requests for telemtry to gradio-api-server (https://github.com/gradio-app/gradio-api-server/pull/8)

Please include:

  • relevant motivation
  • a summary of the change
  • which issue is fixed.
  • any additional dependencies that are required for this change.

Closes: # (issue)

Checklist:

  • I have performed a self-review of my own code
  • I have added a short summary of my change to the CHANGELOG.md
  • My code follows the style guidelines of this project
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

A note about the CHANGELOG

Hello 👋 and thank you for contributing to Gradio!

All pull requests must update the change log located in CHANGELOG.md, unless the pull request is labeled with the "no-changelog-update" label.

Please add a brief summary of the change to the Upcoming Release > Full Changelog section of the CHANGELOG.md file and include
a link to the PR (formatted in markdown) and a link to your github profile (if you like). For example, "* Added a cool new feature by [@myusername](link-to-your-github-profile) in [PR 11111](https://github.com/gradio-app/gradio/pull/11111)".

If you would like to elaborate on your change further, feel free to include a longer explanation in the other sections.
If you would like an image/gif/video showcasing your feature, it may be best to edit the CHANGELOG file using the
GitHub web UI since that lets you upload files directly via drag-and-drop.

dawoodkhan82 and others added 2 commits March 16, 2023 17:39

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@abidlabs
Copy link
Member

Everything looks good to me @dawoodkhan82!

I've merged the gradio api server PR and restarted the API server, so can you double check that the analytics are going through from this branch before we merge in?

@gradio-pr-bot
Copy link
Collaborator

All the demos for this PR have been deployed at https://huggingface.co/spaces/gradio-pr-deploys/pr-3488-all-demos

@dawoodkhan82
Copy link
Collaborator Author

Doesn't seem like its working. Will take a look tomorrow and try to debug it locally. Elastic search must not like how I'm passing the request.form.

@abidlabs
Copy link
Member

Yeah maybe it needs to be converted to a dictionary explicitly

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@dawoodkhan82
Copy link
Collaborator Author

@abidlabs What do you suggest I pass here instead of blocks.theme?

@abidlabs
Copy link
Member

abidlabs commented Mar 23, 2023

I'd suggest adding a .name attribute to the ThemeClass class. This name is set by the 6 predefined themes to be the class name. And in the ThemeClass.from_hub() method, it should set it to the repo_name.

And then you could pass in blocks.theme.name

(cc @freddyaboulton)

@dawoodkhan82
Copy link
Collaborator Author

This wouldn't track local custom themes tho right? @abidlabs

@freddyaboulton
Copy link
Collaborator

freddyaboulton commented Mar 23, 2023

Good idea @abidlabs . That wouldn't capture cases where someone does gr.themes.Monochrome().set(.....). I suggest we also add a flag for is_custom_theme. We can define this as whether or not the theme is equal to any of the pre-defined themes, e.g. not any(theme.to_dict() == built_in_theme.to_dict() for built_in_theme in [gr.themes.Monochrome(), ....])

EDIT: will make the changes so that from_hub loads the name in a separate PR

@abidlabs
Copy link
Member

Correct, it would not. We could also add an attribute for that but maybe it's not necessary at this point (?)

@abidlabs
Copy link
Member

We can define this as whether or not the theme is equal to any of the pre-defined themes, e.g. not any(theme.to_dict() == built_in_theme.to_dict() for built_in_theme in [gr.themes.Monochrome(), ....])

Cool suggestion

@dawoodkhan82
Copy link
Collaborator Author

ready for re-review btw

@dawoodkhan82
Copy link
Collaborator Author

Thanks for adding name to themes @freddyaboulton!

@abidlabs
Copy link
Member

abidlabs commented Mar 24, 2023

LGTM @dawoodkhan82! Thanks for making the fix and testing it. One nit above, but otherwise, it the analytics are showing up for you on Kibana when you test this locally, then we should be good to go

Copy link
Collaborator

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool @dawoodkhan82 ! Looks good to me. Thanks for adding all the theme related analytics!

@dawoodkhan82
Copy link
Collaborator Author

Yup tested again today, everything looks good on kibana end

@dawoodkhan82 dawoodkhan82 merged commit 811d26a into main Mar 24, 2023
@dawoodkhan82 dawoodkhan82 deleted the analytics-api-server branch March 24, 2023 17:01
dawoodkhan82 added a commit that referenced this pull request Mar 29, 2023
* analytics

* changelog

* remove interface analytics

* ip

* remove import

* format

* theme name

* theme analytics

* format

* changelog

* fixes

* format

* remove unused param

---------

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
dawoodkhan82 added a commit that referenced this pull request Apr 6, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
* update gallery styles

* Set theme name from load (#3595)

* Add name + test

* Add theme names

* CHANGELOG

* Delete theme in interface

* Trigger event when Slider number input is released (#3589)

* Add event

* Add unit test

* CHANGELOG

* Sets up the Python `gradio` client (#3300)

* placeholder

* changelog

* added to readme

* client

* implement futures

* utils

* scripts

* lint

* reorg

* scripts

* serialization

* cleanup

* fns

* serialize

* cache

* callbacks

* updates

* formatting

* packaging

* requirements

* remove changelog

* client

* access token

* formatting

* deprecate

* format backend

* client replace

* updates

* moving from utils

* remove code duplication

* rm duplicates

* simplify

* galleryserializer

* serializable

* load serializers

* fixing errors

* errors

* typing

* tests

* changelog

* lint

* fix lint

* fixing files

* formatting

* type

* fix type checking

* changelog

* changelog

* Update client/python/gradio_client/client.py

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

* formatting, tests

* formatting, tests

* gr.load

* refactoring

* refactoring'

* formatting

* formatting

* tests

* tests

* fix tests

* cleanup

* added tests

* adding scripts

* formatting

* address review comments

* readme

* serialize info

* remove from changelog

* version 0.0.2 released

* lint

* type fix

* check

* type issues

* hf_token

* update hf token

* telemetry

* docs, circle dependency

* hf token

* formatting

* updates

* sort

* script

* external

* docs

* formatting

* fixes

* scripts

* requirements

* fix tests

* context

* changes

* formatting

* fixes

* format fix

---------

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

* Translate "or" for i18n (#3599)

* Translate or for i18n

* CHANGELOG

* Fixes Blocks exit issue (#3600)

* fix

* changelog

* blocks

* formatting

* Use gradio-api-server for telemetry (#3488)

* analytics

* changelog

* remove interface analytics

* ip

* remove import

* format

* theme name

* theme analytics

* format

* changelog

* fixes

* format

* remove unused param

---------

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

* Simplify tests (#3608)

* simplify tests

* imports

* imports

* formatting

* removed cometml typing

* simplify

* changelog

* fix wc error in dev mode (#3572)

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

* A few small fixes to docs / demos (#3611)

* fixes

* remove binaries

* doc

* changelog

* typing

* run on windows

* cancels

* added clarifications

* Add docs for HF Json saver (#3604)

* Add docs for flagging

* Fix params

* CHANGELOG

---------

Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>

* ensure css loads before mounting app (#3573)

* ensure css loads before mounting app

* changelog

* fix tests

* change?

* changelog

* fix issue with missing version (#3632)

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>

* Fixes chatbot autoscroll + Textbox lines > 20 issue (#3637)

* fixes

* changelog

* Update gradio/components.py

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

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

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

* Fix embedded demos (#3638)

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

* Add Windows CI (#3628)

* Add Windows CI

* Update changelog

* fix

* Skip one test on Windows

* Preserve virtualenv path

* Skip another test on Windows

* Make conditional flaky

* Requested changes

* consistent os

* cleanup

* fix test for windows

* remove unnecessary check

* lint

* lint

---------

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

* move files (#3605)

* move files

* commit the rest of the files

* fix lockfile

* fix workflow

* fix type errors

* fix tests

* only run ci when certain files change

* run correct test command in ci

* version

* fix pypi script

---------

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

* Support empty lists being used in `gr.Dataframe` (#3646)

* Support empty lists being used in `gr.Dataframe`

* Update changelog

* Add empty dataframe test

---------

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

* Fix windows flake (#3650)

* fix windows flake

* format backend

---------

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>

* Raise errror if event queued but queue is not enabled (#3640)

* Raise Error

* CHANGELOG

* Add progress tracking validate_queue_settings

* Update gradio/blocks.py

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

* Fix test

---------

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

* Copy everything in website Dockerfile, fix build issues (#3659)

* dockerfile

* copy everything from repo

* correct dir

* changelog

* Correct the documentation of `gr.File` component (#3660)

This closes #3658.

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

* Nit in ValueError (#3669)

* Nit in ValueError

* CHANGELOG

---------

Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>

* Load upstream theme (#3641)

* theme loading

* upstream theme

* version

* format themes

* fixes

* tests

* one more test

* fix test

* address review

* Add job for python client ci (#3674)

* Add job + lint

* Fix path

* Fix path

* Fix path

* Checkout

* Add test requirements

* Fix syntax

* Fix test

* Lint

* Fix deps + README

* Move dependency

* Hide dropdown if in single-select mode (#3678)

* Hide dropdown if in single-select mode

* Update changelog

---------

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

* Fix default parameters value and gr.Progress in same function (#3671)

* Fix default parameters value and gr.Progress in same function

* Update changelog

* Fix tests

* Format

* Expand tests for other types of special function arguments

* Augment SelectData tests

---------

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

* warning

* changelog

* ghangelog

* changelog

* object fit optional

* Add status for Python Client Jobs (#3645)

* Add status + unit test (flaky) for now

* Install client

* Fix tests

* Lint backend + tests

* Add non-queue test

* Fix name

* Use lock instead

* Add simplify implementation + fix tests

* Restore changes to scripts

* Fix README typo

* Fix CI

* Add two concurrent test

* Fix broken spaces in docs (#3698)

* fix examples in sentence_builder

* fix sklearn error in titanic demo

* regenerate notebooks

* changelgo

* Add download button for video (#3581)

* Add download buttom

* Add missing imports

* CHANGELOG

* Update CHANGELOG.md

* Trigger CI

* Fix visibility

* Try to fix ci

* Fix deps

* download button change

* Lint

---------

Co-authored-by: Dawood <dawoodkhan82@gmail.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* Fix outdated sharing your app guide (#3699)

* fix embed this space screenshot

* fix use via api

* changelog

---------

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>

* Add orig_name field to video outputs (#3700)

* Add orig_name to video

* Fix test

* CHANGELOG

* Lint

* Theme builder (#3664)

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* Update CHANGELOG.md

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

* Update gradio/themes/builder.py

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

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

* changes

---------

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

* fix dropdowns, release 3.24 (#3713)

* changes

* changes

* Update version.txt

* New Version Docs (#3715)

* [create-pull-request] automated change

* fix changelog

---------

Co-authored-by: abidlabs <abidlabs@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* Fix chatbot newline issue (#3717)

* changes

* changes

* changes

* changelog

---------

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

* New Version Docs (#3720)

* [create-pull-request] automated change

* Trigger Build

---------

Co-authored-by: aliabd <aliabd@users.noreply.github.com>
Co-authored-by: aliabd <ali.si3luwa@gmail.com>

* Fix Serializer Mapping  (#3722)

* Fix mapping and test

* Bump gradio version

* Revert gradio version bump

* Fix some bugs related to Python client (#3721)

* client format

* docs

* formatting

* fix tests

* fixed bug

* api endpoint changes

* fix tests

* fix tests

* formatting

* Add support for sessions [python client] (#3731)

* client

* add state and tests

* remove session param

* node support for js client (#3692)

* bundle js client + gen types

* changeset

* changeset

* fix bugs

* fix deps

* fix deps

* format

* fix ci

* fix types

* Support IPv6 addresses for --server-name (#3695)

* Support IPv6 addresses for --server-name

* Update changelog now that I have a PR number.

---------

Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>

* Increase timeout for analytics request + remove exception print (#3647)

* increase timeout

* merge

* Add changelog

---------

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>

* Switch linting to Ruff (#3710)

* Sort requirements.in

* Switch flake8 + isort to ruff

* Apply ruff import order fixes

* Fix ruff complaints in demo/

* Fix ruff complaints in test/

* Use `x is not y`, not `not x is y`

* Remove unused listdir from website generator

* Clean up duplicate dict keys

* Add changelog entry

* Clean up unused imports (except in gradio/__init__.py)

* add space

---------

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

* Fix missing docstrings (new PR) (#3740)

* Move documentation for _js into docstring, not a stray comment

* Add missing argument docstrings (and remove non-existent ones)

* Add changelog entry

* updated docstrings

* changelog

* contributors

* changelog

* formatting

* removed _js

---------

Co-authored-by: Aarni Koskela <akx@iki.fi>

* import (#3742)

* Import Literal from typing extensions in client (#3741)

* Fix typing extensions

* Import typing_extensions

---------

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

* Access http token for ws connection (#3735)

* Access unsecure token

* CHANGELOG

---------

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

* Add root_url to serializers in gradio_client (#3736)

* Add root_url to serializers

* Add url fix

* Respect fn parameter

* Fix docstring

* Add other test

* Pass to method

* CI tweaks (#3752)

* Adds a pypi release action for the gradio python client (#3743)

* release action

* fixes

* name

* Update version.txt

* Update version.txt

* update

* fixes

* version

* rename

* action

* fix token

* custom dir

* fixes

* change password

* revert back to token

* scripts

* remove twine

* Get Intermediate Results from Python Client (#3694)

* Add status + unit test (flaky) for now

* Install client

* Fix tests

* Lint backend + tests

* Add non-queue test

* Fix name

* Use lock instead

* Add simplify implementation + fix tests

* Restore changes to scripts

* Fix README typo

* Fix CI

* Add intermediate results to python client

* Type check

* Typecheck again

* Catch exception:

* Thinking

* Dont read generator from config

* add no queue test

* Remove unused method

* Fix types

* Remove breakpoint

* Fix code

* Fix test

* Fix tests

* Unpack list

* Add docstring

---------

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

* changes (#3760)

* Make Client Jobs Iterable (#3762)

* Add iterator

* Break if done

* Add test for early termination

* changelog

* notebooks

---------

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Co-authored-by: Lucain <lucainp@gmail.com>
Co-authored-by: pngwn <hello@pngwn.io>
Co-authored-by: Omar Sanseviero <osanseviero@gmail.com>
Co-authored-by: Ali Abdalla <ali.si3luwa@gmail.com>
Co-authored-by: space-nuko <24979496+space-nuko@users.noreply.github.com>
Co-authored-by: Luo Peng <luopeng.he@gmail.com>
Co-authored-by: aliabid94 <aabid94@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: abidlabs <abidlabs@users.noreply.github.com>
Co-authored-by: aliabd <aliabd@users.noreply.github.com>
Co-authored-by: Dan Sully <dan+github@sully.org>
Co-authored-by: Aarni Koskela <akx@iki.fi>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants