Python port of grpctunnel - carry gRPC over gRPC
Project description
grpctunnel-py
A Python port of grpctunnel - a library for carrying gRPC over gRPC.
About
This library enables tunneling gRPC connections through other gRPC connections. This provides two primary use cases:
-
Forward Tunnels: Pin multiple RPC calls to a single server backend, providing session affinity even when connecting through load balancers.
-
Reverse Tunnels: Allow servers to send RPC requests back to connected clients, enabling rich "server push" capabilities and allowing servers behind NAT/firewalls to be accessed.
Attribution
This is a Python port of the original Go implementation created by Joshua Humphries.
- Original Author: Joshua Humphries (@jhump)
- Original Repository: https://github.com/jhump/grpctunnel
- License: Apache License 2.0
This Python port maintains compatibility with the original Go implementation, allowing Python and Go clients/servers to interoperate seamlessly.
Installation
pip install grpctunnel-py
Or with uv:
uv add grpctunnel-py
Requirements
- Python 3.11+
- grpcio
- protobuf
License
Copyright 2025 Daniel Valdivia
Ported from the original Go implementation by Joshua Humphries. Original: https://github.com/jhump/grpctunnel
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Links
Acknowledgments
Special thanks to Joshua Humphries (@jhump) for creating the original grpctunnel library and for the excellent design that made this port possible.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grpctunnel_py-0.3.0.tar.gz.
File metadata
- Download URL: grpctunnel_py-0.3.0.tar.gz
- Upload date:
- Size: 23.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b160dd2b8a925365fc66fe6e5b2404d281f2ceddb84ee4ddddf9d6de9d7d221c
|
|
| MD5 |
165483c41b19d06bfe65258c05da0205
|
|
| BLAKE2b-256 |
584b74b3819f74ce476b9517ad029419befbbe9a02343145a7fc0fce568a0dc1
|
File details
Details for the file grpctunnel_py-0.3.0-py3-none-any.whl.
File metadata
- Download URL: grpctunnel_py-0.3.0-py3-none-any.whl
- Upload date:
- Size: 59.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d0417267a3e1f055453dca46bd9412b148033177cc6b811381d25de2973b872
|
|
| MD5 |
b45a0487c7791d6c1f4dfc64d281a819
|
|
| BLAKE2b-256 |
1689950e4999d9cd7b1c2adf30f8feb66be2b6fbd357de5759e446662820483e
|