@make_certifier()<EOL>def certify_int(value, min_value=None, max_value=None, required=True):
certify_params(<EOL>(_certify_int_param, '<STR_LIT:max_length>', max_value, dict(negative=True, required=False)),<EOL>(_certify_int_param, '<STR_LIT>', min_value, dict(negative=True, required=False)),<EOL>)<EOL>if certify_required(<EOL>value=value,<EOL>required=required,<EOL>):<EOL><INDENT>return<EOL><DEDENT>if not isinstance(value, six.integer_types):<EOL><INDENT>raise CertifierTypeError(<EOL>message="<STR_LIT>".format(<EOL>cls=value.__class__.__name__),<EOL>value=value,<EOL>required=required,<EOL>)<EOL><DEDENT>if min_value is not None and value < min_value:<EOL><INDENT>raise CertifierValueError(<EOL>message="<STR_LIT>".format(<EOL>value=value, min=min_value),<EOL>value=value,<EOL>required=required,<EOL>)<EOL><DEDENT>if max_value is not None and value > max_value:<EOL><INDENT>raise CertifierValueError(<EOL>message="<STR_LIT>".format(<EOL>value=value, max=max_value),<EOL>value=value,<EOL>required=required,<EOL>)<EOL><DEDENT>
Certifier for integer values.

:param six.integer_types value:
    The number to be certified.
:param int min_value:
    The minimum acceptable value for the number.
:param int max_value:
    The maximum acceptable value for the number.
:param bool required:
    Whether the value can be `None`. Defaults to True.
:raises CertifierTypeError:
    The type is invalid
:raises CertifierValueError:
    The value is invalid