gr8pc: A High-Level gRPC Wrapper for python
Project description
gr8pc: A High-Level gRPC Wrapper for python
This library is a direct adaptation of py-grpcio, featuring a few modifications and tailored customizations. Depending on your needs, you may find the original repository better suited to your requirements and preferred practices.
Background and Motivation
As noted before, gr8pc
is an adaptation of the py-grpcio
library, with a few key modifications:
- Python 3.11 Compatibility: This library is compatible with Python 3.11 (the original library demands >=3.12).
- Separation between Logic and Protobuf file Generation:
gr8pc
splits into two subprojects: one for the core server and client logic, and another (optional) CLI tool for.proto
file generation. This design decision was made to make the dependency onjinja
not necessary for the core library. In other words, the core library won't generate.proto
files during runtime and will raise an error if it can't find them. The.proto
file must be generated at development time using the CLI tool.
Installation
pip install gr8pc
To install the optional CLI:
pip install gr8gen
Usage
For usage documentation, please refer to the original py-grpcio repository.
Proto Generation Tool
$ gr8gen --help
usage: gr8gen [-h] [--version] [-o OUT] -s SVCS [SVCS ...]
A CLI tool for processing paths and services.
options:
-h, --help show this help message and exit
--version show program's version number and exit
-o OUT, --out OUT Path for output. Must be an existing or new directory. (default: ./proto)
-s SVCS [SVCS ...], --svcs SVCS [SVCS ...]
Python-like import path(s) for service(s). Example: 'path.to.class.Class'. (default: None)
The gr8gen tool generates the necessary .proto
file. Usage:
gr8gen --output /path/to/proto/folder --service path.to.service.Service path.to.another.service.AnotherService
Acknowledgments
This library is derived directly from the py-grpcio
package, maintaining much of the original
structure and functionality.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gr8pc-0.1.1.tar.gz
.
File metadata
- Download URL: gr8pc-0.1.1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.26
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cfe588342d8c391ac622d0436036ac037df6c64b9234af3518da2be548e9681 |
|
MD5 | 2048ecc10dbb48baada2f329ae665a74 |
|
BLAKE2b-256 | e4f31aaa9bde1640ea4ae9d02b124072fd4b681fc31ea734de2b4f0c935403cf |
File details
Details for the file gr8pc-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: gr8pc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.26
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ac14b0b4b82ed0baa2ba3297399b302cfc875ca36c176833ad2ad2c02af299b |
|
MD5 | 73b49fde72c9a04c66fc96baac35ca88 |
|
BLAKE2b-256 | 81b0399022079ff2e7ef299ddb15f50356cb20be27d5da09a96fc9acccf7486e |