common
Classes:
-
Fixed–A property-like descriptor factory that always returns the same object.
Functions:
-
import_item–Import an item from a module, given its dotted name.
Fixed
¶
Bases: Generic[S, T]
A property-like descriptor factory that always returns the same object.
The descriptor is defined with a callable or importable string to a callable.
On first access the object is obtained as the result of the callable, cached and returned. Subsequent access to the property returns the cached result.
Parameters:
-
(obj¶type[T] | Callable[[FixedCreate[S]], T] | str) –A class, callable or dotted path.
The following types are accepted:
- string: A dotted importable path to class or function to be used as callable.
- class | callable: Called with zero or one positional argument FixedCreate.
-
(created¶Callable[[FixedCreated[S, T]]] | None, default:None) –A per-instance optional callback that gets called on first-access to the property.
Type Hints
S: Type of the owner class.T: Type of the managed class.
Example
class MyClass:
a: Fixed[Self, dict] = Fixed(dict)
b: Fixed[Self, dict] = Fixed(lambda c: id(c["owner"].a))
c: Fixed[Self, list[str]] = Fixed(
list, created=lambda c: c["obj"].append(c["name"])
)
Tip
You can use import_item inside a callable to lazy import.
Source code in src/async_kernel/common.py
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | |
import_item
¶
Import an item from a module, given its dotted name.
Example
import_item("os.path.join")
Source code in src/async_kernel/common.py
17 18 19 20 21 22 23 24 25 26 | |