partis.schema.prim.seq_prim module#

class SeqPrimDeclared(name=None, module=None, module_set=None, doc=None, **kwargs)[source]#

Bases: SchemaPrimDeclared

class SeqPrim(name=None, module=None, module_set=None, doc=None, **kwargs)[source]#

Bases: SchemaPrim

Primitive for list/sequenced values

Parameters:
  • item (SchemaPrim | SchemaPrim) – The schema for each item in the list

  • min_len (int | None) –

  • max_len (int | None) –

  • **kwargs – arguments passed to SchemaPrim

property hints#

Definition hints.

Type:

list[ SchemaHint ]

validate(val, loc=None, bias=None)[source]#

Validates value against schema definition

Parameters:
Returns:

  • val (object)

  • bias (Bias)

Raises:

SchemaValidationError – If the value is not valid

encode(val=None, loc=None, no_defaults=None)[source]#

Encodes value to basic Python types, performing validation

Parameters:
  • val (None | object) – Source data used to initialize values

  • loc (None | Loc) – Location information of source data (E.G. file, line/column number)

  • no_defaults (bool) – Values that are equivalent to the ‘default_val’ are removed.

Returns:

val (object)

Raises:

SchemaValidationError – If the value is not valid

decode(val=None, loc=None, bias=None)[source]#

Decodes value to schema values, performing validation

Parameters:
  • val (None | object) – Source data used to initialize values

  • loc (None | Loc) – Location information of source data (E.G. file, line/column number)

  • bias (None | Bias) –

Returns:

val (Valued)

Raises:

SchemaValidationError – If the value is not valid