Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lelit/pglast
PostgreSQL Languages AST and statements prettifier: master branch covers PG10, v2 branch covers PG12, v3 covers PG13, v4 covers PG14, v5 covers PG15, v6 covers PG16, v7 covers PG17
https://github.com/lelit/pglast
postgresql python-3 sql-formatter
Last synced: 2 days ago
JSON representation
PostgreSQL Languages AST and statements prettifier: master branch covers PG10, v2 branch covers PG12, v3 covers PG13, v4 covers PG14, v5 covers PG15, v6 covers PG16, v7 covers PG17
- Host: GitHub
- URL: https://github.com/lelit/pglast
- Owner: lelit
- Created: 2017-08-07T09:14:27.000Z (over 7 years ago)
- Default Branch: v7
- Last Pushed: 2024-12-21T08:11:00.000Z (22 days ago)
- Last Synced: 2025-01-02T18:06:41.741Z (9 days ago)
- Topics: postgresql, python-3, sql-formatter
- Language: Python
- Homepage:
- Size: 7.05 MB
- Stars: 363
- Watchers: 9
- Forks: 44
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- jimsghstars - lelit/pglast - PostgreSQL Languages AST and statements prettifier: master branch covers PG10, v2 branch covers PG12, v3 covers PG13, v4 covers PG14, v5 covers PG15, v6 covers PG16, v7 covers PG17 (Python)
README
.. -*- coding: utf-8 -*-
.. :Project: pglast — PostgreSQL Languages AST
.. :Created: mer 02 ago 2017 14:49:24 CEST
.. :Author: Lele Gaifax
.. :License: GNU General Public License version 3 or later
.. :Copyright: © 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Lele Gaifax
..========
pglast
========PostgreSQL Languages AST and statements prettifier
==================================================:Author: Lele Gaifax
:Contact: [email protected]
:License: `GNU General Public License version 3 or later`__
:Status: |build| |doc| |codecov|
:Version: `7`____ https://www.gnu.org/licenses/gpl.html
__ https://pglast.readthedocs.io/en/v7/development.html#history.. |build| image:: https://github.com/lelit/pglast/actions/workflows/ci.yml/badge.svg?branch=v7
:target: https://github.com/lelit/pglast/actions/workflows/ci.yml
:alt: Build status
.. |doc| image:: https://readthedocs.org/projects/pglast/badge/?version=v7
:target: https://readthedocs.org/projects/pglast/builds/
:alt: Documentation status
.. |codecov| image:: https://codecov.io/gh/lelit/pglast/branch/v3/graph/badge.svg?token=A90D8tWnft
:target: https://codecov.io/gh/lelit/pglast
:alt: Test coverage statusThis is a Python 3 module that exposes the *parse tree* of a PostgreSQL__ statement (extracted
by the almost standard PG parser repackaged as a standalone static library by `libpg_query`__)
as set of interconnected *nodes*, usually called an *abstract syntax tree*.__ https://www.postgresql.org/
__ https://github.com/pganalyze/libpg_querySee a `more detailed introduction`__ in the documentation_.
__ https://pglast.readthedocs.io/en/v7/introduction.html
Installation
------------As usual, the easiest way is with pip::
$ pip install pglast
Alternatively you can clone the repository::
$ git clone https://github.com/lelit/pglast.git --recursive
and install from there::
$ pip install ./pglast
Development
-----------There is a set of *makefiles* implementing the most common operations, a ``make help`` will
show a brief table of contents. A comprehensive test suite, based on pytest__, covers__ nearly
99% of the source lines.__ https://docs.pytest.org/en/latest/
__ https://codecov.io/gh/lelit/pglast/branch/v7/Documentation
-------------Latest documentation is hosted by `Read the Docs`__ at https://pglast.readthedocs.io/en/v7
__ https://readthedocs.org/