https://github.com/giefferre/grpc-usage-example
Simple client-server architecture showing how gRPC works.
https://github.com/giefferre/grpc-usage-example
api golang grpc python
Last synced: 3 months ago
JSON representation
Simple client-server architecture showing how gRPC works.
- Host: GitHub
- URL: https://github.com/giefferre/grpc-usage-example
- Owner: giefferre
- License: mit
- Created: 2018-06-18T20:25:48.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-10-21T23:54:23.000Z (5 months ago)
- Last Synced: 2025-10-22T01:24:34.813Z (5 months ago)
- Topics: api, golang, grpc, python
- Language: Python
- Size: 26.4 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gRPC Usage Example
[](https://goreportcard.com/report/github.com/giefferre/grpc-usage-example) [](https://pyup.io/repos/github/giefferre/grpc-usage-example/) [](https://pyup.io/repos/github/giefferre/grpc-usage-example/)
A simple client-server architecture showing how [gRPC](https://grpc.io/) works.
Contains:
- A Server, implemented in Go
- A Client, implemented in Python
## Running
In order to simplify the execution, a convenient Makefile is provided.
That said, [Docker](https://www.docker.com/community-edition) and `make` is all you need to run both server and client.
### Server
Run server first by opening a bash console and executing `make run-server`.
The command will download Go image, get the dependencies, build the application and run it.
### Client
Open a bash console and execute `make run-client`.
The command will download Python 3 image, get dependencies and run the application.
## Protobuf compilation
If you want to apply changes you will have to recompile the `.proto` file.
You will need:
- [Protocol Buffers](https://developers.google.com/protocol-buffers/docs/downloads)
- [Go support for Protocol Buffers](https://github.com/golang/protobuf)
Execution:
Open a bash console and execute `make proto-generation`.
This command will generate both Go and Python code in the right place.