"""`Callable` provider example.""" import passlib.hash from dependency_injector import containers, providers class Container(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)