You can start by forking or cloning the repo (https://github.com/gradio-app/gradio.git) and creating your own branch to work from.
Next, to install the local development version of Gradio:
- Navigate to the
/gradio
subfolder and runpip install -e .
.
When installing locally, you may also need to build the front end:
- Navigate to the
/frontend
subfolder and runnpm install
. - Then run
npm run build
.
It's helpful to know the overall structure of the repository so that you can focus on the part of the source code you'd like to contribute to
-
/gradio
: contains the source code for the actual Python library/gradio/interface.py
: contains the source code for the coreInterface
class
-
/test
: contains unit tests for the Python library -
/website
: contains the code for the Gradio website (www.gradio.app). See the README in the/website
folder for more details
All PRs must pass the continuous integration tests before merging. To test locally, you can run python -m unittest
from the /gradio
subfolder.
All PRs should be against master
. Direct commits to master are blocked, and PRs require an approving review
to merge into master. By convention, the Gradio maintainers will review PRs when:
- An initial review has been requested, and
- A maintainer (@abidlabs, @aliabid94, @aliabd, @AK391, or @dawoodkhan82) is tagged in the PR comments and asked to complete a review
We ask that you make sure initial CI checks are passing before requesting a review. One of the Gradio maintainers will merge the PR when all the checks are passing.
Could these guidelines be clearer? Feel free to open a PR to help us faciltiate open-source contributions!