Py-SQL-cleaner, a CLI tool for formatting SQL embedded within Python strings in Python files. It can find, format in place, or extract SQL, while skipping SQL dependent on runtime values or template expansion.
Raw Developer Origin & Technical Request
Hacker News
May 29, 2026
Hi HN, I built py-sql-cleaner, a CLI for formatting SQL embedded in Python files.Python formatters handle Python syntax. They do not format SQL written inside Python code.
On the other hand, SQL formatters usually target SQL files or raw SQL text, not SQL embedded inside a Python file.Still, I think it is not uncommon to find long SQL queries inside Python codebases.py-sql-cleaner detects embedded SQL inside Python files and works only on that SQL.
The main things it can do are: find the SQL, format it in place, or extract it into a .sql file.It avoids rewriting SQL that depends on runtime values or template expansion.
For example, SQL containing parameters like %s or :name, or Jinja-style template variables like {{ ds }}, is skipped by default.Try it with: uvx py-sql-cleaner list path/to/file.py
uvx py-sql-cleaner format path/to/file.py --dry-run
If you write Python, have run into this kind of SQL cleanup problem, or are just curious, I’d be happy if you take a look.
Developer Debate & Comments
No active discussions extracted for this entry yet.
Frequently Asked Questions
Market intelligence mapped to Py-SQL-cleaner, a CLI tool for formatting SQL embedded within Python strings in Python files. It can find, format in place, or extract SQL, while skipping SQL dependent on runtime values or template expansion..
What problem does Py-SQL-cleaner, a CLI tool for formatting SQL embedded within Python strings in Python files. It can find, format in place, or extract SQL, while skipping SQL dependent on runtime values or template expansion. solve?
What are the foundational technologies related to Py-SQL-cleaner, a CLI tool for formatting SQL embedded within Python strings in Python files. It can find, format in place, or extract SQL, while skipping SQL dependent on runtime values or template expansion.?
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like CLI and parameters by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
SaaS Metrics