import six


def get_json_type_for_python_value(value):
    """
    Return JSON type string for the provided Python value.

    :rtype: ``str``
    """
    if isinstance(value, six.text_type):
        return "string"
    elif isinstance(value, (int, float)):
        return "number"
    elif isinstance(value, dict):
        return "object"
    elif isinstance(value, (list, tuple)):
        return "array"
    elif isinstance(value, bool):
        return "boolean"
    elif value is None:
        return "null"
    else:
        return "unknown"