@pexdoc.pcontracts.new_contract()<EOL>def csv_data_filter(obj):
if isinstance(obj, tuple) and len(obj) > <NUM_LIT:2>:<EOL><INDENT>raise ValueError(pexdoc.pcontracts.get_exdesc())<EOL><DEDENT>obj = _homogenize_data_filter(obj)<EOL>row_value = _check_csv_row_filter(obj[<NUM_LIT:0>])<EOL>col_value = _check_csv_col_filter(obj[<NUM_LIT:1>])<EOL>if col_value or (row_value != <NUM_LIT:0>):<EOL><INDENT>raise ValueError(pexdoc.pcontracts.get_exdesc())<EOL><DEDENT>
r"""
    Validate if an object is a CsvDataFilter pseudo-type object.

    :param obj: Object
    :type  obj: any

    :raises:
     * RuntimeError (Argument \`*[argument_name]*\` is not valid). The token
       \*[argument_name]\* is replaced by the *name* of the argument the
       contract is attached to

    :rtype: None