title: what is the recommended mechanism to distribute GRPC clients?
body: <p>I've created a <code>GRPC</code> server and would like to distribute "<code>SDK</code>" clients in various languages to it.</p>
  
  <p>I can generate the clients relatively easily using the <code>proto</code> commands (for example <code>python</code>):</p>
  
  <pre><code>python -m grpc_tools.protoc -I. --python_out=/tmp/python --grpc_python_out=/tmp/python MyProtoc.proto
  </code></pre>
  
  <p>and similarly for <code>java/ruby</code> etc.</p>
  
  <p>This generated code needs to be copied to client applications manually.</p>
  
  <p>I rather not burden my consumers to have to create the generated libs themselves and to integrate them. (especially when adding new functionality to the service)</p>
  
  <p>For instance in the context of <code>python</code> it would be more convenient to run something along the lines of </p>
  
  <p><code>pip install MyProtoClient</code> </p>
  
  <p>Are there mechanisms to package the generated libraries to the appropriate canonical package managers (i.e. <code>pip</code>/<code>maven</code>/<code>npm</code> etc.)?</p>
  
  <p>Also, is there a way to call on the service itself to generate the source libraries (or to return the appropriate proto that it is implementing?)</p>