jsonschema_extras.formats.numbers_range module

jsonschema_extras.formats.numbers_range.is_numbers_range(instance)[source]

Tests if an object is a numbers range (a sequence of 2 numbers in non-descending order).

A numbers range is defined as a sequence containing exactly 2 comparable numeric elements where the first element is less than or equal to the second element, forming a valid range [min, max].

Returns:

Whether instance is a numbers range: ascending sequence of 2 numbers.

Return type:

bool

Parameters:

instance (object)

Examples

Valid ranges:

>>> is_numbers_range([1, 5])
True
>>> is_numbers_range([3.14, 3.14])
True
>>> is_numbers_range((0, 10))
True

Invalid ranges:

>>> is_numbers_range([5, 1])
False
>>> is_numbers_range([1, 2, 3])
False
>>> is_numbers_range([1])
False
>>> is_numbers_range(5)
False
jsonschema_extras.formats.numbers_range.is_numbers_range_info = ('numbers-range', <function is_numbers_range>, (<class 'TypeError'>,))

Format numbers-range checked by is_numbers_range()