"""`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)