minor typing fixes in einops.py - #431
Open
jorenham wants to merge 1 commit into
Open
Conversation
Owner
|
I'm working a patch that addresses these + a bit more, hopefully will get time over the weekend to finish |
Contributor
Author
|
Ah even better. Feel free to ping me if you want me to give it a quick scan or somehting once you get there. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Note that
TYPE_CHECKINGis alwaysFalseat runtime, sonumpywill never actually be imported. Thisif TYPE_CHECKINGjust ensures that we can use thenp.ndarrayas static type annotation here, and avoid having to unnecessarily useAny(it's maximally type-unsafe).I like the new
TensorLikeprotocol. Before, it required that the__getitem__parameter (arg) was actually named "arg". By changing it to a positional-only parameter, it will now allow any name. This doesn't mean that it's now required for types to also have a pos-only parameter for__getitem__, because of Barbara Liskov's substitution principle.This also introduces a private
_Axistype alias, which is used in several new annotations that resolve at least 4 mypy errors.