@memoize
def getJobStoreClasses():
    """
    Compiles as list of the classes of all jobStores whose dependencies
    are installed.

    Note that job store names must be manually added.
    """
    jobStoreClassNames = (
        "toil.jobStores.azureJobStore.AzureJobStore",
        "toil.jobStores.fileJobStore.FileJobStore",
        "toil.jobStores.aws.jobStore.AWSJobStore"
    )

    jobStoreClasses = []
    for className in jobStoreClassNames:
        moduleName, className = className.rsplit('.', 1)
        from importlib import import_module
        try:
            module = import_module(moduleName)
        except ImportError:
            logger.info("Unable to import '%s'" % moduleName)
        else:
            jobStoreClasses.append(getattr(module, className))
    return jobStoreClasses
dataset/ETHPy150Open BD2KGenomics/toil/src/toil/jobStores/abstractJobStore.py/getJobStoreClasses/original