aito.schema.AitoColumnTypeSchema

class aito.schema.AitoColumnTypeSchema(data_type: AitoDataTypeSchema, nullable: bool = None, link: AitoColumnLinkSchema = None, analyzer: AitoAnalyzerSchema = None)

Bases: AitoSchema

Aito ColumnType schema

Parameters:
  • data_type (AitoDataTypeSchema) – the type of the column

  • nullable (bool, default to False) – when true, null values are allowed

  • link (AitoColumnLink, optional) – path to a linked column

  • analyzer (AnalyzerSchema, optional) – the analyzer of the column if the column is of type Text

Methods

from_deserialized_object(obj)

create a class object from a JSON deserialized object

from_json_string(json_string, **kwargs)

create an class object from a JSON string

infer_from_samples(samples[, max_sample_size])

infer AitoColumnType from the given samples

json_schema()

the JSON schema of the class

json_schema_validate(obj)

Validate an object with the class json_schema Returns the object if validation success, else raise JsonValidationError

json_schema_validate_with_schema(obj, schema)

Validate an object with the given schema

to_conversion()

to_json_serializable()

convert the object to an object that can be serialized to a JSON formatted string

to_json_string(**kwargs)

convert the object to a JSON string

Attributes

analyzer

the analyzer of the column

column_link_pattern

column_name_pattern

comparison_properties

properties of the schema object that will be used for comparison operation

data_type

The data type of the column

has_link

return true if the column is linked to another column

link

the link of the column

nullable

returns True if the column allow null value

table_name_pattern

type

the type of the schema component

uuid_pattern

property analyzer

the analyzer of the column

Return type:

AitoAnalyzerSchema

property comparison_properties: Iterable[str]

properties of the schema object that will be used for comparison operation

Return type:

Iterable[str]

property data_type

The data type of the column

Return type:

AitoDataTypeSchema

classmethod from_deserialized_object(obj: Dict)

create a class object from a JSON deserialized object

classmethod from_json_string(json_string: str, **kwargs)

create an class object from a JSON string

Parameters:
  • json_string (str) – the JSON string

  • kwargs – the keyword arguments for json.loads method

return true if the column is linked to another column

classmethod infer_from_samples(samples: Iterable, max_sample_size: int = 100000) AitoColumnTypeSchema

infer AitoColumnType from the given samples

Parameters:
  • samples (Iterable) – iterable of sample

  • max_sample_size (int) – at most first max_sample_size will be used for inference, defaults to 100000

Returns:

inferred Aito column type

Return type:

str

classmethod json_schema()

the JSON schema of the class

Return type:

Dict

classmethod json_schema_validate(obj: Any)

Validate an object with the class json_schema Returns the object if validation success, else raise JsonValidationError

Parameters:

obj (Any) – the object to be validated

Returns:

the object if validation succeed

Return type:

Any

json_schema_validate_with_schema(obj: Any, schema: Dict)

Validate an object with the given schema

Parameters:
  • obj (Any) – the object to be validated

  • schema (Dict) – the schema to be validate against

Returns:

the object if validation succeed

Return type:

Any

the link of the column

Return type:

AitoColumnLinkSchema

property nullable: bool

returns True if the column allow null value

Return type:

bool

to_json_serializable()

convert the object to an object that can be serialized to a JSON formatted string

to_json_string(**kwargs)

convert the object to a JSON string

Parameters:

kwargs – the keyword arguments for json.dumps method

Return type:

str

property type

the type of the schema component

Return type:

str