FastDepends
- 代码示例
python
## uv add fast-depends
from typing import Annotated, TypeAlias
from fast_depends import Depends, inject
class A:
"""
A class
"""
def __init__(self):
self.desc = "Class A instance"
def __call__(self, *args, **kwds):
return self
ADeps: TypeAlias = Annotated[A, Depends(A)]
@inject
def main(a: ADeps):
"""main
"""
print(a.desc)
if __name__ == "__main__":
main(ADeps)python
from typing import Annotated, Callable, TypeAlias
from fast_depends import Depends, inject
def greet(name):
"""greet
"""
return f"Hello, {name}!"
FunDeps: TypeAlias = Annotated[Callable[[str], None], Depends(lambda: greet)]
@inject
def main(greeting: FunDeps):
"""main
"""
print(greeting("zhangsan"))
if __name__ == "__main__":
main(FunDeps)