Skip to main content

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

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

gr8pc-0.1.4.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

gr8pc-0.1.4-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file gr8pc-0.1.4.tar.gz.

File metadata

  • Download URL: gr8pc-0.1.4.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.27

File hashes

Hashes for gr8pc-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9530ce92fc0631623a57260fce962c7d564dc04d3a7f3b98e6afe4c78e1b8313
MD5 ff77edef01605b91d16426c3342e1e8a
BLAKE2b-256 9c38f00e3b6fd8cf2ba21a4d730fc8b8f7c2b9230cbc2c23241a65d2cfbb8ad6

See more details on using hashes here.

File details

Details for the file gr8pc-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: gr8pc-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.27

File hashes

Hashes for gr8pc-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a4f3ffd79a44bff44ac243a573a0ce73e21bbcbaa2e4bb2b9ba700a948be07e4
MD5 36e2f2e093db522e37ca75adbd134b8a
BLAKE2b-256 93d125363be4038362455c10135adc072a7fe7baedc7bb5fabe7f331bbdf2f0d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page