Skip to content

PortForward

@final
class PortForward

A running port-forward. Use as a context manager, or call stop().

Keep a reference: dropping this object stops the forward and cuts its open connections.

PortForward declares no __new__ or __init__, so it is not constructed directly: an instance comes back from another call in this package.

local_address: str

The local address to connect to, host:port, with the port the OS picked.

running: bool

Whether the forward is still serving.

def stop(timeout: SupportsFloat | SupportsIndex | None = None) -> PortForwardReport

Stops accepting, waits for the connections still open to end, and returns the report.

With timeout, connections still open after that many seconds are cut and listed as "failed". Without it, a client that keeps its connection open keeps this waiting. Callable again, with the same report.

def stop_async(
timeout: SupportsFloat | SupportsIndex | None = None,
) -> PortForwardReport

The awaitable twin of stop.

def __aenter__() -> PortForward

async with session.port_forward(...) as t:.

def __aexit__(
exc_type: Any | None = None,
exc_value: Any | None = None,
traceback: Any | None = None,
) -> bool

__exit__, awaited.

def __enter__() -> PortForward
def __exit__(
exc_type: Any | None = None,
exc_value: Any | None = None,
traceback: Any | None = None,
) -> bool

Stops the forward, waiting for its open connections. An error stopping it doesn’t mask an exception already in flight.

def __repr__() -> str

This page is generated from bindings/microvms-py/microvms.pyi by Griffe 2.3.0, run from site/scripts/gen-reference.mjs on every pnpm run sync, so an edit made here is overwritten by the next run.

To change the page, change the doc comment in the binding’s Rust source, then regenerate the declarations with mise run stubs. mise run stubs:check fails when the committed file no longer matches the source.