mandel/testing/: sqlparse-0.5.5 metadata and description

Simple index PyPI page

A non-validating SQL parser.

author_email Andi Albrecht <albrecht.andi@gmail.com>
classifiers
  • Development Status :: 5 - Production/Stable
  • Intended Audience :: Developers
  • License :: OSI Approved :: BSD License
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3 :: Only
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Programming Language :: Python :: 3.13
  • Programming Language :: Python :: 3.14
  • Programming Language :: Python :: Implementation :: CPython
  • Programming Language :: Python :: Implementation :: PyPy
  • Topic :: Database
  • Topic :: Software Development
description_content_type text/x-rst
license_file
  • AUTHORS
  • LICENSE
project_urls
  • Home, https://github.com/andialbrecht/sqlparse
  • Documentation, https://sqlparse.readthedocs.io/
  • Release Notes, https://sqlparse.readthedocs.io/en/latest/changes.html
  • Source, https://github.com/andialbrecht/sqlparse
  • Tracker, https://github.com/andialbrecht/sqlparse/issues
provides_extras
  • dev
  • doc
requires_dist
  • build; extra == 'dev'
  • sphinx; extra == 'doc'
requires_python >=3.8
File Tox results History
sqlparse-0.5.5-py3-none-any.whl
Size
45 KB
Type
Python Wheel
Python
3

buildstatus coverage docs packageversion

sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting SQL statements.

The module is compatible with Python 3.8+ and released under the terms of the New BSD license.

Visit the project page at https://github.com/andialbrecht/sqlparse for further information about this project.

Quick Start

$ pip install sqlparse
>>> import sqlparse

>>> # Split a string containing two SQL statements:
>>> raw = 'select * from foo; select * from bar;'
>>> statements = sqlparse.split(raw)
>>> statements
['select * from foo;', 'select * from bar;']

>>> # Format the first statement and print it out:
>>> first = statements[0]
>>> print(sqlparse.format(first, reindent=True, keyword_case='upper'))
SELECT *
FROM foo;

>>> # Parsing a SQL statement:
>>> parsed = sqlparse.parse('select * from foo')[0]
>>> parsed.tokens
[<DML 'select' at 0x7f22c5e15368>, <Whitespace ' ' at 0x7f22c5e153b0>, <Wildcard '*'  ]
>>>

Pre-commit Hook

sqlparse can be used as a pre-commit hook to automatically format SQL files before committing:

repos:
  - repo: https://github.com/andialbrecht/sqlparse
    rev: 0.5.4  # Use the latest version
    hooks:
      - id: sqlformat
        # Optional: Add more formatting options
        # IMPORTANT: --in-place is required, already included by default
        args: [--in-place, --reindent, --keywords, upper]

Then install the hook:

$ pre-commit install

Your SQL files will now be automatically formatted on each commit.

Note: The hook uses --in-place --reindent by default. If you override the args, you must include --in-place for the hook to work.