gradio-app / gradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!
http://www.gradio.app
Apache License 2.0
30.74k stars 2.29k forks source link

[DX] Pain points/ technical debt #2552

Open pngwn opened 1 year ago

pngwn commented 1 year ago

This is an issue to keep track of any technical debt (internal to the library) or pain points that people experience when contributing to the library. This is mainly an issue for the core team to keep track of things and stay on top of technical debt but we welcome feedback from all contributors about anything anyone has noticed needs refactoring, points of friction when developing, or anything that has created a barrier to contributing. Feel free to comment this issue and a member of the team will add anything relevant to the list in this issue. The core team will try discuss and prioritise these issues on an ongoing basis.

Feel free to add simple bullet points to this list, or existin issues. Ideally we will create issues for all of these points if they feel worthy of tackling.

tech debt

developer pain points

1nF0rmed commented 1 year ago

[backend] we have typing in the backend, but there are lots of incorrect and missing types -- would be great to fix at some point

With regard to this point, are there any specific places you would suggest starting with so that I can incrementally update the typing?

abidlabs commented 1 year ago

Thanks @1nF0rmed! I'm working on improving the typing myself in the next couple of days, but I could definitely use some help. Would you like to take on utils.py and templates.py?

abidlabs commented 1 year ago

You can see my recent PR here: https://github.com/gradio-app/gradio/pull/2896

1nF0rmed commented 1 year ago

Thanks @abidlabs I'll start off with utils.py and templates.py and use the PR as a reference.

Anything you would like me to keep in mind while updating the typing?

abidlabs commented 1 year ago

Great! We use pyright (the Pylance extension in VSCode is pretty handy). You can use the following to confirm that typing has been correctly implemented:

pip install --upgrade pip
pip install pyright
pyright gradio/utils.py  gradio/templates.py
1nF0rmed commented 1 year ago

Are there still files where typing needs to be updated?

abidlabs commented 1 year ago

@1nF0rmed nope, we got all of the core python files in the gradio codebase. The test files are not typed, but that is not really a priority. Let me know if you'd like to contribute to other issues, and I'd be happy to suggest a couple

1nF0rmed commented 1 year ago

@abidlabs I'm open, let me know what issues you'd like me to look at!

abidlabs commented 1 year ago

@1nF0rmed do you wanna take this issue? https://github.com/gradio-app/gradio/issues/2983