Skip to main content

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 on jinja 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.

Release files for gr8pc 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gr8pc 0.2.0
File Size Uploaded
gr8pc-0.2.0.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gr8pc 0.2.0
File Interpreter ABI Platform
gr8pc-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.9 kB

Release files / gr8pc-0.2.0.tar.gz

Download URL gr8pc-0.2.0.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
28222bc1adad7c561f87c32c094aafab2021400198ce86f9a1f295efa2391274
BLAKE2b-256 checksum
How to use checksums
9a81b3496e171927cf4809dc15e5d55571af7c4256c51c49e34d9d867976071f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release files / gr8pc-0.2.0-py3-none-any.whl

Download URL gr8pc-0.2.0-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23c4b7b8b1f97b4760d881a76d757ba20bbf79b0001f0d98312387f034196dc9
BLAKE2b-256 checksum
How to use checksums
233226aaa075a5ef8dbd741b18627ab54d61623b1d7c2c45836c8d6a9b9be761
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page