Config (autotransform.schema.config)

A set of configuration options for a schema.

class autotransform.schema.config.SchemaConfig(*, schema_name: str, allowed_validation_level: ValidationResultLevel = ValidationResultLevel.NONE, max_submissions: int | None = None, owners: List[str] = None)

Bases: ComponentModel

An object containing all configuration information for a Schema.

schema_name

The unique name of the schema.

Type:

str

allowed_validation_level

The allowed level of validation issues. Any issues raised above this level will trigger exceptions. Defaults to ValidationResultLevel.NONE.

Type:

ValidationResultLevel, optional

max_submissions

The maximum number of submissions the schema can create per run. If None, there is no limit. Defaults to None.

Type:

Optional[int], optional

owners

The owners for the schema. Defaults to [].

Type:

List[str], optional

allowed_validation_level: ValidationResultLevel
static from_console(prev_config: SchemaConfig | None = None) SchemaConfig

Gets a SchemaConfig using console inputs.

Parameters:

prev_config (Optional[SchemaConfig], optional) – A previously input SchemaConfig. Defaults to None.

Returns:

The input SchemaConfig.

Return type:

SchemaConfig

max_submissions: int | None
classmethod max_submissions_is_positive(v: int | None) int | None

Validates that max submissions is positive.

Parameters:
  • cls (Type[SchemaConfig]) – The Config class.

  • v (int) – The maximum number of submissions.

Raises:

ValueError – Raised if the maximum number of submissions is not positive.

Returns:

The unmodified maximum number of submissions.

Return type:

Optional[int]

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'allowed_validation_level': FieldInfo(annotation=ValidationResultLevel, required=False, default=<ValidationResultLevel.NONE: 'none'>), 'max_submissions': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'owners': FieldInfo(annotation=List[str], required=False, default_factory=list), 'schema_name': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

owners: List[str]
schema_name: str