def create_repository(repository_type: str, file_system_directory=None, s3_url=None, s3_endpoint_url=None, gcs_url=None) -> BaseRepository:
    'Creates a repository based on a provided type and parameters'
    if (repository_type == 's3'):
        return S3Repository(s3_url, endpoint_url=s3_endpoint_url)
    elif (repository_type == 'gcs'):
        return GCSRepository(gcs_url)
    elif (repository_type == 'file_system'):
        return FileSystemRepository(file_system_directory)
    else:
        raise ValueError(('Unrecognized repository type {}' % repository_type))
Creates a repository based on a provided type and parameters
def create_repository(repository_type: str, file_system_directory=None, s3_url=None, s3_endpoint_url=None, gcs_url=None) -> BaseRepository:
    
    if (repository_type == 's3'):
        return S3Repository(s3_url, endpoint_url=s3_endpoint_url)
    elif (repository_type == 'gcs'):
        return GCSRepository(gcs_url)
    elif (repository_type == 'file_system'):
        return FileSystemRepository(file_system_directory)
    else:
        raise ValueError(('Unrecognized repository type {}' % repository_type))