NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #932 most downloaded on PyPI
Simplifies gRPC interceptors
Last release 3 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 13 months
Nearly every release is documented
notes for 16 of 17 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
17 releases · first in 2020
One column per quarter.
Skip interceptor for methods that are not registered in the server (#48) @anuraaga
Fix wrong status code if context.abort has been called (#43) @thangtp
Fix the type for the context in the async exception to status interceptor (#37) @jeffsawatzky
Use TCP instead of UDS for tests. Fixes a compatibility issue with OpenTelemetry ( #35 ) thanks @jenstroeger
There are no functionality changes, just a bug fix, doc improvements, and some maintenance.
AsyncExceptionToStatusInterceptor
Adds:
AsyncServerInterceptorAsyncExceptionToStatusInterceptorRequirement changes in order to support async:
grpcio >= 1.32.0Python 3.6.0 and grpcio < 1.32.0 won't get this, or future, updates. Async requires newer versions of these.
Notes:
read() / write() API for async streaming has tests, but mainly just that the interceptors can, in theory, operate with them. They require special handling (described in the docs), and getting access to the streaming request & response objects would require extra additional work by the end user (e.g., wrapping context).Rebuild protobuf using protoc 3.19 ( #18 ) @xiao-chen
Add tests with minimum versions of dependencies, and fix a few issues
This release doesn't add any new functionality, but adds tests with older versions of dependencies. In doing this, a couple issues were found and fixed.
There's one change which could conceivably break existing code, but only if people are depending on internals that weren't documented. Specifically, MethodName used to be a NamedTuple, which means it could be iterated over or compared to a tuple. Apparently, Python 3.6.0 doesn't allow @property attributes on a subclass of NamedTuple, so it's been changed to a normal class. There's no API changes, but if you had code that depended on the implementation detail of MethodName being a tuple, then it will break. If you are only using it as documented, then it should continue to work the same way.
Make ExceptionToStatusInterceptor more extensible ( #12 ) @jeffsawatzky
ExceptionToStatusInterceptor: Fix streaming responses (#11) @craigds
Run tests on Python 3.9 and default to that for linting, etc.
Client-side interceptors (thanks Michael Morgan!)
Changes:
context parameter to special case functions in the testing moduleAdd support for all streaming RPCs
Changes:
Expose some imports from the top-level
Changes:
ServerInterceptor (do not intend to make breaking name changes after this)Rename Interceptor to ServiceInterceptor
Changes:
status_on_unknown_exception to ExceptionToStatusInterceptorpy.typed (so mypy will type check the package)Interceptor to ServiceInterceptorProtobuf compatibility improvements
Changes in 0.9.0:
testing moduleThe release provides the following:
The release provides the following:
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →