Hello! I am desperately trying to get a Python3.5.2 native interface to the ETCD V3 Api (since there is no new library currently in place or supported).
I nstalled the newest Protoc Compiler as well as the current GRPC tools straight from the source, gathered up all the proto-files which are imported in the etcd/etcdserver/etcdserverpb/rpc.proto from various sources and let it generate a grpc python file for each of them. I put them all into one folder, fixed up the imports to match and then fired up Ipython to try some things in the console. At the very least the KV store seemed to work great. Put and Range were working fine and I was sure that everything else would work out as well. But when I tried to set up a Watch, the Thread spawned in the background immediately dies. Here is my console output: In [1]: import etcd_grpc.rpc_pb2 as rpc In [2]: import grpc In [3]: chan= grpc.insecure_channel('localhost:2379') In [4]: kv = rpc.KVStub(chan) In [5]: put = kv.Put(rpc.PutRequest(key=b'lala', value=b'hoho')) In [6]: put Out[6]: header { cluster_id: 14841639068965178418 member_id: 10276657743932975437 revision: 15 raft_term: 3 } In [7]: wcr = rpc.WatchCreateRequest(key=b'bam') In [8]: wr = rpc.WatchRequest(create_request=wcr) In [9]: wi = rpc.WatchStub(grpc.insecure_channel('localhost:2379')) In [10]: watch = wi.Watch(wr) In [11]: Exception in thread Thread-849: Traceback (most recent call last): File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner self.run() File "/usr/lib/python3.5/threading.py", line 862, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.5/dist-packages/grpc/_channel.py", line 184, in consume_request_iterator for request in request_iterator: TypeError: 'WatchRequest' object is not iterable The thread supposed to feed the watch-Rendevouz died leaving the console in an eternal loop (or maybe there is a long timeout) if I try to use watch.next() I tried debugging it, but the automatedly generated code is stacked so deep and on top there is the threading complexity.... i have no idea what the final function does and why it would try to treat the WatchRequest as an iterator. I haven't modified the output of the grpc tools at all. If someone has an Idea, could help me with this, or even has a working ETCD V3 Interface for python laying around. I would be grateful for either. Thank you, Martin Znamirowski -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/8f04a6fa-0c91-49f9-a591-9bcb942e4bdc%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.