Is Python the runt of the litter?

107 views
Skip to first unread message

JI Ioannidis

unread,
Sep 8, 2016, 12:05:29 PM9/8/16
to grpc.io
I'm wondering why Python support in grpc is so poor? It has not improved in the last 4-5 months that I've been working with it. The documentation is nothing but the doc strings from the source, the examples are trivial, there is no discussion on how to do elementary things such as authentication. I'm basically going on what I remember from my Google days, but that's already three years old.

I wouldn't mind switching to C++, except that our code does a lot of AWS API calls, and their support for C++ is not where it should be. I really don't want to use java, and we don't have enough people who know go to switch the codebase to go. 

Advice?

/ji


Nathaniel Manista

unread,
Sep 8, 2016, 12:26:21 PM9/8/16
to JI Ioannidis, grpc.io
On Thu, Sep 8, 2016 at 9:05 AM, JI Ioannidis <jay...@gmail.com> wrote:
I'm wondering why Python support in grpc is so poor? It has not improved in the last 4-5 months that I've been working with it.

With what version(s) have you been working during this time period? We expect that you would have seen dramatic performance and stability improvements between 0.14 and 0.15. Other improvements are Python 3.4 support, MacOS and Windows support, and more robust install with pip. Those were a big deal to us, but help us understand more about your use case and how they went by unnoticed?

The documentation is nothing but the doc strings from the source, the examples are trivial,

We agree about the triviality of the examples, but so far as I'm aware the Python examples go to the same level of depth as the examples in the other languages. Are you seeing other examples for other languages with richer subject matter that aren't mirrored for Python?

there is no discussion on how to do elementary things such as authentication.

How about here?

I'm basically going on what I remember from my Google days, but that's already three years old.

I wouldn't mind switching to C++, except that our code does a lot of AWS API calls, and their support for C++ is not where it should be. I really don't want to use java, and we don't have enough people who know go to switch the codebase to go. 

Advice?

Please keep the criticism coming. Issue reports are very helpful for us, particularly in learning where are expectations of developer-user experience are not congruent with actual developer-user experience. We can file issues all day about what we think is missing in gRPC Python and still be in the dark about what you think is missing in it.
-Nathaniel

JI Ioannidis

unread,
Sep 12, 2016, 11:38:11 PM9/12/16
to grpc.io, jay...@gmail.com

On Thursday, September 8, 2016 at 12:26:21 PM UTC-4, Nathaniel Manista wrote:
On Thu, Sep 8, 2016 at 9:05 AM, JI Ioannidis <jay...@gmail.com> wrote:
I'm wondering why Python support in grpc is so poor? It has not improved in the last 4-5 months that I've been working with it.

With what version(s) have you been working during this time period? We expect that you would have seen dramatic performance and stability improvements between 0.14 and 0.15. Other improvements are Python 3.4 support, MacOS and Windows support, and more robust install with pip. Those were a big deal to us, but help us understand more about your use case and how they went by unnoticed?

I always track HEAD; I'm now at 6e51f992c6bfdfba61d984ab173305da455bd2e7 

The documentation is nothing but the doc strings from the source, the examples are trivial,

We agree about the triviality of the examples, but so far as I'm aware the Python examples go to the same level of depth as the examples in the other languages. Are you seeing other examples for other languages with richer subject matter that aren't mirrored for Python?


Now that you mention it, no, none of the other languages have examples for authentication either. 
 
there is no discussion on how to do elementary things such as authentication.

How about here?

That just shows how to use SSL, and it's how I got to here: https://github.com/jayeye/grpc/tree/ji/secure-hello/examples/python/helloworld  

The Google oauth example is not helpful for any other kind of authentication, for example, for authenticating the client based on its ssl credentials (which as I recall from a previous thread I started cannot be done).

Then there are all the various grpc.beta.* classes that hint at what may be possible; are these "beta" as in "not ready for prime time, use at your own risk", or is there some other meaning to "beta"?

I'm basically going on what I remember from my Google days, but that's already three years old.

I wouldn't mind switching to C++, except that our code does a lot of AWS API calls, and their support for C++ is not where it should be. I really don't want to use java, and we don't have enough people who know go to switch the codebase to go. 

Advice?

Please keep the criticism coming. Issue reports are very helpful for us, particularly in learning where are expectations of developer-user experience are not congruent with actual developer-user experience. We can file issues all day about what we think is missing in gRPC Python and still be in the dark about what you think is missing in it.
-Nathaniel

Gotcha. Expect some in the coming days; hopefully they won't be mark WAIWNF :)

Cheers,

/ji 

Nathaniel Manista

unread,
Sep 13, 2016, 12:50:03 AM9/13/16
to JI Ioannidis, grpc.io
On Mon, Sep 12, 2016 at 8:38 PM, JI Ioannidis <jay...@gmail.com> wrote:
Then there are all the various grpc.beta.* classes that hint at what may be possible; are these "beta" as in "not ready for prime time, use at your own risk", or is there some other meaning to "beta"?

Yes, those code elements are from an earlier API. We learned from them, they're in place for now to ease the transition for code not yet using 0.15-or-later, and they will be removed at some point in the future. Please feel encouraged to migrate to the final API.

Gotcha. Expect some in the coming days; hopefully they won't be mark WAIWNF :)

Looking forward; thank you.
-N

raut...@gmail.com

unread,
Oct 5, 2016, 3:11:22 AM10/5/16
to grpc.io
Python?

Think of Dinosaurs like me who are using C and thus cannot use gRPC at all.

:-)
Reply all
Reply to author
Forward
0 new messages