class_docstr: Client class for using Courier RPCs.
  
  This provides a convenience wrapper around the CLIF bindings which allows
  calling server methods as if they were class methods.
class_docstr_tok: ["Client","class","for","using","Courier","RPCs",".","This","provides","a","convenience","wrapper","around","the","CLIF","bindings","which","allows","calling","server","methods","as","if","they","were","class","methods","."]
docstr: Initiates a new client that will connect to a server.
  
  Args:
    server_address: Address of the server. If the string does not start with
      "/" or "localhost" then it will be interpreted as a custom BNS
      registered server_name (constructor passed to Server).
    compress: Whether to use compression.
    call_timeout: Sets a timeout to apply to all calls. If None or 0 then
      no timeout is applied.
    wait_for_ready: Sets `wait_for_ready` on the gRPC::ClientContext. This
      specifies whether to wait for a server to come online.
    chunk_tensors: Unsupported feature.
    load_balancing_policy: gRPC load balancing policy. Use 'round_robin' to
      spread the load across all backends. More details at:
      https://github.com/grpc/grpc/blob/master/doc/load-balancing.md
    propagate_deadline: Unsupported feature.
docstr_tok: ["Initiates","a","new","client","that","will","connect","to","a","server",".","Args",":","server_address",":","Address","of","the","server",".","If","the","string","does","not","start","with","``","\/","''","or","``","localhost","''","then","it","will","be","interpreted","as","a","custom","BNS","registered","server_name","(","constructor","passed","to","Server",")",".","compress",":","Whether","to","use","compression",".","call_timeout",":","Sets","a","timeout","to","apply","to","all","calls",".","If","None","or","0","then","no","timeout","is","applied",".","wait_for_ready",":","Sets","`","wait_for_ready","`","on","the","gRPC",":",":ClientContext",".","This","specifies","whether","to","wait","for","a","server","to","come","online",".","chunk_tensors",":","Unsupported","feature",".","load_balancing_policy",":","gRPC","load","balancing","policy",".","Use","'round_robin","'","to","spread","the","load","across","all","backends",".","More","details","at",":","https",":","\/\/github.com\/grpc\/grpc\/blob\/master\/doc\/load-balancing.md","propagate_deadline",":","Unsupported","feature","."]
code: def __init__(
      self,
      server_address: str,
      compress: bool = False,
      call_timeout: Optional[
          Union[int, float, datetime.timedelta]
      ] = None,
      wait_for_ready: bool = True,
      chunk_tensors: bool = False,
      *,
      load_balancing_policy: Optional[str] = None,
      propagate_deadline: bool = True,
  ):
      """Initiates a new client that will connect to a server.
  
      Args:
        server_address: Address of the server. If the string does not start with
          "/" or "localhost" then it will be interpreted as a custom BNS
          registered server_name (constructor passed to Server).
        compress: Whether to use compression.
        call_timeout: Sets a timeout to apply to all calls. If None or 0 then
          no timeout is applied.
        wait_for_ready: Sets `wait_for_ready` on the gRPC::ClientContext. This
          specifies whether to wait for a server to come online.
        chunk_tensors: Unsupported feature.
        load_balancing_policy: gRPC load balancing policy. Use 'round_robin' to
          spread the load across all backends. More details at:
          https://github.com/grpc/grpc/blob/master/doc/load-balancing.md
        propagate_deadline: Unsupported feature.
      """
      self._init_args = (
          server_address,
          compress,
          call_timeout,
          wait_for_ready,
      )
      self._address = str(server_address)
      self._compress = compress
      self._client = py_client.PyClient(
          self._address, load_balancing_policy
      )
      if call_timeout:
          if isinstance(call_timeout, datetime.timedelta):
              self._call_timeout = call_timeout
          else:
              self._call_timeout = datetime.timedelta(
                  seconds=call_timeout
              )
      else:
          self._call_timeout = None
      self._wait_for_ready = wait_for_ready
      self._chunk_tensors = chunk_tensors
      self._async_client = _AsyncClient(
          self._client,
          self._wait_for_ready,
          self._call_timeout,
          self._compress,
          self._chunk_tensors,
          propagate_deadline,
      )
      self._propagate_deadline = propagate_deadline
  
imports: from concurrent import futures
  import datetime
  from typing import List, Optional, Union
  import zoneinfo
  from courier.python import py_client
  import numpy
  from pybind11_abseil.status import StatusNotOk
  from pybind11_abseil.status import StatusNotOk
label_desc: Use image node_id 1 to create a new Client object  with example: obj = Client(server_address, compress, call_timeout, wait_for_ready, chunk_tensors)