def _vars_and_dims_pairs()

in hypothesis_gufunc/extra/xr.py [0:0]


def _vars_and_dims_pairs(min_vars=0, max_vars=DEFAULT_VARS, min_dims=0, max_dims=DEFAULT_DIMS):
    """Generate both variable and dimension names.

    xarray requires that there are no name collisions between the two.
    """

    def no_overlap(args):
        vars_, dims = args
        # Dataset does not allow the same names for variable and dimensions, so we filter by looking at intersection
        ok = len(set(dims).intersection(vars_)) == 0
        return ok

    S = tuples(xr_var_lists(min_vars, max_vars), xr_dim_lists(min_dims, max_dims)).filter(no_overlap)
    return S