a tool that lints/fixes SQL code within Python strings using SQLFluff
Project description
PyLintSQL
A tool that lints/fixes SQL code within Python strings using SQLFluff.
Installation
# Install from PyPI
pip install pylintsql
Usage
Lint SQL in Python files in the current directory
pylintsql lint
Fix SQL in Python files in a specific directory
pylintsql fix path/to/directory
Use a custom configuration file
pylintsql lint --config /path/to/config
SQL String Identification
PyLintSQL identifies SQL strings by looking for the --sql marker at the beginning of the string. Only strings with this marker will be processed:
# This SQL string will be linted
sql = """--sql
SELECT
user_id,
COUNT(*) as order_count
FROM orders
WHERE created_at > '2023-01-01'
GROUP BY user_id
"""
# This regular string will be ignored
other_text = """
This is not SQL and won't be processed
"""
Configuration
PyLintSQL uses pyproject.toml for configuration, which is also a configuration file for SQLFluff itself. This means you can:
- Use all standard SQLFluff configuration options under
[tool.sqlfluff.*]sections - Define pylintsql-specific settings under
[tool.pylintsql]
Example configuration:
# SQLFluff configuration
[tool.sqlfluff.core]
dialect = "bigquery" # Or your preferred dialect
max_line_length = 99
exclude_rules = ["RF01", "RF02", "RF04", "ST06"]
[tool.sqlfluff.indentation]
tab_space_size = 2
indented_joins = false
indented_ctes = false
# PyLintSQL specific configuration
[tool.pylintsql]
exclude = [ # Directories/files to exclude
".venv/**",
"build/**",
"dist/**",
"tests/**"
]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylintsql-0.0.9-py3-none-any.whl.
File metadata
- Download URL: pylintsql-0.0.9-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a87e1bf5d1f194814171fa072941c384414413a183c402e5e2524ff8f3b7ab0c
|
|
| MD5 |
6e7efffc6d315b6328a85e893d6e28c1
|
|
| BLAKE2b-256 |
f236a45def2b9c0c6c520c35a9e41ff6239f792852aefff6b5be77b1214faf6e
|