Skip to main content

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:

  1. Forward Tunnels: Pin multiple RPC calls to a single server backend, providing session affinity even when connecting through load balancers.

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

This Python port maintains compatibility with the original Go implementation, allowing Python and Go clients/servers to interoperate seamlessly.

Installation

pip install grpctunnel

Or with uv:

uv add grpctunnel

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grpctunnel_py-0.2.0.tar.gz (23.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grpctunnel_py-0.2.0-py3-none-any.whl (59.2 kB view details)

Uploaded Python 3

File details

Details for the file grpctunnel_py-0.2.0.tar.gz.

File metadata

  • Download URL: grpctunnel_py-0.2.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

Hashes for grpctunnel_py-0.2.0.tar.gz
Algorithm Hash digest
SHA256 77207a7df64930eb78b72f7fb80d185627aa4d99058c48d1eb291c559dc80102
MD5 fd709ea7e7f80defcde8530ccb2a4797
BLAKE2b-256 919a7149e983443a1c16e8cae1932b43fcb74388c550e1e7ba73ae869a40b249

See more details on using hashes here.

File details

Details for the file grpctunnel_py-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: grpctunnel_py-0.2.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

Hashes for grpctunnel_py-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8cdc5a5bff438b704f48ecbe9769235a8138efec1ae3be271331e80f431964db
MD5 c547e6e7e6c321a8aebe95f18853a50f
BLAKE2b-256 dc46d532b25053564ce257047a8f90b648adb6761e496b595b0af04dcf7d476b

See more details on using hashes here.

Supported by

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