-
Notifications
You must be signed in to change notification settings - Fork 10.6k
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
Add Python Reflection Client #28443
Add Python Reflection Client #28443
Conversation
|
Implement ProtoReflectionDescriptorDatabase in Python to support client-side reflection sevices.
9f7618f
to
f6c85d1
Compare
|
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
How can I make progress with this? |
Wow, this is an interesting proposal. A programmatic way to access descriptors from client-side. This PR alters gRPC Python's surface API, which requires a gRFC proposal see https://github.com/grpc/proposal. It doesn't need to be long or very detail about implementation. You can extend from the "Use Server Reflection in a Python client" section. |
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/BUILD.bazel
Outdated
Show resolved
Hide resolved
src/python/grpcio_tests/tests/reflection/_reflection_servicer_test.py
Outdated
Show resolved
Hide resolved
I opened a PR for a proposal, and I will handle all the comments in this PR soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. Looks pretty good now.
If you have any question, please let me know.
src/python/grpcio_reflection/grpc_reflection/v1alpha/BUILD.bazel
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_tests/tests/reflection/_reflection_client_test.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_tests/tests/reflection/_reflection_servicer_test.py
Outdated
Show resolved
Hide resolved
src/python/grpcio_reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.py
Show resolved
Hide resolved
src/python/grpcio_tests/tests/reflection/_reflection_servicer_test.py
Outdated
Show resolved
Hide resolved
Mostly improve documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gnossen PTAL.
LGTM. Thanks for adding the documents! It looks great.
Our test seems is suffering external breakage. We might need to merge master after it's fixed.
According to the presubmit checks, you may want to add the new test case to |
Done. Sorry for the delay. |
@tomerv Can you take a look at the Sanity Checks result? https://source.cloud.google.com/results/invocations/66d0ab27-16cc-4972-b54c-bc55e5d2cc4f/targets Most of the scripts can be run directly to format code for you. |
|
190f15f
to
81fb2f8
Compare
Seems like the checks are stuck. @lidizheng, can you help? |
Implement ProtoReflectionDescriptorDatabase in Python to support
client-side reflection sevices.
@donnadionne