def get_client(image=None, quiet=False, **kwargs):
from sregistry.defaults import SREGISTRY_CLIENT<EOL>if not check_install():<EOL><INDENT>bot.warning('<STR_LIT>')<EOL><DEDENT>client_name = get_uri(image)<EOL>if client_name is not None:<EOL><INDENT>SREGISTRY_CLIENT = client_name<EOL><DEDENT>if   SREGISTRY_CLIENT == '<STR_LIT>': from .aws import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .docker import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .dropbox import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .gitlab import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .globus import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .nvidia import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .hub import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .google_drive import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .google_storage import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .google_storage import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .google_build import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .registry import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .s3 import Client<EOL>elif SREGISTRY_CLIENT == '<STR_LIT>': from .swift import Client<EOL>else: from .hub import Client<EOL>Client.client_name = SREGISTRY_CLIENT<EOL>Client.quiet = quiet<EOL>Client._credential_cache = get_credential_cache()<EOL>if SREGISTRY_DATABASE is not None:<EOL><INDENT>from sregistry.database import (<EOL>init_db, add, cp, get, mv, rm, rmi, <EOL>images, inspect,<EOL>rename,<EOL>get_container,<EOL>get_collection, <EOL>get_or_create_collection <EOL>)<EOL>Client._init_db = init_db<EOL>Client.add = add<EOL>Client.cp = cp<EOL>Client.get = get<EOL>Client.inspect = inspect<EOL>Client.mv = mv<EOL>Client.rename = rename<EOL>Client.rm = rm<EOL>Client.rmi = rmi<EOL>Client.images = images<EOL>Client.get_or_create_collection = get_or_create_collection<EOL>Client.get_container = get_container<EOL>Client.get_collection = get_collection<EOL><DEDENT>else:<EOL><INDENT>from sregistry.database import ( add, init_db )<EOL>Client.add = add<EOL>Client._init_db = init_db        <EOL><DEDENT>cli = Client()<EOL>if hasattr(Client, '<STR_LIT>'):<EOL><INDENT>cli._init_db(SREGISTRY_DATABASE)<EOL><DEDENT>return cli<EOL>
get the correct client depending on the driver of interest. The
selected client can be chosen based on the environment variable
SREGISTRY_CLIENT, and later changed based on the image uri parsed
If there is no preference, the default is to load the singularity 
hub client.

Parameters
==========
image: if provided, we derive the correct client based on the uri
of an image. If not provided, we default to environment, then hub.
quiet: if True, suppress most output about the client (e.g. speak)