purerpc
purerpc copied to clipboard
Native, async Python gRPC client and server implementation supporting asyncio, uvloop, and trio
I am writing an async app (using Trio). I have an Application class with various async "handle_x_event" methods that get scheduled in the Trio nursery. Some such events need to...
Windows networking does not have such option for networking. Server does not start.
TLS
This seems to be fairly easy. Curio already has [wrappers](https://curio.readthedocs.io/en/latest/reference.html#module-curio.ssl) around [ssl](https://docs.python.org/3/library/ssl.html) module in standard library. SSLContext (and, in case of HTTP/2 client, server hostname, ALPN protocol list) needs to...
When message is larger than maximum we crash instead of reporting the error to the peer: ``` [2019-03-06 09:53:54,561 - root - ERROR]: Got exception in main dispatch loop Traceback...
Find and evaluate remaining TODOs in the code.
We need to fix the API for 1.0 release. Unfortunately, there are going to be some breaking changes ;) Here are some of them: * stream_stream client call (and maybe...
Need to address 4 use cases: 1. Client wants to send additional request headers to server 2. Client wants to read all of the response headers or trailers 3. Server...
gRPC has support for [timeouts](https://grpc.io/grpc/cpp/md_doc__p_r_o_t_o_c_o_l-_h_t_t_p2.html) on remote procedure calls that generate DEADLINE_EXCEEDED when they expire. This is a nice feature to have and it fits well with curio's existing [timeout...
It doesn't make sense to have the copy-pasted verbose logging configuration in `main.py`, `main_pingpong.py` and `main_pingpong_servicer.py`, which has the effect equal to ```python logging.basicConfig(format="[%(asctime)s - %(name)s - %(levelname)s]: %(message)s", level=logging.WARNING)...
There is some benchmarking code in misc/greeter directory, notably [test_perf.py](https://github.com/standy66/purerpc/blob/master/misc/greeter/test_perf.py), [run_h2load.sh](https://github.com/standy66/purerpc/blob/master/misc/greeter/run_h2load.sh), [latency_h2load.sh](https://github.com/standy66/purerpc/blob/mascer/misc/greeter/latency_h2load.sh), but it needs to be refined and independently tested with other gRPC implementations, not limited to Python. Also...