Web Analytics

readsql

⭐ 60 stars French by AzisK

readsql

Convertir le SQL au format le plus lisible possible. Pour l'instant, il met en majuscules les mots-clés SQL, il pourrait à l'avenir améliorer la présentation ou même suggérer des améliorations du code SQL. Il convertit le code SQL et même les chaînes SQL dans les langages de programmation (seulement Python pour le moment).

Donc si nous écrivons

select sushi, avg(price) from tokyo where ocean = 'pacific' group by sushi
readsql nous aidera à le lire comme

SELECT sushi, AVG(price) FROM tokyo WHERE ocean = 'pacific' GROUP BY sushi

Installation

pip install readsql

Nécessite Python 3.8+.

Utilisation

Il prend également en charge plusieurs chaînes et fichiers ou dossiers

1.

readsql   -s
readsql  
Nous pouvons rechercher différentes chaînes dans les fichiers Python avec les arguments -py

readsql  -py  

Remarque : readsql utilise le parseur AST de Python, il supporte donc :
- Annotations de type : query: str = "..."
- F-strings : f"SELECT * FROM {table}"
- Portées imbriquées : Gère de manière robuste les variables à l'intérieur des fonctions et des classes.
- Commentaires/Docstrings : Ignore correctement le texte de type SQL dans les commentaires ou docstrings.

Exemples d'utilisation

select max(height), avg(mass), min(age) from jungle group by forest where animal=elephant;
remplace le fichier par ce code
SELECT MAX(height), AVG(mass), MIN(age) FROM jungle GROUP BY forest WHERE animal=elephant;

def get_query():
    limit = 6
    query = f"SELEct speed from world where animal='dolphin' limit {limit}"
    return query
remplace le fichier par ce code
def get_query():
    limit = 6
    query = f"SELECT speed FROM world WHERE animal='dolphin' LIMIT {limit}"
    return query
def get_query():
    limit = 6
    sql = f"SELEct speed from world where animal='dolphin' limit {limit}"
    return sql
remplace le fichier par ce code
def get_query():
    limit = 6
    sql = f"SELECT speed FROM world WHERE animal='dolphin' LIMIT {limit}"
    return sql

Plus d'exemples peuvent être trouvés dans le dossier /tests

Ajouter un hook pre-commit

Comment ajouter un hook pre-commit de readsql ?
repos:
  • repo: https://github.com/AzisK/readsql
rev: v1.0.0 # Replace by any tag/version: https://github.com/azisk/readsql/tags hooks:
  • id: readsql

Développement

Clonez le dépôt et utilisez uv pour le développement :

uv sync --all-extras                                    # Install dependencies
uv run readsql "select sushi from tokyo" -s             # Format a string
uv run readsql tests/sql_example.sql                    # Format SQL file
uv run readsql tests/sql_in_python_example.py           # Format SQL in Python
uv run readsql tests/sql_in_python_variable_example.py -py sql  # Custom variable
uv run readsql tests                                    # Format all files in folder

Test

uv run pytest -v

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-30 ---