Proto commits in nameko/nameko-grpc

These 20 commits are when the Protocol Buffers files have changed:

Commit:faabe32
Author:Matt Yule-Bennett
Committer:GitHub

Improved error handling (#36) * attach google.rpc.Status messages to errors follows the proposal here: https://github.com/grpc/proposal/blob/master/L44-python-rich-status.md this changes the interface of nameko_grpc.errors.GrpcError, using "message" instead of "details". this matches the semantics of gRPC but clashes with the names used by the official Python gRPC client. see https://github.com/grpc/proposal/blob/master/L44-python-rich-status.md#semantic-difference-of-details-between-grpc-python-and-status-proto this is a backwards-incompatible change for anyone who is instantiating GrpcError objects in service code * oopsy, wrong order when unpacking tuple * lowercase g * tests for google.rpc.Status in errors * rename grpcerror attributes for clarity status -> code details -> status this is a breaking change and moves nameko-grpc closer to grpc terminology, but further from the terminology used in the python grpc client implementation. * context should reflect new names too * add equivalence test for setting errors via context * context.set_code should accept enum not bare int * slight enhancement to error_with_streaming tests * replace import from grpc._common * add example of raising GrpcError directly * expand README for errors * static fixes * fix tiny bug in decoding b64 without padding * use grpc-status in grpc example test nameko's error handling is compatible with the standard python library's https://grpc.github.io/grpc/python/grpc_status.html extension * import sort * only include traceback when DEBUG is set in config * status is never a string now * import sort * utility method to generate a GrpcError from Status * move make_status from test helpers to main module * static fixes * bump version * update README for new names and locations * use classmethod when returning a new instance * don't make assumptions about top-level DEBUG flag

The documentation is generated from this commit.

Commit:c03fdff
Author:Matt Bennett

context data is now populated by incoming request metadata, and propagates in outgoing request data

Commit:b7f14e7
Author:Matt Bennett

test for workers throwing exceptions

Commit:a333cfe
Author:Matt Bennett

rearrange helpers; move stash to context; re-enable concurrency tests

Commit:1bdd178
Author:Matt Bennett

add test verifying grpc client _sends_ metadata

Commit:18427ec
Author:Matt Bennett

run the standard grpc interop tests

Commit:0f209ad
Author:Matt Bennett

rearrange tests to their own files

Commit:e7222f7
Author:Matt Bennett

add compression tests; refactor conftest a bit

Commit:a5bd0ca
Author:Matt Bennett

server deadlines supported; new instrumentation for tests

Commit:4952143
Author:Matt Bennett

make response count in unary_stream dynamic

Commit:cd0509e
Author:Matt Bennett

checkpoint: client timeouts almost working

Commit:bf39fbd
Author:Matt Bennett

much simpler MethodNotFound test

Commit:b3e389c
Author:Matt Bennett

fixes: use common echo.proto; fix inspector when used with imports

Commit:39bac3b
Author:Matt Bennett

refactor test setup more: distinguish proto name from service name so we can declare multiple versions of the same service (don't use separate directories; module names must be distinct regardless of directory names); add MethodNotFound tests that make use of separate proto and service names

Commit:07b310a
Author:Matt Bennett

client refactor

Commit:f24c407
Author:Matt Bennett

checkpoint: entrypoint now replies as soon as responses are available, and large responses nearly work

Commit:d05e581
Author:Matt Bennett

add multiplier and seqno to request and response

Commit:777fb01
Author:Matt Bennett

file renames; actually add example.proto

Commit:6f6331e
Author:Matt Bennett

helloworld -> example

Commit:4518e59
Author:Matt Bennett

something works