Draft
Conversation
656786b to
6e30d53
Compare
90c6a78 to
173f1e0
Compare
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.
This concept PR adds initial ty type checker support to altair. To keep ty separate from existing mypy (and pyright), a new
ty.tomlconfiguration file is used for now.The PR addresses the following issues:
type: ignore(see note below)Unionandpyright: ignorethat are no longer neededty: ignoreto flag issues that do not yet have a fixLimitations:
altair/vegalitealtair/vegalite/v6/schemamypy-specific annotations
Annotations such as
type: ignore[arg-type]are no longer treated astype: ignoreby ty. Converting these to generictype: ignoredoes work with ty (and should with most other type checkers).There are discussions around cross-compatibility between mypy and ty (see astral-sh/ty#3127), which would obviate this issue in some cases.
Alternatively, ty-specific annotations could be added (
type: ignore[arg-type, ty:invalid-argument-type]), but this is quite verbose (and requires adding more annotations if future type checkers are adopted).This PR proposes reverting to the generic
type: ignoreby removing some existing mypy-specific annotations. @mattijn and @dangotbanned, we could use this concept PR as a sounding board to discuss whether this is the best approach.