Quickstart¶
Linkd can be installed using pip:
pip install linkd
Important
You must have Python 3.10 or higher in order to use linkd.
Standalone¶
The most basic usage of linkd involves three main steps:
Creating a
DependencyInjectionManagerand registering dependenciesSetting up an injection context
Enabling injection on a function
An example of all the above can be seen below:
import asyncio
import linkd
# create a manager instance
manager = linkd.DependencyInjectionManager()
# register a dependency to on of the manager's registries
manager.registry_for(linkd.Contexts.ROOT).register_value(str, "thomm.o")
# enable injection on a function with the inject decorator
@linkd.inject
async def greet(who: str) -> str:
# the 'who' parameter will be injected by linkd
return f"hello {who}"
# use the contextual decorator to automatically set up an injection context
@manager.contextual(linkd.Contexts.ROOT)
async def main() -> None:
# call the injected method
print(await greet())
if __name__ == "__main__":
asyncio.run(main())
Supported Framework¶
Linkd currently supports the following frameworks (click to jump to example usage):
If your framework isn’t mentioned here, feel free to open an issue requesting support!