Skip to main content

PostgreSQL Languages AST and statements prettifier

Project description

Author:

Lele Gaifax

Contact:
lele@metapensiero.it
License:

GNU General Public License version 3 or later

Status:
Build status Documentation status Test coverage status
Version:
3

This 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.

See a more detailed introduction in the documentation.

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.

Documentation

Latest documentation is hosted by Read the Docs at http://pglast.readthedocs.io/

Changes

Version 3

3.12 (2022-06-19)

  • Rewrite the implementation of the referenced_relations() function, that was flawed with regard to CTEs handling (issue 106), thanks to Michal Charemza for providing his own version

  • Improve WithClause printer indentation

  • Fix minor whitespace related issues in a few printer functions

3.11 (2022-05-29)

  • Fix the Visitor class, it was ignoring nodes nested in sub-lists

  • Reduce the size of the generated parser by factoring out common code into helper functions

3.10 (2022-05-11)

3.9 (2022-02-24)

  • Fix bug handling node containing a location field, e.g. CreateTableSpaceStmt (issue #98)

  • Properly handle dereferenced array expression (issue #99)

  • Avoid improper “floatification” of literal integers (issue #100)

3.8 (2021-12-28)

  • Fix glitch in the AST extractor tool (issue #97)

  • Add Linux AArch64 wheel build support (PR #95), thanks to odidev

  • Fix type mismatch when using --remove-pg_catalog-from-functions (PR #93), thanks to Boris Zentner

3.7 (2021-10-13)

3.6 (2021-10-09)

  • Use latest libpg_query, to fix an error parsing PLpgSQL statements (issue #88)

3.5 (2021-09-26)

  • Forward the special_functions option to substream, when concatenating items (issue #89)

  • Fix representation of floating point numbers without decimal digits (issue #91)

  • Produce Python 3.10 wheels, thanks to cibuildwheel 2.1.2

  • Update libpg_query to 13-2.0.7

  • New option --remove-pg_catalog-from-functions on the command line tool (PR #90), thanks to Boris Zentner

  • Implement more special functions (PR #92), thanks to Boris Zentner

3.4 (2021-08-21)

  • Fix another packaging issue, that prevented recompilation from the sdist .tar.gz (issue #86), thanks to Christopher Brichford

3.3 (2021-07-04)

3.2 (2021-06-25)

  • Effectively include libpg_query’s vendored sources (issue #82)

3.1 (2021-06-25)

  • Fix packaging glitch (issue #82)

  • Build wheels also for macOS

  • Update libpg_query to 13-2.0.5

3.0 (2021-06-04)

  • Fix glitch in the RawStream, avoiding spurious space after an open parenthesis

  • Improve the Visitor class, to make it easier altering the original tree

  • Properly handle nested lists in the serialization of AST Node

3.0.dev2 (2021-05-22)

  • Fix bug in CreateStmt printer (issue #79)

  • Make it possible to pass also concrete ast.Nodes to RawStream`

Breaking changes
  • To reduce confusion, the printer module has been removed: print-specific stuff is now directly exposed by the printers subpackage while serialization classes are now in the new stream module

  • The default value for the safety_belt option of the printify() function is now False

3.0.dev1 (2021-05-16)

  • Fix AT_SetIdentity, AT_EnableReplicaTrig and AlterSubscriptionStmt printers

  • Improve AlterTSConfigType and IntoClause printers

  • New generic “visitor pattern” (issue #51) exemplified by a new referenced_relations() function (issue #66)

  • Refine printing of SQL comments

  • Implement AlterExtensionStmt printer

3.0.dev0 (2021-05-03)

  • Expose the new pg_query_scan() function as parser.scan()

  • Expose the pg_query_parse() function as parser.parse_sql_json()

  • Expose the new pg_query_parse_protobuf() function as parser.parse_sql_protobuf()

  • Expose the new pg_query_deparse_protobuf() function as parser.deparse_protobuf()

  • Honor the catalogname of a RangeVar if present (issue #71)

  • Cover almost all SQL statements, testing against the whole PostgreSQL regression suite (issue #68, PR #72 and PR #77), thanks to Ronan Dunklau and Hong Cheng

  • New rudimentary support for the preserve comments feature (issue #23)

Breaking changes
  • Target PostgreSQL 13

  • The pglast.parser module exposes all libpg_query entry points, even the new pg_query_deparse_protobuf() function that is basically equivalent to RawStream-based printer

  • The split() function is now based on the lower level pg_query_split_with_xxx() functions

  • The parse_sql() function returns native Python objects, not a JSON string as before: all PG nodes are now represented by subclasses of pglast.ast.Node, without exception, even Expr and Value are there. The latter impacts on pglast.node.Scalar: for example it now may contains a ast.Integer instance instead of a Python int

  • The pgpp --parse-tree output is a pprint represention of the AST, not a JSON string as before

  • The ParseError exception does not expose the location as an instance member anymore, although its still there, as the second argument (ie .args[1]); furthermore, its value now corresponds to the index in the original Unicode string, instead of the offset in the UTF-8 representation passed to the underlying C function

Version 2

2.0.dev3 (2021-02-20)

  • Handle INCLUDE clause in IndexStmt (PR #67), thanks to Ronan Dunklau

2.0.dev2 (2020-10-24)

  • Merge new fingerprint functionality from v1 (i.e. master) branch

2.0.dev1 (2020-09-26)

  • Require Python 3.6 or greater

  • Handle ALTER TYPE .. RENAME VALUE in AlterEnumStmt (PR #52), thanks to Ronan Dunklau

  • Add support for Create / Alter / Drop PROCEDURE (PR #48), thanks to Ronan Dunklau

  • Use Ronan’s fork of libpg_query, targeting PostgreSQL 12.1 (PR #36)

  • Change get_postgresql_version() to return a (major, minor) tuple (issue #38)

  • Handle ALTER TABLE ... ALTER COLUMN ... SET STORAGE ...

  • Handle PG12 materialized CTEs (issue #57)

  • Support column numbers in ALTER INDEX (PR #58), thanks to Ronan Dunklau

  • Handle SET LOGGED and SET UNLOGGED in ALTER TABLE (PR #59), thanks to Ronan Dunklau

  • Handle ALTER TYPE ... RENAME (PR #62), , thanks to Ronan Dunklau

Version 1

1.18 (2021-06-01)

  • Fix exclusion constraint printer (issue #81)

1.17 (2021-02-20)

  • Fix the generic case in the RenameStmt printer

1.16 (2021-02-20)

  • Promote to the stable state

  • Move the job of building and uploading binary wheels from TravisCI to GitHub Actions

1.15 (2021-02-19)

  • Fix IF EXISTS variant of RenameStmt printer (PR #70), thanks to Jonathan Mortensen

  • Update libpg_query to 10-1.0.5

1.14 (2020-10-24)

  • Produce Python 3.9 wheels, thanks to cibuildwheel 1.6.3

  • Expose the libpg_query’s fingerprint functionality (PR #64), thanks to Yiming Wang

1.13 (2020-09-26)

  • Handle SELECT FROM foo

1.12 (2020-06-08)

  • Double quote column names in the TYPE_FUNC_NAME_KEYWORDS set (issue #55)

  • Possibly wrap SELECT in UNION/INTERSECT between parens, when needed (issue #55)

1.11 (2020-05-08)

  • Fix A_Expr printer, when lexpr is missing (PR #54), thanks to Aiham

  • Support DISABLE ROW LEVEL SECURITY in AlterTableCmd (PR #49), thanks to Ronan Dunklau

  • Implement CreateOpClassStmt printer (PR #47), thanks to Ronan Dunklau

1.10 (2020-01-25)

  • Fix collation name printer (PR #44), thanks to Ronan Dunklau

  • Implement CreatePLangStmt printer (PR #42), thanks to Bennie Swart

  • Fix privileges printer (PR #41), thanks to Bennie Swart

  • Handle TRUNCATE event in CreateTrigStmt printer (PR #40), thanks to Bennie Swart

  • Fix function body dollar quoting (PR #39), thanks to Bennie Swart

1.9 (2019-12-20)

  • Prettier INSERT representation

1.8 (2019-12-07)

  • Prettier CASE representation

  • New option to emit a semicolon after the last statement (issue #24)

1.7 (2019-12-01)

  • Implement NotifyStmt printer

  • Implement RuleStmt printer, thanks to Gavin M. Roy for his PR #28

  • Fix RenameStmt, properly handling object name

  • Produce Python 3.8 wheels, thanks to cibuildwheel 1.0.0

  • Support ALTER TABLE RENAME CONSTRAINT (PR #35), thanks to Ronan Dunklau

1.6 (2019-09-04)

  • Fix issue with boolean expressions precedence (issue #29)

  • Implement BitString printer

  • Support LEAKPROOF option (PR #31), thanks to Ronan Dunklau

  • Support DEFERRABLE INITIALLY DEFERRED option (PR #32), thanks to Ronan Dunklau

1.5 (2019-06-04)

  • Fix issue with RETURNS SETOF functions, a more general solution than the one proposed by Ronan Dunklau (PR #22)

  • Allow more than one empty line between statements (PR #26), thanks to apnewberry

1.4 (2019-04-06)

  • Fix wrap of trigger’s WHEN expression (issue #18)

  • Support for variadic functions (PR #19), thanks to Ronan Dunklau

  • Support ORDER / LIMIT / OFFSET for set operations (PR #20), thanks to Ronan Dunklau

  • Implement ConstraintsSetStmt and improve VariableSetStmt printers

1.3 (2019-03-28)

  • Support CROSS JOIN and timezone modifiers on time and timestamp datatypes (PR #15), thanks to Ronan Dunklau

  • Many new printers and several enhancements (PR #14), thanks to Ronan Dunklau

  • Expose the package version as pglast.__version__ (issue #12)

1.2 (2019-02-13)

  • Implement new split() function (see PR #10)

  • Implement BooleanTest printer (issue #11)

1.1 (2018-07-20)

  • No visible changes, but now PyPI carries binary wheels for Python 3.7.

1.0 (2018-06-16)

0.28 (2018-06-06)

  • Update libpg_query to 10-1.0.2

  • Support the ‘?’-style parameter placeholder variant allowed by libpg_query (details)

0.27 (2018-04-15)

  • Prettier JOINs representation, aligning them with the starting relation

0.26 (2018-04-03)

  • Fix cosmetic issue with ANY() and ALL()

0.25 (2018-03-31)

  • Fix issue in the safety belt check performed by pgpp (issue #4)

0.24 (2018-03-02)

  • Implement Null printer

0.23 (2017-12-28)

  • Implement some other DDL statements printers

  • New alternative style to print comma-separated-values lists, activated by a new --comma-at-eoln option on pgpp

0.22 (2017-12-03)

  • Implement TransactionStmt and almost all DROP xxx printers

0.21 (2017-11-22)

  • Implement NamedArgExpr printer

  • New alternative printers for a set of special functions, activated by a new --special-functions option on pgpp (issue #2)

0.20 (2017-11-21)

  • Handle special de-reference (A_Indirection) cases

0.19 (2017-11-16)

  • Fix serialization of column labels containing double quotes

  • Fix corner issues surfaced implementing some more DDL statement printers

0.18 (2017-11-14)

  • Fix endless loop due to sloppy conversion of command line option

  • Install the command line tool as pgpp

0.17 (2017-11-12)

  • Rename printers.sql to printers.dml (backward incompatibility)

  • List printer functions in the documentation, referencing the definition of related node type

  • Fix inconsistent spacing in JOIN condition inside a nested expression

  • Fix representation of unbound arrays

  • Fix representation of interval data type

  • Initial support for DDL statements

  • Fix representation of string literals containing single quotes

0.16 (2017-10-31)

  • Update libpg_query to 10-1.0.0

0.15 (2017-10-12)

  • Fix indentation of boolean expressions in SELECT’s targets (issue #3)

0.14 (2017-10-09)

  • Update to latest libpg_query’s 10-latest branch, targeting PostgreSQL 10.0 final

0.13 (2017-09-17)

  • Fix representation of subselects requiring surrounding parens

0.12 (2017-08-22)

  • New option --version on the command line tool

  • Better enums documentation

  • Release the GIL while calling libpg_query functions

0.11 (2017-08-11)

  • Nicer indentation for JOINs, making OUTER JOINs stand out

  • Minor tweaks to lists rendering, with less spurious whitespaces

  • New option --no-location on the command line tool

0.10 (2017-08-11)

  • Support Python 3.4 and Python 3.5 as well as Python 3.6

0.9 (2017-08-10)

  • Fix spacing before the $ character

  • Handle type modifiers

  • New option --plpgsql on the command line tool, just for fun

0.8 (2017-08-10)

  • Add enums subpackages to the documentation with references to their related headers

  • New compact_lists_margin option to produce a more compact representation when possible (see issue #1)

0.7 (2017-08-10)

  • Fix sdist including the Sphinx documentation

0.6 (2017-08-10)

  • New option --parse-tree on the command line tool to show just the parse tree

  • Sphinx documentation, available online

0.5 (2017-08-09)

  • Handle some more cases when a name must be double-quoted

  • Complete the serialization of the WindowDef node, handling its frame options

0.4 (2017-08-09)

  • Expose the actual PostgreSQL version the underlying libpg_query libray is built on thru a new get_postgresql_version() function

  • New option safety_belt for the prettify() function, to protect the innocents

  • Handle serialization of CoalesceExpr and MinMaxExpr

0.3 (2017-08-07)

  • Handle serialization of ParamRef nodes

  • Expose a prettify() helper function

0.2 (2017-08-07)

  • Test coverage at 99%

  • First attempt at automatic wheel upload to PyPI, let’s see…

0.1 (2017-08-07)

  • First release (“Hi daddy!”, as my soul would tag it)

Project details


Release history Release notifications | RSS feed

This version

3.12

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pglast-3.12.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

pglast-3.12-cp310-cp310-musllinux_1_1_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pglast-3.12-cp310-cp310-musllinux_1_1_i686.whl (4.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pglast-3.12-cp310-cp310-musllinux_1_1_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

pglast-3.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pglast-3.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pglast-3.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pglast-3.12-cp310-cp310-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pglast-3.12-cp39-cp39-musllinux_1_1_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pglast-3.12-cp39-cp39-musllinux_1_1_i686.whl (4.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pglast-3.12-cp39-cp39-musllinux_1_1_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

pglast-3.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pglast-3.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pglast-3.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pglast-3.12-cp39-cp39-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pglast-3.12-cp38-cp38-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pglast-3.12-cp38-cp38-musllinux_1_1_i686.whl (5.0 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pglast-3.12-cp38-cp38-musllinux_1_1_aarch64.whl (5.0 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

pglast-3.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pglast-3.12-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

pglast-3.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pglast-3.12-cp38-cp38-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pglast-3.12-cp37-cp37m-musllinux_1_1_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pglast-3.12-cp37-cp37m-musllinux_1_1_i686.whl (4.5 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pglast-3.12-cp37-cp37m-musllinux_1_1_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

pglast-3.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pglast-3.12-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

pglast-3.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pglast-3.12-cp37-cp37m-macosx_10_9_x86_64.whl (989.7 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pglast-3.12-cp36-cp36m-musllinux_1_1_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

pglast-3.12-cp36-cp36m-musllinux_1_1_i686.whl (4.6 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

pglast-3.12-cp36-cp36m-musllinux_1_1_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ ARM64

pglast-3.12-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

pglast-3.12-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

pglast-3.12-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pglast-3.12-cp36-cp36m-macosx_10_9_x86_64.whl (988.0 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file pglast-3.12.tar.gz.

File metadata

  • Download URL: pglast-3.12.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.5

File hashes

Hashes for pglast-3.12.tar.gz
Algorithm Hash digest
SHA256 f653f28a5950c824d78870822ead43286e986ca59262ef61f001a28cedf137f3
MD5 ad4c3de585b991a70c01bf02bad128e7
BLAKE2b-256 6e7510af0f75e2c53030ac05ac7829b7e88e85dae31abe7f0f0356f934c398d2

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 77e2d87c6f6335d4e6e027ee75e2ad8a15452e8c888cc4c67ce63d314cf45126
MD5 0b25cd5dae0da51b70e8af9bc1accc4c
BLAKE2b-256 7b54c9dcc8aabe78567076ad8f7e6a864acae2c9970f3128d3c84ebf1c5ed807

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 302e79c8c3967f20dc968758f1b28ccf9e333edc022dce8841e0da2919505aac
MD5 6610daf100c1d390a44487676d2665db
BLAKE2b-256 afefb8d4d6b94bf4329a0710618a571d582c9fdee3c9119432b45be158e55dc0

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d9ea7f55430a2e013a35da5fd0c74e4307e341746290de8aeeaf7ab23675d9a7
MD5 462726f9cefec0c0f1de78aee85a1868
BLAKE2b-256 2db365ca021aa66be8fedb936888de1f6b324b10d810fdb7523e91b0422506f3

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 462530dd3df66121878f76f1e77105d66d6d6ebf645565f78373e4ea5f2d42d8
MD5 ed8bc79a9f62c8c2560cd04f09cadcb2
BLAKE2b-256 9eea7d022a8203dec087da7969b278c2d005e4821e3b96117a1f82f91a04fc48

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4e260cfbe965589fe719380f3523516e7e5e215265921f62e4df5a2d8f1a6e2
MD5 7aa06e0e74be722f2d58fda12a00bb2e
BLAKE2b-256 0e4f058c56e368e24b1436d536611f25fb76419860e530482b17e82d959e5644

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f83d7bff544396ee0ec66b58ffb9252e446180cdb7c70fd0632103455ac18c92
MD5 c83132c9bdbf42fe93145d46a31a2bd8
BLAKE2b-256 0d4f0b590b9ee00bf9f29067db2d19c9a46bb5cd33d40774f8ddfd668d4075e7

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5b077aa9e2ddd961070f95b5907ae4c6564905a1bf81eb8de17da3276a3d9759
MD5 d13f3764235484bccc217a7ba466e906
BLAKE2b-256 2efd4ef7dae524083f1e7595aa7f69ec2786573c2984a04854df45f5d92fc30c

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cd94e2d23f3fc240085c3756763881e92f37f93a81c36db8829c89371ba6b66f
MD5 3b1bc0e6c11f0b3622f88e2d2f350dd0
BLAKE2b-256 959f4940285f1446b14548b5918e1f2fad3608d21842de3bb1e3d37ba9e0f0ea

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e0b49d6d6e2bd26d33d73a3a7c40d541017bb22ea14110703b0c2dfb4232abb3
MD5 cacd0637e87ddae8ea6ae794b0e50d21
BLAKE2b-256 836f0c358247ed0643db964cb56ba291d2d4ac482f2274774e3a30c8df1a09ec

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d328afd11ca03b9f6d3ec9a1fa70f185bf7c6ecac6f45a0453453534c2d80376
MD5 3caa8307a16346228c53a558575320f4
BLAKE2b-256 b56be493bbc49a609b7eb2029a3d7434e68910378d6edd666cc3abf61dfaaf7e

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d53c1484a39fa691e9ecc8c84f58eaaf381ef0f19850404298cdefa82c2cd3e
MD5 a10c6195599079c50514cea25f25412a
BLAKE2b-256 2ffba45e91c3339efc02d535f7be65310b8c04844c622203ac43d38cc39e8ff4

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0aea63c24a1802675df8a0253354883a81576a2dd3359693f2e3b647daf20877
MD5 e0253c8f134e0839bffb8a35fc9ac876
BLAKE2b-256 4598a4cd758d7ba6b28b13501d24fcdde95857349cc426760f1bc473f5b7a6ba

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 43ffec07cba4840dc2cbb507b202d0d7889d44208b6ef188905272bf73343418
MD5 7dd73973e2c0283a767453f4a37dd805
BLAKE2b-256 8a74a4ad620c6c02bc5a60903b91411b5a386a7c5820b8ae02e67984cda1829c

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c80a24fcd42134ca67dde9b8c196d9a50fc8b90c4a8368c27188e5003f1f2bdb
MD5 4090720a77978c2207ebf27b3de25285
BLAKE2b-256 73caf6814507de403b948a4e4c853fe35065fd444f900cf6b72e92859623d4fe

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d31a32d2d4bd0b198fba65bf0ca1d08faa62c5392a63cabd87255e3c97d2ee70
MD5 b22572fa199917d773fdf3e86d866451
BLAKE2b-256 2f4466d11f62d8cbcb882678ae2b6625cde83eb15d3bd9dc5f2f90b2da141f25

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 9ba2c00ddb393d4184682dee3853b79964bf1cb6a22438f265fefa6f000eff31
MD5 8f60578882bc378e0410027af635d54d
BLAKE2b-256 3decc8cc30ef50c6b5f87ddabdd167887c556613039a60ac32b263e2eddca5a5

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e0318c4d8a2631a861bfb8ad2cc97cb885a8fe3e2c81e08c898ec39fa721a68c
MD5 018b3b3cc3ad6f8c9e7aabe299eab69e
BLAKE2b-256 eab98b3a376ed1dd36b714ee25d1faa39a844a9cd9a1475d46254b8a90151422

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 452da2b6b24b8470c4a49b297a37b190c8c78c728d89ad79f2deed5c20f664d3
MD5 274d012faa5b9731477695e059be8eef
BLAKE2b-256 0cc66b06321d5447adef032f67d7c2f0ea7eda8124cad7fbdea5ed6270859c4f

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8f3356de73c38bde333322ba975c3a9ed83ff6039ac4f05e4f26e9e2e3465c7
MD5 95c7b47a16f232857e04e0e91d2a1a4e
BLAKE2b-256 f6ec90695cfd5e9b3ffb847b97a0ed90fcc38d051c922e4adbfe2093dd6bd358

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a92609a8a3fe8a477c0ee94f16c1974b7365c78d2664504c80dcdd915079189e
MD5 27cfe8ef7490511eb7364e6e0a82de52
BLAKE2b-256 01ad8fa28f5669ebf4ca56a4dfbf5a70684565f77a2865d19a43091c2e027583

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32153d4d80f0d646ac7085b60362a0a73e234ae41312b1cf2944a7a2b46fc172
MD5 3edab8e11e0dbf46a8acc9c50a2d9a99
BLAKE2b-256 2b40d8b6005c4eef1dcb7b91e53c62884aa8559be647126d2be28812cc44290b

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a1af6fd5d46d74461cce0ed5c156b8e60cdacfdc1176f8753bfb74f9da5f0fde
MD5 bb59f1f04214e8d065ba94665895aad2
BLAKE2b-256 bc16848021d8dbf59086de6f8dc16d858df822acf2ae8a4ae7aab6ff7a883661

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 addc99d349ab971fc1ff7633a04657d9be5429606c2280a4766ccb9522ddfb7f
MD5 6271d6663ee0f59f92f9350b408c5ce8
BLAKE2b-256 609493b4c0ed2fbfbaee883803a65365020ae40326da8d65c2cde602342424a2

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6d635663441e689fd092837f93db02d2f80d93af780c695c94226948301a2c21
MD5 8034107b7c5c6fbb8041417d92076440
BLAKE2b-256 e15de44f9564ab09c0ec7922c7d1de114b92ab8c25e51f5ec11b44b1f220687a

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b714516da8265ba353d7798e528c660fe35920d78c28345a9ce92aa6212349f
MD5 7ba269cf75150f02059d8f7e7d7f06f2
BLAKE2b-256 cf865f8a871203e8b4cf043cc99a15b55cb962d79e8553bdd57ec284a443fef8

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1ba32cc06a87a9943348e0dd5ec68c5ad3d7ff4eab8746880f49a172d13bbe72
MD5 3099ab439cade926a1609ee1f45b44f4
BLAKE2b-256 c8be8db90acf715497c030ff85775f040459f51363b581fb9a9bb5fa5c146f41

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9a3b92f4f68b098585bba638967c4b5267aa423bb73ecb2e8b92ba418e3c291a
MD5 5def64d87c5c13545a9f0407028a8221
BLAKE2b-256 4d1cfdab020170496e4b443ebe7d4a60fd5d93e5cb70bb1aa763591902d65920

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 17017c884cb752630bb5587b8a3b745e4dd28368f465e964a309250559ec276a
MD5 5f6876fa9f345cdcdafd6559a278e682
BLAKE2b-256 b3e24a2111cdb09c810bf647e066f55aafabcecebdb35ef58536a6078fb4dd46

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2d19fdda0c2271565e781f2351d1a057a3d22ca8b638d7d79d4b73df99f3088d
MD5 c9d62cfb5d828b5e68a1182365f53712
BLAKE2b-256 ef1dc8a2dfc1df05c0639498d51ce2295ea3e2125523583c2b20a4dd84332e23

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bd3f7d0ce243d4816f752d25bd46f60cedad4d0b920998a5c88bf40c0a72e131
MD5 1d5a6ddcc0dbf0f7eb2b5859de831cfc
BLAKE2b-256 f610624aaa905c1fbe63ab143d05f76848d85250f5471975007f4ca98a87a928

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d8baf528f6da2ba18f430e214f2f223edb3ec78f5a2cee3afc0655fbe076fa43
MD5 803c9a5ec2a20c20440dd86a9efcec64
BLAKE2b-256 60180dbe07c5cc6aee972ba5e3a07574c59e0351ed16daba98cf1327655e3b4a

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8131e8373a092bf06edbb9e920d7b74beebc0e25be9ce5955b0d70f49cbd594a
MD5 561c8fbc0af3c4101ef4e906c148c334
BLAKE2b-256 0f69cb5f7754b42b94bb9150b93e11a8e4b915afef32ea574c2a846c4f802348

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 15fb0afd31dd1e511e0871cd69ba05f384979771e6f85a10ac18bee5593c119c
MD5 e8fdb5005549aa6ead1a1a9fea993a43
BLAKE2b-256 f7af09d610bb673eb24bfede539c1dbaba51462b8750a7da33a413cfc8f547e4

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2655ea54b01ceb8a2a4fcdf61b4b5d33bf972cc41a1d6411487df8b4a4321904
MD5 658fd988a756d8922c88311ef0bd4cb1
BLAKE2b-256 f48fe16d4114fe863505ea95dfbfe289eaf35028a720f9da82aafb2da4a75701

See more details on using hashes here.

Provenance

File details

Details for the file pglast-3.12-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-3.12-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d8833ccd1f72ef6ebae59339e12a986d0bb0e7b2a27098d3f9134f2b17e2466f
MD5 c1c2ea550c285bcfeee95919447d4efd
BLAKE2b-256 13fbf047c48cb09aa8641aa0dd5470ba3367c36713b53ca776ab4f1eb3c3a269

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page