Callable provider

Callable provider calls a function, a method or another callable.

importpasslib.hash
fromdependency_injectorimport containers, providers
classContainer(containers.DeclarativeContainer):
 password_hasher = providers.Callable(
 passlib.hash.sha256_crypt.hash,
 salt_size=16,
 rounds=10000,
 )
 password_verifier = providers.Callable(passlib.hash.sha256_crypt.verify)
if __name__ == "__main__":
 container = Container()
 hashed_password = container.password_hasher("super secret")
 assert container.password_verifier("super secret", hashed_password)

Callable provider handles an injection of the dependencies the same way like a Factory provider.