Metadata-Version: 2.0
Name: format-sql
Version: 0.6.0
Summary: Makes your SQL readable.
Home-page: https://github.com/paetzke/format-sql
Author: Friedrich Paetzke
Author-email: paetzke@fastmail.fm
License: BSD
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities

format-sql
==========

.. image:: https://travis-ci.org/paetzke/format-sql.svg?branch=master
  :target: https://travis-ci.org/paetzke/format-sql
.. image:: https://coveralls.io/repos/paetzke/format-sql/badge.png?branch=master
  :target: https://coveralls.io/r/paetzke/format-sql?branch=master
.. image:: https://pypip.in/v/format-sql/badge.png
  :target: https://pypi.python.org/pypi/format-sql/

Makes your SQL readable.

`https://paetzke.me/static/images/format-sql.gif <https://paetzke.me/static/images/format-sql.gif>`_

An example:

.. code:: python

        sql = """ SELECT country, product, SUM(profit) FROM
    sales   left join x on x.id=sales.k GROUP BY country,
    product having f > 7 and fk=9 limit 5;    """

Will result in:

.. code:: python

        sql = """
            SELECT
                country,
                product,
                SUM(profit)
            FROM
                sales
                LEFT JOIN x ON
                    x.id = sales.k
            GROUP BY
                country,
                product
            HAVING
                f > 7
                AND fk = 9
            LIMIT 5; """

Install ``format-sql`` via ``pip``:

.. code:: bash

    $ pip install format-sql

You can then just call ``format-sql`` with files and directories:

.. code:: bash

    $ format-sql -h
    usage: format-sql [-h] [--types TYPES] [-r] [--no-semicolon] [--version]
                      [--debug] [--dry-run]
                      paths [paths ...]

    positional arguments:
      paths

    optional arguments:
      -h, --help       show this help message and exit
      --types TYPES    Only process these given file types.
      -r, --recursive  Process files found in subdirectories.
      --no-semicolon   Try to detect SQL queries with no trailing semicolon.
      --version        show program's version number and exit
      --debug          Print available debug information.
      --dry-run        Print the altered output and do not change the file.

For example:

.. code:: bash

    $ format-sql my-file.py

Or recursively with directory:

.. code:: bash

    $ format-sql -r my-directory/

You can try format-sql online: `https://paetzke.me/format-sql <https://paetzke.me/format-sql>`_.



