Add tensorflow type stubs #220
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Motivated from this issue.
These are tensorflow stubs I've accumulated over year of writing tensorflow code and wanting to have APIs I rely on be type checked. They are very much incomplete with classes/functions included here being ones I've used. I normally rely on pylance to tell me which members/functions are untyped and add stubs as needed. Probably needs a lot of getattr fallbacks until the files become complete to avoid false positives.
The stubs follow documentation for imports and not source code. The stubs were written by running different inputs in repl + double checking with documentation.
I'm opening pr to start discussion on how to upstream them. If splitting into several prs is preferred I'm happy to do that.
I'd also ideally want to eventually move them to typeshed after I work out the issue of numpy dependency. The tensorflow stubs have a lot of functions that accept numpy arrays so I need to be able to import numpy in them. It may be wiser to prioritize typeshed issue vs upstream here and then migrate later. But there's also benefit that having them somewhere open source at least opens ability for others to fill them in gradually.