SYMBOL INDEX (127 symbols across 21 files) FILE: aioclock/api.py class TaskMetadata (line 38) | class TaskMetadata(BaseModel): function run_specific_task (line 56) | async def run_specific_task(task_id: UUID, app: AioClock): function run_with_injected_deps (line 86) | async def run_with_injected_deps(func: Callable[P, Awaitable[T]]) -> T: function get_metadata_of_all_tasks (line 118) | async def get_metadata_of_all_tasks(app: AioClock) -> list[TaskMetadata]: FILE: aioclock/app.py class AioClock (line 48) | class AioClock: method __init__ (line 146) | def __init__( method dependencies (line 186) | def dependencies(self): method override_dependencies (line 190) | def override_dependencies( method include_group (line 218) | def include_group(self, group: Group) -> None: method task (line 242) | def task(self, *, trigger: BaseTrigger, timeout: Optional[float] = None): method _tasks (line 304) | def _tasks(self) -> list[Task]: method _get_shutdown_task (line 309) | def _get_shutdown_task(self) -> list[Task]: method _get_startup_task (line 312) | def _get_startup_task(self) -> list[Task]: method _get_tasks (line 315) | def _get_tasks(self, exclude_type: Union[set[Triggers], None] = None) ... method serve (line 324) | async def serve(self) -> None: method _run_tasks (line 347) | async def _run_tasks(self) -> None: FILE: aioclock/custom_types.py class Triggers (line 26) | class Triggers(StrEnum): FILE: aioclock/exceptions.py class BaseAioClockException (line 1) | class BaseAioClockException(Exception): class TaskIdNotFound (line 5) | class TaskIdNotFound(BaseAioClockException): class TaskTimeoutError (line 9) | class TaskTimeoutError(BaseAioClockException, TimeoutError): FILE: aioclock/ext/fast.py function make_fastapi_router (line 28) | def make_fastapi_router(aioclock: AioClock, router: Union[APIRouter, Non... FILE: aioclock/group.py class Group (line 24) | class Group: method __init__ (line 25) | def __init__( method task (line 89) | def task(self, *, trigger: BaseTrigger, timeout: Optional[float] = None): method _run (line 164) | async def _run(self): FILE: aioclock/provider.py function get_provider (line 7) | def get_provider(): FILE: aioclock/task.py class Task (line 24) | class Task: method run (line 44) | async def run(self): FILE: aioclock/triggers.py class BaseTrigger (line 55) | class BaseTrigger(BaseModel, ABC, Generic[TriggerTypeT]): method trigger_next (line 102) | async def trigger_next(self) -> None: method should_trigger (line 108) | def should_trigger(self) -> bool: method get_waiting_time_till_next_trigger (line 119) | async def get_waiting_time_till_next_trigger(self) -> Union[float, None]: class Forever (line 127) | class Forever(BaseTrigger[Literal[Triggers.FOREVER]]): method should_trigger (line 161) | def should_trigger(self) -> bool: method trigger_next (line 164) | async def trigger_next(self) -> None: method get_waiting_time_till_next_trigger (line 167) | async def get_waiting_time_till_next_trigger(self): class LoopController (line 171) | class LoopController(BaseTrigger, ABC, Generic[TriggerTypeT]): method validate_loop_control (line 194) | def validate_loop_control(self): method _increment_loop_counter (line 199) | def _increment_loop_counter(self) -> None: method should_trigger (line 202) | def should_trigger(self) -> bool: method get_waiting_time_till_next_trigger (line 209) | async def get_waiting_time_till_next_trigger(self): class Once (line 213) | class Once(LoopController[Literal[Triggers.ONCE]]): method trigger_next (line 230) | async def trigger_next(self) -> None: method get_waiting_time_till_next_trigger (line 234) | async def get_waiting_time_till_next_trigger(self): class OnStartUp (line 243) | class OnStartUp(LoopController[Literal[Triggers.ON_START_UP]]): method trigger_next (line 260) | async def trigger_next(self) -> None: method get_waiting_time_till_next_trigger (line 264) | async def get_waiting_time_till_next_trigger(self): class OnShutDown (line 273) | class OnShutDown(LoopController[Literal[Triggers.ON_SHUT_DOWN]]): method trigger_next (line 290) | async def trigger_next(self) -> None: method get_waiting_time_till_next_trigger (line 294) | async def get_waiting_time_till_next_trigger(self): class Every (line 300) | class Every(LoopController[Literal[Triggers.EVERY]]): method validate_time_units (line 342) | def validate_time_units(self): method to_seconds (line 355) | def to_seconds(self) -> float: method trigger_next (line 368) | async def trigger_next(self) -> None: method get_waiting_time_till_next_trigger (line 375) | async def get_waiting_time_till_next_trigger(self): class At (line 391) | class At(LoopController[Literal[Triggers.AT]]): method validate_time_units (line 439) | def validate_time_units(self): method _shift_to_declared_weekday (line 451) | def _shift_to_declared_weekday(self, target_time: datetime, tz_aware_n... method _get_next_ts (line 464) | def _get_next_ts(self, now: datetime) -> float: method get_waiting_time_till_next_trigger (line 471) | async def get_waiting_time_till_next_trigger(self, now: Union[datetime... method trigger_next (line 478) | async def trigger_next(self) -> None: class Cron (line 483) | class Cron(LoopController[Literal[Triggers.CRON]]): method validate_time_units (line 516) | def validate_time_units(self): method get_waiting_time_till_next_trigger (line 527) | async def get_waiting_time_till_next_trigger(self, now: Union[datetime... method trigger_next (line 535) | async def trigger_next(self) -> None: class OrTrigger (line 540) | class OrTrigger(LoopController[Literal[Triggers.OR]]): method should_trigger (line 588) | def should_trigger(self) -> bool: method find_closest_trigger (line 594) | async def find_closest_trigger(self) -> tuple[BaseTrigger, float | None]: method trigger_next (line 607) | async def trigger_next(self) -> None: method get_waiting_time_till_next_trigger (line 613) | async def get_waiting_time_till_next_trigger(self): FILE: aioclock/utils.py function flatten_chain (line 8) | def flatten_chain(matrix: list[Iterable[T]]) -> list[T]: class StrEnum (line 12) | class StrEnum(str, Enum): method _generate_next_value_ (line 21) | def _generate_next_value_(name: str, start: int, count: int, last_valu... method __str__ (line 28) | def __str__(self) -> str: FILE: deploy_docs.py function run_command (line 10) | def run_command(command: str) -> None: FILE: docs/plugins.py function on_pre_build (line 15) | def on_pre_build(config: Config): function on_files (line 19) | def on_files(files: Files, config: Config) -> Files: function remove_files (line 23) | def remove_files(files: Files) -> Files: function on_page_markdown (line 37) | def on_page_markdown(markdown: str, page: Page, config: Config, files: F... function add_version (line 42) | def add_version(markdown: str, page: Page) -> str: function remove_code_fence_attributes (line 59) | def remove_code_fence_attributes(markdown: str) -> str: FILE: examples/app.py function dependency (line 14) | def dependency(): function sync_task_1 (line 19) | def sync_task_1(val: str = Depends(dependency)): function sync_task_2 (line 25) | def sync_task_2(val: Annotated[str, Depends(dependency)]): function async_task (line 35) | async def async_task(val: str = Depends(dependency)): function lifespan (line 40) | async def lifespan(aio_clock: AioClock) -> AsyncGenerator[AioClock]: FILE: examples/awesome_triggers.py function more_useless_than_me (line 12) | def more_useless_than_me(): function every (line 17) | async def every(): function even_sync_works (line 22) | def even_sync_works(): function at (line 27) | async def at(): function forever (line 34) | async def forever(val: str = Depends(more_useless_than_me)): function once (line 41) | async def once(): function lifespan (line 46) | async def lifespan(aio_clock: AioClock) -> AsyncGenerator[AioClock]: FILE: examples/dependency_injection.py function dependency (line 9) | def dependency(): function overwritten_dependency (line 13) | def overwritten_dependency(): function my_task (line 18) | async def my_task(val: str = Depends(dependency)): FILE: examples/with_fast_api.py function aioclock_lifespan (line 13) | async def aioclock_lifespan(aio_clock: AioClock) -> AsyncGenerator[AioCl... function foo (line 23) | async def foo(): function lifespan (line 28) | async def lifespan(app: FastAPI): FILE: tests/test_di.py function some_dependency (line 9) | def some_dependency(): function main (line 14) | async def main(bar: int = Depends(some_dependency)): function test_run_manual (line 20) | async def test_run_manual(): FILE: tests/test_examples.py function extract_code_blocks (line 11) | def extract_code_blocks(docstring: str) -> list[str]: function exec_example (line 34) | def exec_example(example: str) -> None: function process_object (line 45) | def process_object(name: str, obj: object, module_name: str, library_nam... function process_module (line 60) | def process_module(module_path: str) -> None: function process_markdown (line 80) | def process_markdown(markdown_path: str) -> None: function traverse_library (line 90) | def traverse_library(library_path: str) -> None: function traverse_docs (line 104) | def traverse_docs(docs_path: str) -> None: function test_examples (line 113) | def test_examples(): FILE: tests/test_lifespan.py function lifespan (line 13) | async def lifespan(app: AioClock): function main (line 23) | async def main(): function test_lifespan_e2e_async (line 30) | async def test_lifespan_e2e_async(): function lifespan_sync (line 43) | def lifespan_sync(sync_app: AioClock): function sync_main (line 53) | def sync_main(): function test_lifespan_e2e_sync (line 60) | async def test_lifespan_e2e_sync(): FILE: tests/test_timeout.py function assert_execution_time_below (line 13) | def assert_execution_time_below(target: float): function main (line 20) | async def main(): function test_run_manual (line 25) | async def test_run_manual(): FILE: tests/test_triggers.py function test_at_trigger (line 9) | def test_at_trigger(): function test_cross_timezone (line 72) | def test_cross_timezone(): function test_loop_controller (line 84) | async def test_loop_controller(): function test_forever (line 107) | async def test_forever(): function test_every (line 117) | async def test_every(): function test_cron (line 130) | async def test_cron(): function test_or_trigger_state (line 168) | async def test_or_trigger_state(): function test_or_trigger_next (line 178) | async def test_or_trigger_next():