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

[Aio] Graduation from experimental folder #23240

Merged
merged 2 commits into from Aug 18, 2020
Merged

Conversation

lidizheng
Copy link
Contributor

@lidizheng lidizheng commented Jun 17, 2020

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 of grpc.experimental.aio._metadata.Metadata needs to be updated to grpc.aio._metadata.Metadata.

Before we publish AsyncIO examples, I hope we can remove the "experimental" from the import path.

@lidizheng lidizheng added lang/Python release notes: yes Indicates if PR needs to be in release notes labels Jun 17, 2020
@lidizheng lidizheng marked this pull request as ready for review June 17, 2020 20:55
@lidizheng
Copy link
Contributor Author

The failed tests are due to an external Golang dependency breakage, not related to this PR.

@pfreixes
Copy link
Collaborator

1 year of work!

@lidizheng
Copy link
Contributor Author

@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 v1.25.0 to the first version supporting Python client in v1.29.0, there should be sufficient time for experimental stage. So, I want to push the project forward by marking it as graduated :)

@gnossen
Copy link
Contributor

gnossen commented Aug 17, 2020

@lidizheng Sorry for the delay on this. Give me one more day to take a final look.

@lidizheng
Copy link
Contributor Author

Sure. Take your time.

@gnossen
Copy link
Contributor

gnossen commented Aug 18, 2020

@lidizheng @pfreixes Great work! This is a huge accomplishment!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang/Python release notes: yes Indicates if PR needs to be in release notes
Projects
Development

Successfully merging this pull request may close these issues.

None yet

3 participants