-
Notifications
You must be signed in to change notification settings - Fork 10.7k
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
[Aio] Graduation from experimental folder #23240
Conversation
The failed tests are due to an external Golang dependency breakage, not related to this PR. |
1 year of work! |
d9e9908
to
5694b79
Compare
@gnossen PTAL. I've being watching asyncio related issues for recent releases and resolving them. The only major issue is the Windows polling mechanism incompatibility with 3.8+. From the first version with asyncio support in |
@lidizheng Sorry for the delay on this. Give me one more day to take a final look. |
Sure. Take your time. |
@lidizheng @pfreixes Great work! This is a huge accomplishment! |
Progress: https://github.com/grpc/grpc/projects/16
Given current progress, gRPC AsyncIO stack passes interop tests, and reaches feature parity with sync stack. It's not perfect, and there could be unrevealed bugs. But we will continue watching issues and submitting code. The module should overall be mature enough to graduate from experimental.
This PR moves gRPC AsyncIO integration out of experimental folder, also ensures the public interfaces' backward compatibility is kept for
grpc.experimental.aio
. Notedly, the private interfaces backward compatibility is broken by this PR. For example, import path ofgrpc.experimental.aio._metadata.Metadata
needs to be updated togrpc.aio._metadata.Metadata
.Before we publish AsyncIO examples, I hope we can remove the "experimental" from the import path.