Install & Compatibility
Where this runs
tested against v0.0.20 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 1.6s · import 0.000s · 19MB
16MB installed
● package 16MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SQLValidation
✓ from sqlvalidator import sql_validator
✗ from sqlvalidator import SQLValidation
format_sql
✓ from sqlvalidator import format_sql
parse
✓ from sqlvalidator import parse
Demonstrates basic syntactic validation, formatting, and more advanced semantic validation by providing a table schema. The `is_valid` property and `errors` list provide detailed results.
from sqlvalidator import SQLValidation
# Example 1: Basic syntax validation and formatting
sql_query_1 = "SELECT * FROM users WHERE id = 1 AND name = 'Alice'"
sql_obj_1 = SQLValidation(sql_query_1)
print(f"Query 1 validation result: {sql_obj_1.validate()}")
print(f"Query 1 errors: {sql_obj_1.errors}")
print(f"Formatted Query 1:\n{sql_obj_1.format()}")
# Example 2: Semantic validation with table schema
sql_query_2 = "SELECT first_name, email FROM employees WHERE department_id = 10"
sql_obj_2 = SQLValidation(sql_query_2)
# Define table schema for semantic validation
tables_schema = {
'employees': ['id', 'first_name', 'last_name', 'email', 'department_id'],
'departments': ['id', 'name']
}
sql_obj_2.validate(tables=tables_schema)
print(f"\nQuery 2 validation result (semantic): {sql_obj_2.is_valid}")
print(f"Query 2 errors (semantic): {sql_obj_2.errors}")
# Example 3: Invalid query
invalid_sql = "SELECT FROM users WHERE id = 1"
sql_obj_3 = SQLValidation(invalid_sql)
sql_obj_3.validate()
print(f"\nInvalid query errors: {sql_obj_3.errors}")
Upgrade
Version history
0.0.20latest on PyPI · released Dec 25, 2022
Audit
Dependencies
sqlparserequiredCore parsing and formatting engine for SQL statements.