1 from collections.abc import Awaitable, Callable, Iterator, Sequence
2 from datetime import date, datetime, timedelta
3 from numbers import Real
4 from typing import Any, Type, TypeVar, Union, overload
7 _Freezable = Union[str, datetime, date, timedelta]
9 class TickingDateTimeFactory(object):
10 def __init__(self, time_to_freeze: datetime, start: datetime) -> None: ...
11 def __call__(self) -> datetime: ...
13 class FrozenDateTimeFactory(object):
14 def __init__(self, time_to_freeze: datetime) -> None: ...
15 def __call__(self) -> datetime: ...
16 def tick(self, delta: float | Real | timedelta = ...) -> None: ...
17 def move_to(self, target_datetime: _Freezable | None) -> None: ...
19 class StepTickTimeFactory(object):
20 def __init__(self, time_to_freeze: datetime, step_width: float) -> None: ...
21 def __call__(self) -> datetime: ...
22 def tick(self, delta: timedelta | None = ...) -> None: ...
23 def update_step_width(self, step_width: float) -> None: ...
24 def move_to(self, target_datetime: _Freezable | None) -> None: ...
29 time_to_freeze_str: _Freezable | None,
31 ignore: Sequence[str],
35 auto_tick_seconds: float,
38 def __call__(self, func: Type[_T]) -> Type[_T]: ...
40 def __call__(self, func: Callable[..., Awaitable[_T]]) -> Callable[..., Awaitable[_T]]: ...
42 def __call__(self, func: Callable[..., _T]) -> Callable[..., _T]: ...
43 def __enter__(self) -> FrozenDateTimeFactory | StepTickTimeFactory: ...
44 def __exit__(self, *args: Any) -> None: ...
45 def start(self) -> Any: ...
46 def stop(self) -> None: ...
47 def decorate_class(self, klass: Type[_T]) -> _T: ...
48 def decorate_coroutine(self, coroutine: _T) -> _T: ...
49 def decorate_callable(self, func: Callable[..., _T]) -> Callable[..., _T]: ...
52 time_to_freeze: _Freezable | Callable[..., _Freezable] | Iterator[_Freezable] | None = ...,
53 tz_offset: float | None = ...,
54 ignore: Sequence[str] | None = ...,
55 tick: bool | None = ...,
56 as_arg: bool | None = ...,
57 as_kwarg: str | None = ...,
58 auto_tick_seconds: float | None = ...,
59 ) -> _freeze_time: ...