Welcome to portforward’s documentation!¶
portforward¶
Easy Kubernetes Port-Forward For Python
Free software: MIT license
Documentation: https://portforward.readthedocs.io.
Installation¶
Wheels are available for:
Windows
MacOS X
Linux
with Python versions:
3.7
3.8
3.9
3.10
3.11
and architectures:
x84_64
arm64 (known as M1/Apple Chip - MacOS only)
Requirements for installation from source
The following things are required when there is no wheel available for the target system.
Rust installed and available in the path (https://www.rust-lang.org/tools/install)
Python (at least v3.7 - below was never tested but might work)
Pip knows how to install portforward
.
pip install portforward
Quickstart¶
import requests
import portforward
def main():
namespace = "test"
pod_name = "web" # You can also use a service name instead
local_port = 9000 # from port
pod_port = 80 # to port
# No path to kube config provided - will use default from $HOME/.kube/config
with portforward.forward(namespace, pod_name, local_port, pod_port):
response = requests.get("http://localhost:9000")
print(f"Done: \n'{response.status_code}'\n'{response.text[:20]}...'")
if __name__ == "__main__":
main()
Features¶
Native Kubernetes port-forwarding with the
.kube/config
from the home dir or any other path to config.Portforward for pods and services - the lib will first look for a pod with matching name then for a service
Waiting for a pod to become ready
Multiple forwards per pod or service
As context manager, sync or async client
Development¶
In case you want to develop on this library itself please take a look at the CONTRIBUTING page.
Credits¶
This project is enabled by PyO3.