Skip to content

textual.timer

Contains the Timer class. Timer objects are created by set_interval or set_timer.

TimerCallback module-attribute

TimerCallback = Union[
    Callable[[], Awaitable[Any]], Callable[[], Any]
]

Type of valid callbacks to be used with timers.

EventTargetGone

Bases: Exception

Raised if the timer event target has been deleted prior to the timer event being sent.

Timer

Timer(
    event_target,
    interval,
    *,
    name=None,
    callback=None,
    repeat=None,
    skip=True,
    pause=False
)

A class to send timer-based events.

Parameters:

Name Type Description Default

event_target

MessageTarget

The object which will receive the timer events.

required

interval

float

The time between timer events, in seconds.

required

name

str | None

A name to assign the event (for debugging).

None

callback

TimerCallback | None

A optional callback to invoke when the event is handled.

None

repeat

int | None

The number of times to repeat the timer, or None to repeat forever.

None

skip

bool

Enable skipping of scheduled events that couldn't be sent in time.

True

pause

bool

Start the timer paused.

False

pause

pause()

Pause the timer.

A paused timer will not send events until it is resumed.

reset

reset()

Reset the timer, so it starts from the beginning.

resume

resume()

Resume a paused timer.

stop

stop()

Stop the timer.

Returns:

Type Description
Task

A Task object. Await this to wait until the timer has completed.