gradio/ui
Abubakar Abid 88e9c19c27
Cleaning up the way data is processed for components (#1967)
* remove preprocess_example

* removing methods

* added path support for images

* fixes

* video

* formatting

* fixing preprocess

* fixes

* removed from audio

* fixed file

* formatting

* serialization

* foramtting

* formatting

* removed save flag / restore flag

* formatting

* removed flagging

* removed

* load value

* fixing typing

* fixes, typing

* fixes

* file

* handling images

* formatting

* fixed serializing for flagging

* formatting

* json

* temp file

* removed processing

* changed processing

* fixed temp FINALLY

* flagging works

* fix examples test

* formatting

* async examples

* working on mix

* comment out failing test

* fixed interface problem

* fix kitchen sink deprecation warning

* gallery examples

* fixes

* fixes to serialization

* fixing label serializing

* fixed file serialization

* kitchen sink restored

* outbreak forecast updated

* formatting

* formatting and api mode

* fix 1 test :/

* fixing tests

* fixed components tests

* remvoed test files

* formatting

* fixed examples

* fixes

* formatting

* restored certain files

* added encryption

* fixed syntax mistake

* formatting

* fixed 1 test

* clean up interface

* formatting

* fixed route tests

* more fixes

* formatting

* formatting

* fixing pipeline

* format frontend

* format backend

* tweaks

* fix

* fix final test?

* merged

* Sanitize for CSV (#2017)

* sanitize for csv

* added sanitization logic

* fixed examples

* turn cache off

* fixed example caching with optional inputs

* fixed review problems

* fixed Interface.load

* updating the tests

* updating the tests

* fix

* fixed seriailizing

* testing

* rewrite run prediction

* formatting

* await

* fixes

* formatting

* finally fixed mix

* fixed tests

* formatting

* formatting

* deserialize fix

* formatting

* fixes

* fixes

* fix

* fix tests

* fixes

Co-authored-by: Freddy Boulton <alfonsoboulton@gmail.com>
2022-08-23 08:31:04 -07:00
..
packages Cleaning up the way data is processed for components (#1967) 2022-08-23 08:31:04 -07:00
.editorconfig
.gitignore
.npmrc fix pnpm filters for 7.x (#1927) 2022-08-02 12:02:06 -07:00
.prettierignore
.prettierrc.json
globals.d.ts Fix the types (#1843) 2022-07-21 19:12:46 +01:00
JSX.d.ts Fix the types (#1843) 2022-07-21 19:12:46 +01:00
package-lock.json
package.json Fixes: Model3D component loads forever when used as input and cache_examples=False (#1939) 2022-08-03 17:03:01 -04:00
playwright-setup.js Fix the types (#1843) 2022-07-21 19:12:46 +01:00
playwright.config.js
pnpm-lock.yaml Cleaning up the way data is processed for components (#1967) 2022-08-23 08:31:04 -07:00
pnpm-workspace.yaml
postcss.config.cjs
README.md
svelte.config.js
tailwind.config.cjs distribute gradio as a web component (#1444) 2022-06-07 11:11:44 -07:00
tsconfig.json Fix the types (#1843) 2022-07-21 19:12:46 +01:00
vitest.config.ts

gradio-ui

This folder contains all of the Gradio UI and component source code.

Note: The below assumes you are in the ui directory unless alternative instructions are given.

setup

This folder is managed as 'monorepo' a multi-package repository which make dependency management very simple. In order to do this we use pnpm as our package manager.

Make sure pnpm is installed by following the installation instructions for your system.

You will also need node which you probably already have

running the application

Install all dependencies from the ui folder:

pnpm i

This will install the dependencies for all packages within the ui folder and link any local packages

local development

To develop locally, open two terminal tabs from the root of the repository.

Run the python test server, from the root directory:

cd demo/kitchen_sink
python run.py

This will start a development server on port 7860 that the web app is expecting.

Run the web app:

cd ui #move back into ui if you haven't already
pnpm dev

building for production

From the ui folder run the build.

pnpm build

This will create the necessary files in ui/app/public and also in gradio/templates/frontend.

quality checks

The repos currently has two quality checks that can be run locally and are run in CI.

formatting

Formatting is handled by prettier to ensure consistent formatting and prevent style-focused conversations. Formatting failures will fails CI and should be reoslve before merging.

To check formatting:

pnpm format:check

If you have formatting failures then you can run the following command to fix them:

pnpm format:write

type checking

We use TypeScript to provide static types to javascript code. These checks are also run in CI.

to typecheck the code:

pnpm ts:check

ci checks

Currently the following checks are run in CI:

  • Format check (pnpm format:check)
  • Type check (pnpm ts:check)
  • Build as a smoke test (pnpm build)