snowshu.core.configuration_parser

class snowshu.core.configuration_parser.AdapterProfile(name: str, adapter: Union[ForwardRef('BaseSourceAdapter'), ForwardRef('BaseTargetAdapter')])

Bases: object

adapter: Union['BaseSourceAdapter', 'BaseTargetAdapter'] = None
name: str = None
class snowshu.core.configuration_parser.Configuration(name: str, version: str, credpath: str, short_description: str, long_description: str, threads: int, preserve_case: bool, source_profile: snowshu.core.configuration_parser.AdapterProfile, target_profile: snowshu.core.configuration_parser.AdapterProfile, include_outliers: bool, sampling: Type[ForwardRef('BaseSampling')], max_number_of_outliers: int, general_relations: List[snowshu.core.configuration_parser.MatchPattern], specified_relations: List[snowshu.core.configuration_parser.SpecifiedMatchPattern])

Bases: object

credpath: str = None
general_relations: List[MatchPattern] = None
include_outliers: bool = None
long_description: str = None
max_number_of_outliers: int = None
name: str = None
preserve_case: bool = None
sampling: Type['BaseSampling'] = None
short_description: str = None
source_profile: AdapterProfile = None
specified_relations: List[SpecifiedMatchPattern] = None
target_profile: AdapterProfile = None
threads: int = None
version: str = None
class snowshu.core.configuration_parser.ConfigurationParser

Bases: object

case(val: str) → str

Does the up-front case correction. SnowShu uses the default source case as the “case insensitive” fold. :param val: The value to case correct.

Returns

The corrected string.

default_case: str = None
from_file_or_path(loadable: Union[pathlib.Path, str, TextIO]) → snowshu.core.configuration_parser.Configuration

rips through a configuration and returns a configuration object.

preserve_case: bool = False
class snowshu.core.configuration_parser.MatchPattern(databases: List[snowshu.core.configuration_parser.MatchPattern.DatabasePattern])

Bases: object

class DatabasePattern(database_pattern: str, schemas: List)

Bases: object

database_pattern: str = None
schemas: List = None
class RelationPattern(relation_pattern: str)

Bases: object

relation_pattern: str = None
class SchemaPattern(schema_pattern: str, relations: List)

Bases: object

relations: List = None
schema_pattern: str = None
databases: List[DatabasePattern] = None
class snowshu.core.configuration_parser.SpecifiedMatchPattern(database_pattern: str, schema_pattern: str, relation_pattern: str, unsampled: bool, sampling: Union[ForwardRef('BaseSampling'), NoneType], include_outliers: Union[bool, NoneType], relationships: snowshu.core.configuration_parser.SpecifiedMatchPattern.Relationships)

Bases: object

class PolymorphicRelationshipPattern(local_attribute: str, database_pattern: str, schema_pattern: str, relation_pattern: str, remote_attribute: str, local_type_attribute: str, local_type_overrides: dict)

Bases: snowshu.core.configuration_parser.RelationshipPattern

local_type_attribute: str = None
local_type_overrides: dict = None
class RelationshipPattern(local_attribute: str, database_pattern: str, schema_pattern: str, relation_pattern: str, remote_attribute: str)

Bases: object

database_pattern: str = None
local_attribute: str = None
relation_pattern: str = None
remote_attribute: str = None
schema_pattern: str = None
class Relationships(bidirectional: List[ForwardRef('RelationshipPattern')], directional: List[ForwardRef('RelationshipPattern')], polymorphic: List[ForwardRef('PolymorphicRelationshipPattern')])

Bases: object

bidirectional: List['RelationshipPattern'] = None
directional: List['RelationshipPattern'] = None
polymorphic: List['PolymorphicRelationshipPattern'] = None
database_pattern: str = None
include_outliers: Union[bool, None] = None
relation_pattern: str = None
relationships: Relationships = None
sampling: Union['BaseSampling', None] = None
schema_pattern: str = None
unsampled: bool = None