Prevent unbound trace due to type hints #6809
Merged
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.
There are currently two type errors in the Model class, preventing smooth usage with type checkers (like in VSCode):
This one became present in recent versions of pyright:
and before that one, this one has been there for a long time:
This PR implements two small changes:
instance
variable in the ContextMeta__call__
method to "Model". This fixes the first error.with pm.Model()
to returnNone
, which means that it won't be catching errors.In the first fix,
instance
should be a resultant type that theContextMeta
is a metaclass for. I'm not sure how if a type hint that says "returns the child of a metaclass" exists. But I think this is safe, sinceContextMeta
isn't used as a metaclass anywhere else, and I'm not going for perfect type coverage, just to make it easy for people to code with autocompletion.Checklist
Bugfixes
📚 Documentation preview 📚: https://pymc--6809.org.readthedocs.build/en/6809/