schema

Helper functions for use with NDArray - see the note in ndarray for why these are separated.

list_of_lists_schema(shape: ~nptyping.shape.Shape[*, ...], array_type: ~pydantic_core.core_schema.AnySchema | ~pydantic_core.core_schema.NoneSchema | ~pydantic_core.core_schema.BoolSchema | ~pydantic_core.core_schema.IntSchema | ~pydantic_core.core_schema.FloatSchema | ~pydantic_core.core_schema.DecimalSchema | ~pydantic_core.core_schema.StringSchema | ~pydantic_core.core_schema.BytesSchema | ~pydantic_core.core_schema.DateSchema | ~pydantic_core.core_schema.TimeSchema | ~pydantic_core.core_schema.DatetimeSchema | ~pydantic_core.core_schema.TimedeltaSchema | ~pydantic_core.core_schema.LiteralSchema | ~pydantic_core.core_schema.EnumSchema | ~pydantic_core.core_schema.IsInstanceSchema | ~pydantic_core.core_schema.IsSubclassSchema | ~pydantic_core.core_schema.CallableSchema | ~pydantic_core.core_schema.ListSchema | ~pydantic_core.core_schema.TupleSchema | ~pydantic_core.core_schema.SetSchema | ~pydantic_core.core_schema.FrozenSetSchema | ~pydantic_core.core_schema.GeneratorSchema | ~pydantic_core.core_schema.DictSchema | ~pydantic_core.core_schema.AfterValidatorFunctionSchema | ~pydantic_core.core_schema.BeforeValidatorFunctionSchema | ~pydantic_core.core_schema.WrapValidatorFunctionSchema | ~pydantic_core.core_schema.PlainValidatorFunctionSchema | ~pydantic_core.core_schema.WithDefaultSchema | ~pydantic_core.core_schema.NullableSchema | ~pydantic_core.core_schema.UnionSchema | ~pydantic_core.core_schema.TaggedUnionSchema | ~pydantic_core.core_schema.ChainSchema | ~pydantic_core.core_schema.LaxOrStrictSchema | ~pydantic_core.core_schema.JsonOrPythonSchema | ~pydantic_core.core_schema.TypedDictSchema | ~pydantic_core.core_schema.ModelFieldsSchema | ~pydantic_core.core_schema.ModelSchema | ~pydantic_core.core_schema.DataclassArgsSchema | ~pydantic_core.core_schema.DataclassSchema | ~pydantic_core.core_schema.ArgumentsSchema | ~pydantic_core.core_schema.CallSchema | ~pydantic_core.core_schema.CustomErrorSchema | ~pydantic_core.core_schema.JsonSchema | ~pydantic_core.core_schema.UrlSchema | ~pydantic_core.core_schema.MultiHostUrlSchema | ~pydantic_core.core_schema.DefinitionsSchema | ~pydantic_core.core_schema.DefinitionReferenceSchema | ~pydantic_core.core_schema.UuidSchema) ListSchema[source]

Make a pydantic JSON schema for an array as a list of lists.

For each item in the shape, create a list schema. In the innermost schema insert the passed array_type schema.

This function is typically called from make_json_schema()

Parameters:
  • shape (Shape) – Shape determines the depth and max/min elements for each layer of list schema

  • array_type (pydantic_core.CoreSchema) – The pre-rendered pydantic core schema to use in the innermost list entry

make_json_schema(shape: Tuple[int, ...] | Any, dtype: str | type | Any | generic, _handler: Callable[[Any], AnySchema | NoneSchema | BoolSchema | IntSchema | FloatSchema | DecimalSchema | StringSchema | BytesSchema | DateSchema | TimeSchema | DatetimeSchema | TimedeltaSchema | LiteralSchema | EnumSchema | IsInstanceSchema | IsSubclassSchema | CallableSchema | ListSchema | TupleSchema | SetSchema | FrozenSetSchema | GeneratorSchema | DictSchema | AfterValidatorFunctionSchema | BeforeValidatorFunctionSchema | WrapValidatorFunctionSchema | PlainValidatorFunctionSchema | WithDefaultSchema | NullableSchema | UnionSchema | TaggedUnionSchema | ChainSchema | LaxOrStrictSchema | JsonOrPythonSchema | TypedDictSchema | ModelFieldsSchema | ModelSchema | DataclassArgsSchema | DataclassSchema | ArgumentsSchema | CallSchema | CustomErrorSchema | JsonSchema | UrlSchema | MultiHostUrlSchema | DefinitionsSchema | DefinitionReferenceSchema | UuidSchema]) ListSchema[source]

Make a list of list JSON schema from a shape and a dtype.

First resolves the dtype into a pydantic CoreSchema , and then uses that with list_of_lists_schema() .

Parameters:
  • shape (ShapeType) – Specification of a shape, as a tuple or an nptyping Shape

  • dtype (DtypeType) – A builtin type or numpy dtype

  • _handler – The pydantic schema generation handler (see pydantic docs)

Returns:

pydantic_core.core_schema.ListSchema

get_validate_interface(shape: Tuple[int, ...] | Any, dtype: str | type | Any | generic) Callable[source]

Validate using a matching Interface class using its Interface.validate() method