cases¶
- pydantic model BasicModel[source]¶
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Fields:
- pydantic model BadModel[source]¶
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Fields:
- pydantic model SubClass[source]¶
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Fields:
- SHAPE_CASES = (ValidationCase(id='valid shape', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='missing dimension', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='extra dimension', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2, 2), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='dimension too large', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(11, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='dimension too small', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(9, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='wildcard smaller', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 1, 1), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='wildcard larger', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 3, 3), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='Union 2D', annotation_shape=(('*', '*'), ('*', '*', 3), ('*', '*', 3, 4)), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(5, 5), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=typing.Union[numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='Union 3D', annotation_shape=(('*', '*'), ('*', '*', 3), ('*', '*', 3, 4)), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(5, 5, 3), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=typing.Union[numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='Union 4D', annotation_shape=(('*', '*'), ('*', '*', 3), ('*', '*', 3, 4)), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(5, 5, 3, 4), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=typing.Union[numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='Union incorrect 3D', annotation_shape=(('*', '*'), ('*', '*', 3), ('*', '*', 3, 4)), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(5, 5, 4), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=typing.Union[numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='Union incorrect 4D', annotation_shape=(('*', '*'), ('*', '*', 3), ('*', '*', 3, 4)), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(5, 5, 3, 6), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=typing.Union[numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='Union incorrect both', annotation_shape=(('*', '*'), ('*', '*', 3), ('*', '*', 3, 4)), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(5, 5, 4, 6), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=typing.Union[numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray, numpydantic.vendor.nptyping.base_meta_classes.NDArray], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>))¶
Base Shape cases
- DTYPE_CASES = [ValidationCase(id='float', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='int', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'int'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='uint8', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.uint8'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='number-int', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>), shape=(10, 10, 2, 2), dtype=<class 'int'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='number-float', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='number-uint8', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.uint8'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='number-float16', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.float16'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='number-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>), shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>, <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.complex64'>, <class 'numpy.complex128'>, <class 'numpy.clongdouble'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='integer-int', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>), shape=(10, 10, 2, 2), dtype=<class 'int'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='integer-uint8', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.uint8'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='integer-float', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='integer-float32', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.float32'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='integer-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>), shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='float-float', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='float-float32', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.float32'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='float-int', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'int'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='float-uint8', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'numpy.uint8'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='float-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='str-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'str'>, shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.str_'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='str-int', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'str'>, shape=(10, 10, 2, 2), dtype=<class 'int'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.str_'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='str-float', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'str'>, shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.str_'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='np_str-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'numpy.str_'>, shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=True, interface=None, path=None, marks={'str', 'np_str'}, annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.str_'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='np_str-np_str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'numpy.str_'>, shape=(10, 10, 2, 2), dtype=<class 'numpy.str_'>, passes=True, interface=None, path=None, marks={'str', 'np_str'}, annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.str_'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='tuple_np_str-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'int'>, <class 'numpy.str_'>), shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=True, interface=None, path=None, marks={'tuple', 'str', 'np_str'}, annotation=NDArray[Shape['10, 10, *, *'], (<class 'numpy.int8'>, <class 'numpy.int16'>, <class 'numpy.int32'>, <class 'numpy.int64'>, <class 'numpy.int16'>, <class 'numpy.uint8'>, <class 'numpy.uint16'>, <class 'numpy.uint32'>, <class 'numpy.uint64'>, <class 'numpy.uint16'>), <class 'numpy.str_'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='model-model', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'numpydantic.testing.cases.BasicModel'>, shape=(10, 10, 2, 2), dtype=<class 'numpydantic.testing.cases.BasicModel'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpydantic.testing.cases.BasicModel'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='model-badmodel', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'numpydantic.testing.cases.BasicModel'>, shape=(10, 10, 2, 2), dtype=<class 'numpydantic.testing.cases.BadModel'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpydantic.testing.cases.BasicModel'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='model-int', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'numpydantic.testing.cases.BasicModel'>, shape=(10, 10, 2, 2), dtype=<class 'int'>, passes=False, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpydantic.testing.cases.BasicModel'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='model-subclass', annotation_shape=(10, 10, '*', '*'), annotation_dtype=<class 'numpydantic.testing.cases.BasicModel'>, shape=(10, 10, 2, 2), dtype=<class 'numpydantic.testing.cases.SubClass'>, passes=True, interface=None, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpydantic.testing.cases.BasicModel'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-type-uint32', annotation_shape=(10, 10, '*', '*'), annotation_dtype=typing.Union[numpy.uint32, numpy.float32], shape=(10, 10, 2, 2), dtype=<class 'numpy.uint32'>, passes=True, interface=None, path=None, marks={'union'}, annotation=NDArray[Shape['10, 10, *, *'], typing.Union[numpy.uint32, numpy.float32]], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-type-float32', annotation_shape=(10, 10, '*', '*'), annotation_dtype=typing.Union[numpy.uint32, numpy.float32], shape=(10, 10, 2, 2), dtype=<class 'numpy.float32'>, passes=True, interface=None, path=None, marks={'union'}, annotation=NDArray[Shape['10, 10, *, *'], typing.Union[numpy.uint32, numpy.float32]], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-type-uint64', annotation_shape=(10, 10, '*', '*'), annotation_dtype=typing.Union[numpy.uint32, numpy.float32], shape=(10, 10, 2, 2), dtype=<class 'numpy.uint64'>, passes=False, interface=None, path=None, marks={'union'}, annotation=NDArray[Shape['10, 10, *, *'], typing.Union[numpy.uint32, numpy.float32]], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-type-float64', annotation_shape=(10, 10, '*', '*'), annotation_dtype=typing.Union[numpy.uint32, numpy.float32], shape=(10, 10, 2, 2), dtype=<class 'numpy.float64'>, passes=False, interface=None, path=None, marks={'union'}, annotation=NDArray[Shape['10, 10, *, *'], typing.Union[numpy.uint32, numpy.float32]], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-type-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=typing.Union[numpy.uint32, numpy.float32], shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=False, interface=None, path=None, marks={'union'}, annotation=NDArray[Shape['10, 10, *, *'], typing.Union[numpy.uint32, numpy.float32]], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-pipe-uint32', annotation_shape=(10, 10, '*', '*'), annotation_dtype=numpy.uint32 | numpy.float32, shape=(10, 10, 2, 2), dtype=<class 'numpy.uint32'>, passes=True, interface=None, path=None, marks={'pipe_union', 'union'}, annotation=NDArray[Shape['10, 10, *, *'], numpy.uint32 | numpy.float32], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-pipe-float32', annotation_shape=(10, 10, '*', '*'), annotation_dtype=numpy.uint32 | numpy.float32, shape=(10, 10, 2, 2), dtype=<class 'numpy.float32'>, passes=True, interface=None, path=None, marks={'pipe_union', 'union'}, annotation=NDArray[Shape['10, 10, *, *'], numpy.uint32 | numpy.float32], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-pipe-uint64', annotation_shape=(10, 10, '*', '*'), annotation_dtype=numpy.uint32 | numpy.float32, shape=(10, 10, 2, 2), dtype=<class 'numpy.uint64'>, passes=False, interface=None, path=None, marks={'pipe_union', 'union'}, annotation=NDArray[Shape['10, 10, *, *'], numpy.uint32 | numpy.float32], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-pipe-float64', annotation_shape=(10, 10, '*', '*'), annotation_dtype=numpy.uint32 | numpy.float32, shape=(10, 10, 2, 2), dtype=<class 'numpy.float64'>, passes=False, interface=None, path=None, marks={'pipe_union', 'union'}, annotation=NDArray[Shape['10, 10, *, *'], numpy.uint32 | numpy.float32], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='union-pipe-str', annotation_shape=(10, 10, '*', '*'), annotation_dtype=numpy.uint32 | numpy.float32, shape=(10, 10, 2, 2), dtype=<class 'str'>, passes=False, interface=None, path=None, marks={'pipe_union', 'union'}, annotation=NDArray[Shape['10, 10, *, *'], numpy.uint32 | numpy.float32], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>)]¶
Base Dtype cases
- INTERFACE_CASES = [ValidationCase(id='numpy', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.NumpyCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='hdf5', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.HDF5Case'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='hdf5_compound', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.HDF5CompoundCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='dask', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.DaskCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='zarr', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.ZarrCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='zarr_dir', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.ZarrDirCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='zarr_zip', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.ZarrZipCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='zarr_nested', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.ZarrNestedCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>), ValidationCase(id='video', annotation_shape=(10, 10, '*', '*'), annotation_dtype=(<class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>), shape=(10, 10, 2, 2), dtype=<class 'float'>, passes=False, interface=<class 'numpydantic.testing.interfaces.VideoCase'>, path=None, marks=set(), annotation=NDArray[Shape['10, 10, *, *'], <class 'numpy.float16'>, <class 'numpy.float32'>, <class 'numpy.float64'>, <class 'numpy.float32'>, <class 'numpy.float64'>], model=<class 'numpydantic.testing.helpers.ValidationCase.model.<locals>.Model'>)]¶
All the interface cases
- DTYPE_AND_SHAPE_CASES = <generator object merged_product>¶
Merged product of dtype and shape cases
- DTYPE_AND_SHAPE_CASES_PASSING = <generator object merged_product>¶
Merged product of dtype and shape cases that are valid
- DTYPE_AND_INTERFACE_CASES = <generator object merged_product>¶
Merged product of dtype and interface cases
- DTYPE_AND_INTERFACE_CASES_PASSING = <generator object merged_product>¶
Merged product of dtype and interface cases that pass
- ALL_CASES = <generator object merged_product>¶
Merged product of all cases - dtype, shape, and interface
- ALL_CASES_PASSING = <generator object merged_product>¶
Merged product of all cases, but only those that pass