quirl.components

Modern UI components for Duck Framework’s Lively system.

Components are lazily imported on first access (PEP 562), so import quirl.components stays cheap no matter how many components the pack grows to — only the submodule you actually touch gets loaded.

Adding a new component only requires one entry in COMPONENT_GROUPS below; no top-level import statement needed. A submodule that exports several components together (e.g. carousel.py’s MarqueeCarousel and SliderCarousel) lists them as a group — importing any one of them caches all of them, since they came from the same import anyway.

Subpackages

Submodules

Package Contents

Functions

__dir__

Report the public component names for tab-completion and dir().

__getattr__

Lazily import a component’s submodule and cache its whole group.

Data

API

quirl.components.COMPONENT_GROUPS

None

quirl.components.NAME_TO_MODULE

None

quirl.components.__all__

‘list(…)’

quirl.components.__dir__()[source]

Report the public component names for tab-completion and dir().

quirl.components.__getattr__(name: str)[source]

Lazily import a component’s submodule and cache its whole group.

Parameters:

name – The attribute being accessed, e.g. “MarqueeCarousel”.

Returns:

The requested component class.

Raises:

AttributeError – If name isn’t a known component.