googleapis / googleapis/google-cloud-python

Make __all__ expose classes for use in type annotations

Open
#15,640 1 comment 0 reactions 1 assignee Claimed by @abbrowne126 View on GitHub
api: pubsub type: feature request
Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
3d 4h
Merged PRs (30d)
122

Description

**Is your feature request related to a problem? Please describe.**
I would like to type annotate my Pubsub subscriber callback as:
`callable[[pubsub_v1.subscriber.message.Message], None]` to match the callback function signature described here: https://cloud.google.com/pubsub/docs/publish-receive-messages-client-library

However, when I do this, my IDE (PyCharm) complains saying: `Cannot find reference 'message' in '__init__.py'`

This is because `pubsub_v1.subscriber.__init__.py` only has `__all__ = ("Client",)`, meaning this is all that is suggested as an exported value.

**Describe the solution you'd like**
Expose the `pubsub_v1.subscriber.message.Message` in `__all__` so I can add type annotations. I expect there are other types that it would be helpful to expose here too.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.