lint

sqlite-clean linting - Detecting and alerting possible data challenges within SQlite.

sqlite_clean.lint.contains_conflicting_aff_storage_class(*args, sql_engine: Union[str, Engine], table_name: Optional[str] = None, column_name: Optional[str] = None, **kwargs) bool

Detect conflicting column affinity vs data storage class for entire SQLite database, a specific table, or a specific column within a specific table. See the following for more details on affinity vs storage class typing within SQLite: https://www.sqlite.org/datatype3.html

sql_engine: str | sqlalchemy.engine.base.Engine

filename of the SQLite database or existing sqlalchemy engine

table_name: str

optional specific table name to check within database, by default None

column_name: str

optional specific column name to check within database, by default None

bool

Returns True if conflicting storage class values were detected in database provided, else returns False.

sqlite_clean.lint.contains_str_like_null(sql_engine: Union[str, Engine], table_name: Optional[str] = None, column_name: Optional[str] = None, like_nulls: Tuple[str, ...] = ('null', 'none', 'nan')) bool

Detect whether the given database, table, or column contains a string value which is similar to NULL. Strings instead of SQLite NULL may be interpreted at read as a string (value) instead of a NULL (non-value).

sql_engine: str | sqlalchemy.engine.base.Engine

filename of the SQLite database or existing sqlalchemy engine

table_name: str

optional specific table name to check within database, by default None

column_name: str

optional specific column name to check within database, by default None

like_nulls: List[str]

tuple strings which may represent null values, by default LIKE_NULLS global

bool

Returns True if found a str value similar to null, else returns False.