Skip to main content

Mypy stubs for gRPC

Project description

This is a PEP-561-compliant stub-only package which provides type information of [gRPC](https://grpc.io>).

Install using pip:

pip install grpc-stubs

Tests (courtesy of [pytest-mypy-plugins](https://github.com/typeddjango/pytest-mypy-plugins>):

pip install -r requirements-dev.txt ./tools.sh test

## Call for assistance

There are several areas where grpc-stubs could use some TLC. If you’d like to help with any of this, please reach out.

### Maintainers

It’s unlikely I’ll be returning to grpc full-time for the foreseeable future, and my knowledge of the minutiae fades with each passing year. If anyone wishes to assume maintainership of this project ongoing, please reach out. An attempt to merge into typeshed is underway here: https://github.com/python/typeshed/pull/11204

## Python Support

grpc-stubs is tested with 3.7 or later, but ideally it should support Python 3.6 as grpc still supports this. Python 3.6 had to be disabled in the tests due to various cascading fiascos and a lack of time to contend with them. Feel free to submit a PR if you’d like to see it returned, or open issues. Ensure that you supply an MRE as per the contributing guidelines below.

## Contributing

### Minimum Reproducible Examples (MRE)

Unfortunately, due to the fussy nature of grpc and its dependencies, and the huge amount of time required to construct a context in which to verify and debug issues, starting from 2022-04-16, fairly strict issue and pull request templates have been added.

Minimum Reproducible Examples are now a hard requirement for pull requests that touch the typing surface, and a soft requirement for issues. PRs without a functioning MRE transfer the burden entirely from the contributor to the maintainer, and I simply don’t have time to do the deep-dives required to build out MREs from scratch when issues inevitably crop up. PRs without a trivially executable MRE will be closed without further consideration; of course you are always welcome to reopen once you have added a verified MRE!

### Tests

This project uses a slightly old version of https://github.com/TypedDjango/pytest-mypy-plugins for testing. All new contributions will be required to include at least one, but probably multiple tests. See typesafety/test_*.yml.

### Code-generated stubs

PRs containing auto-generated stubs have had to be reverted several times due to issues. Starting from 2022-04-16, autogenerated stubs from mypy-protobuf will not be accepted without extensive tests, and will not be accepted with edit warnings left in. It’s ok to use this tool to seed stubs, but not to refresh stubs - once contributed to this repo, the stubs should be presumed to have been written by hand.

## Other Very Useful Typed Python Stuff

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grpc-stubs-1.53.0.5.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

grpc_stubs-1.53.0.5-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file grpc-stubs-1.53.0.5.tar.gz.

File metadata

  • Download URL: grpc-stubs-1.53.0.5.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for grpc-stubs-1.53.0.5.tar.gz
Algorithm Hash digest
SHA256 3e1b642775cbc3e0c6332cfcedfccb022176db87e518757bef3a1241397be406
MD5 5d60b47dd737d1f6e203d630d42879da
BLAKE2b-256 558d14c6b8c2fa5d82ffe96aed53b1c38e2a9fb6a57c5836966545f3080e5adc

See more details on using hashes here.

File details

Details for the file grpc_stubs-1.53.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for grpc_stubs-1.53.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 04183fb65a1b166a1febb9627e3d9647d3926ccc2dfe049fe7b6af243428dbe1
MD5 3d0e8f832c8644ea9f5a055317003fff
BLAKE2b-256 e086147d2ccaf9b4b81407734b9abc1152aff39836e8e05be3bf069f9374c021

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page