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


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.3.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.3.0-py3-none-any.whl (59.2 kB view details)

Uploaded Python 3

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

Hashes for grpctunnel_py-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b160dd2b8a925365fc66fe6e5b2404d281f2ceddb84ee4ddddf9d6de9d7d221c
MD5 165483c41b19d06bfe65258c05da0205
BLAKE2b-256 584b74b3819f74ce476b9517ad029419befbbe9a02343145a7fc0fce568a0dc1

See more details on using hashes here.

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

Hashes for grpctunnel_py-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d0417267a3e1f055453dca46bd9412b148033177cc6b811381d25de2973b872
MD5 b45a0487c7791d6c1f4dfc64d281a819
BLAKE2b-256 1689950e4999d9cd7b1c2adf30f8feb66be2b6fbd357de5759e446662820483e

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