(train_data_dir, test_data_dir)
return train_clients, train_groups, train_data, test_data
parses data in given train and test data directories

    assumes:
    - the data in the input directories are .json files with 
        keys 'users' and 'user_data'
    - the set of train set users is the same as the set of test set users
    
    Return:
        clients: list of client ids
        groups: list of group ids; empty list if none found
        train_data: dictionary of train data
        test_data: dictionary of test data
parses data in given train and test data directories
parses data in given train and test data directories
def read_data(train_data_dir, test_data_dir):
    '''parses data in given train and test data directories

    assumes:
    - the data in the input directories are .json files with 
        keys 'users' and 'user_data'
    - the set of train set users is the same as the set of test set users
    
    Return:
        clients: list of client ids
        groups: list of group ids; empty list if none found
        train_data: dictionary of train data
        test_data: dictionary of test data
    '''
    train_clients, train_groups, train_data = read_dir(train_data_dir)
    test_clients, test_groups, test_data = read_dir(test_data_dir)

    assert train_clients == test_clients
    assert train_groups == test_groups

    return train_clients, train_groups, train_data, test_data
def read_data ( train_data_dir , test_data_dir ) : train_clients , train_groups , train_data = read_dir ( train_data_dir ) test_clients , test_groups , test_data = read_dir ( test_data_dir ) assert train_clients == test_clients assert train_groups == test_groups return train_clients , train_groups , train_data , test_data