Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-export symbols to match PEP 484 standard. #8

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

holocronweaver
Copy link

@holocronweaver holocronweaver commented Nov 8, 2023

Python type checker libraries such as Pyright have built a consensus around PEP 484 for how to export symbols from a py.typed library. This requires redundantly re-exporting symbols to make them publicly visible.

Without re-exporting the symbol type checkers will complain that the symbol (e.g., from aws_error_utils.errors) is not exported, but a direct import will work as expected (e.g., from aws_error_utils.aws_error_utils import errors).

Based on official Python guidance to type checkers: https://github.com/python/typing/blob/master/docs/source/libraries.rst#library-interface-public-and-private-symbols

For more detail from author of Pyright (for a similar issue in PyTorch): microsoft/pylance-release#2953 (comment)

This should resolve #9.

Python type checker libraries such as Pyright have built a consensus around PEP 484 for how to export
symbols from a py.typed library. This requires redundantly re-exporting symbols
to make them publicly visible.

Without re-exporting the symbol type checkers will
complain that the symbol  (e.g., from aws_error_utils.errors) is not exported,
but a direct import will work as expected (e.g., from aws_error_utils.aws_error_utils
import errors).

Based on official Python guidance to type checkers: https://github.com/python/typing/blob/master/docs/source/libraries.rst#library-interface-public-and-private-symbols

For more detail from author of Pyright (for a similar issue in PyTorch):
microsoft/pylance-release#2953 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pyright thinks symbols are not exported
1 participant