def create_network(cx_str, ndex_cred=None, private=True):
    """Creates a new NDEx network of the assembled CX model.

    To upload the assembled CX model to NDEx, you need to have
    a registered account on NDEx (http://ndexbio.org/) and have
    the `ndex` python package installed. The uploaded network
    is private by default.

    Parameters
    ----------
    ndex_cred : dict
        A dictionary with the following entries:
        'user': NDEx user name
        'password': NDEx password

    Returns
    -------
    network_id :  str
        The UUID of the NDEx network that was created by uploading
        the assembled CX model.
    """
    username, password = get_default_ndex_cred(ndex_cred)
    nd = ndex2.client.Ndex2('http://public.ndexbio.org',
                            username=username,
                            password=password)
    cx_stream = io.BytesIO(cx_str.encode('utf-8'))
    try:
        logger.info('Uploading network to NDEx.')
        network_uri = nd.save_cx_stream_as_new_network(cx_stream)
    except Exception as e:
        logger.error('Could not upload network to NDEx.')
        logger.error(e)
        return

    network_id = network_uri.rsplit('/')[-1]
    if not private:
        nd.make_network_public(network_id)
    logger.info('The UUID for the uploaded network is: %s' % network_id)
    logger.info('View at: http://ndexbio.org/#/network/%s' % network_id)
    return network_id
Creates a new NDEx network of the assembled CX model.

    To upload the assembled CX model to NDEx, you need to have
    a registered account on NDEx (http://ndexbio.org/) and have
    the `ndex` python package installed. The uploaded network
    is private by default.

    Parameters
    ----------
    ndex_cred : dict
        A dictionary with the following entries:
        'user': NDEx user name
        'password': NDEx password

    Returns
    -------
    network_id :  str
        The UUID of the NDEx network that was created by uploading
        the assembled CX model.