Skip to content

KeepAwake

@final
class KeepAwake

A running keepalive. Use as a context manager, or call stop().

Keep a reference: dropping this object stops the keepalive.

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

running: bool

Whether the keepalive is still polling.

def stop() -> KeepAwakeReport

Stops polling and returns the report. Raises the poll’s error if one ended it.

def stop_async() -> KeepAwakeReport

The awaitable twin of stop. The stop is asked for before the first await, so cancelling this still stops the keepalive; only the wait for its report is given up.

def wait(timeout: SupportsFloat | SupportsIndex | None = None) -> KeepAwakeReport | None

Waits for the keepalive to end on its own (while_busy or max_duration).

Returns None if it is still running when timeout seconds pass.

def wait_async(
timeout: SupportsFloat | SupportsIndex | None = None,
) -> KeepAwakeReport | None

The awaitable twin of wait.

def __aenter__() -> KeepAwake

async with session.keep_awake() as k:.

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

__exit__, awaited.

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

Stops the keepalive. A poll error does not 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.