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.14 (2022-08-08)

  • Harden the way Visitor handle modifications to the AST (issue 107)

3.13 (2022-06-29)

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

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.14.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

pglast-3.14-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.14-cp310-cp310-musllinux_1_1_i686.whl (4.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

pglast-3.14-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.14-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.14-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.5 MB view details)

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

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

Uploaded CPython 3.10 macOS 10.9+ x86-64

pglast-3.14-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.14-cp39-cp39-musllinux_1_1_i686.whl (4.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

pglast-3.14-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.14-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.14-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.5 MB view details)

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

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

pglast-3.14-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.14-cp38-cp38-musllinux_1_1_i686.whl (5.0 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

pglast-3.14-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.14-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.14-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.14-cp38-cp38-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pglast-3.14-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.14-cp37-cp37m-musllinux_1_1_i686.whl (4.5 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

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

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

pglast-3.14-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.14-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.14-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.14-cp37-cp37m-macosx_10_9_x86_64.whl (990.7 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pglast-3.14-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.14-cp36-cp36m-musllinux_1_1_i686.whl (4.6 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

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

Uploaded CPython 3.6m musllinux: musl 1.1+ ARM64

pglast-3.14-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.14-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.14-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.14-cp36-cp36m-macosx_10_9_x86_64.whl (988.8 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pglast-3.14.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.14.tar.gz
Algorithm Hash digest
SHA256 81e0c7d10e71a775f3f387f77dfe0078331a0e086b3bc3f9d38c30c22e238e10
MD5 10a9447c501be91089c0603a0b25cfb7
BLAKE2b-256 4437d1aaefd8f02a18b7429778f3f66ac72cb82b89bf295054cfb98107519b2c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 70651506946fa213c0068caf279ebce18f59e9aa9093a62627e662ee38d3483c
MD5 3b609ab84de692a4b1e1e97d41c9c749
BLAKE2b-256 13b66fce8dfb2a2f7d831b8c862d78a589ad97fe158ba519b477629eab2d78c1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ecd5c1750db390fea8fb2af4e1686a992411dd2bc109d3e85c5a90b585a2f18a
MD5 0138427e2860357838486e9c4c9fca88
BLAKE2b-256 5a0fbe914bc3c825a9b00685b7c36910550208f0759a53b17dd696a91de8b8e6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2d07c5830f1fba8381f0486bdc1edde5c05928db2995b6c51e83b549ea8bff5a
MD5 7342363a6f4b3af9689d78528e2e0d1e
BLAKE2b-256 a0f9f99d99b84d6796f5facfcea94d0688600a639cfb624bd99d886221d7572c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d388813c200a5321c05029027d69fe1c9cbf2f72d4294f920a0ec1f9c3aeadcd
MD5 ffc0515fc2720913239c8eeb8545c118
BLAKE2b-256 4414e34c8ea2853bcc39b7f240377e0633bce8703a59d76e946c45f8b1df270b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3cdc84acdb0c4cd6b42602bbf5fbd6a26e2c3b875f1c56583b34970943c14d4e
MD5 313ebc5d76e30af45aa0ed52f6cf862d
BLAKE2b-256 330b32f2ba205ed25a5fec7fbc7f02c179a4f1e9aa9be60d948ed8a12969038a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a5e7fa51206927f3f6a05717c9d11816094f376dc3ceaba94201add048bb368d
MD5 175b8f859a85eb599cbe8f479e8ce7da
BLAKE2b-256 7b8c11e129c5f56d830a4c77a36dcff6fcb3f8fe2cbac9e9d0f4d0eb8eb9cc97

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9f64b0015f910eb238abf96d3a528c61dcd0524453ca3eea8069a6284f4dbf07
MD5 f46eca2f1ff247bcd30ad77f0227eeaf
BLAKE2b-256 087ba0c707b76ca6743591d05bd302ef6289067d0164e3f5c9c9bb36a520d23f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ff4d9cffb48bfb1faaf12f09fa49e5b4317687836905a71898e0bc88e502f804
MD5 063fa0c1ad8ecae01eb8bb30c066931c
BLAKE2b-256 8437412faf1e196ab4973a8ddeba40fd0eb418300c20b0405dc5b1e3d8a33db8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 93be680216cc7d40193b60d006cd9f25ffaf51d9419cb58f20498b48d5356c7f
MD5 3f6ec2676f07b790085b07d6fdc80260
BLAKE2b-256 4684ffae8ca3f666cbc325b35291af66892813a7b0a53dc36e65f740b29953b5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 5b22d75d90783f5e1b7915d5988be067936a5ce36219e1bc28c507670a01e3c9
MD5 6ef0cf368ececd422798a88d93b0188e
BLAKE2b-256 376d0a9c2e5a6c91fc33c5065ea4c7c99fd538e1c2b54c18245591edb95dcf7f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e02addd73435843a4c51f1b613128908ef80a07780838fdae1123d3ac855739
MD5 cb7d3b5d0671623ba494b8f05e6992cc
BLAKE2b-256 c77063a9fd6a51ea21e06a9090ef10d58912470552b32f592282fff0df25786c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1b319c26f68c72e290678712a49a699ccaf0447553f6f648e93420be63bf3d4b
MD5 da9f2675e0f5287363216e842d4378c0
BLAKE2b-256 240ee1ec866c12c5f6b3f472eeeba868e234f4054050a280438b9ba3e533592f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b5eca856f26d068bfb98702a97dcd1e0331b430960a7770e6ce5920ab4c92d2b
MD5 00e2386ba3dabb55c0c6f4d7c5c54d65
BLAKE2b-256 ec6f7fa4646db53189f8fb1277234f5d79e4fdddb46b1070d90d40262900c2ce

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff294406b362e96518652d66e2f1a04988fe3cbd5d28f8fc85edf01ca3efe8e2
MD5 e102b6b3cfccfb561f0d246eeec7951c
BLAKE2b-256 754b8e2c703f62f8b9c41faa77d0286d2be288271b546b168769867a2ee851e5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d5af1c8c4ad134fdfc375f08e2c4d3d25f95f7a69ce8400ade45e677bb3ec897
MD5 c7836c1dbea672ec0512b3da2d17c6e4
BLAKE2b-256 370adb188efbb4c76e7a55c35455eb07e2d661b5acc5e4662773310c0e9933df

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 574217104f80dc830b48238da4b5a922380eb1f18dd902442dd34759a8f2e9b8
MD5 1a5b722cb1133a49e7ca15342a55e9a1
BLAKE2b-256 8414ae35e090152e6ba318b5bf559ccdcdef5e08d67b50284f10f25a6731725b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2056e1831a449048457155aac303bd4db1cc65d9d46338e41c2507b701f47948
MD5 fdb6a7ff2851ff9ca098d1d59bd1f67e
BLAKE2b-256 1a7068c3551688b525f899bd6fd66290427f4151c3c93e119e403d2d319fbc93

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60abfa2bb8b52c425595a55431f96c09b8857e47da32e9e323694ab58d661e90
MD5 c50b246e29aaaf0d00f8e799c5262da4
BLAKE2b-256 54b741222b0a2b1255e6a87a97dbb950583874e1da86813a97f49013880c5dda

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ac164a8b2c5ad82617088799e82bdafd58eee125817c983cff14ae1e77a0a99c
MD5 569c1083bd34736dbc176edb122f9c60
BLAKE2b-256 485f59d0e5756ce7f135e67347522ef6d5d43fa23ab2f6f5812054ce6d4d3834

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3f5b7e43893cb12a38c55a164a6cfd9952f5742e20d46170e80192ae575f5f83
MD5 529a92db33a00f7a351305985c5baa89
BLAKE2b-256 dc2c1c22685ae2489adc07a7e15d3502c3c875a6519f8986334f9b63002b529d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 020c81ee37fd8d76d8ea8716aed8822cea54e782ec5e7f15f1bcebe37f759655
MD5 058ab8f28fc7616579310d8a14aca47c
BLAKE2b-256 087f552c51ba9bf89683fe97ff5a138958bb6b270db235744822d3eebd8f328d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f60f40fa185abea8032ff95aa11394e8c195dede6d67204f5264c2f6b9c106d0
MD5 a888429c445b46f030a021ec0f89bf44
BLAKE2b-256 75282f1a4b9542e3137594af6200eb3cfe9f8b4b0d0f85a85302ca05d5cea455

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8d7f7e31433360b54a9a93bd1a0799b2c4f179b93d4ad275f2ad3e9805a27330
MD5 1c3341fa99e509ffe0116ec4b282f7b4
BLAKE2b-256 8e170422dedb8dfb770c2cc57f2c10fa3d34f6134b9818aafbee429d158527c4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 1c566869d52c7a9daa7f2e44498bf5d0b61f07c15f20be0c202f59547691086b
MD5 59869c1822925b6a36c693182bd396e6
BLAKE2b-256 094ad0fbc62369c24e04462c7dd1970fa112f6316da563831f6a2a276d2f0f0e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 183e597c91d16b96e28286820a340028ad2a44851342363dc908aaae1fd8a1e3
MD5 59c58884377f9834315b65f2e2a27260
BLAKE2b-256 e2d2e2a7c482ec3257aa59ca675f652969374e266875133a2e79ad6567a5013d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ecbf89653dfad7bddcd8992de872d88c848e0bf52bd7a41b4cb0505c6c7ed89e
MD5 8db2c6374e63f65fe239a2bbccc0ed83
BLAKE2b-256 f477a2a1b128363c98ae66bd07ba0abca0204f560411e0af23a4909a73551239

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1f04f643299d7beeb3b3fef7584c74590cf4e2ba48110c0947890a04932fd7d1
MD5 b319e4818dd3b4a9aa7a7fb22307ba18
BLAKE2b-256 d48515bc147a5289270905c2ca716d9d75d56b4ded47d4911893beaef059ed05

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 509833bb17525df81bbb2fe22f8bdd8bb831a50623d93fe76956886ebfa38c9b
MD5 5e245c05764e191226bd5a88cc25cef0
BLAKE2b-256 f9ca6ee698a0b135cac5e3ad3d69570189397184ac95eb65f5fac86c784be185

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0cd9bb545459a26493909babd1109ba3abe7359b7c61c4f1f6eae1d7907d6fa0
MD5 2b685692483714ce75f49f1781190c42
BLAKE2b-256 659cd720622fc7cadc9e8e931305046830c49955714fe154e7b216e55d63f4ce

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 28e461a1f5ef517bab83f213e929dd6c50a72c85c8122d2f6de4ab99133aaec1
MD5 a28382fa75b7cc2c95d782d3d03a24d6
BLAKE2b-256 1f8ff9465840f2b35ac441ce559d9184240c28d196cd731dc49f6a16b6001bc5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 fd541b53a96cf97a37bb912990fc11e1074be0a4d0b7f15dc5335422ecf5d916
MD5 94d79114f22e9726d475b543d5769516
BLAKE2b-256 bf2b42851afef70d95c6b3f6535ca7260bc6f7a740791c5112fb1f443a2eaf4a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8b95a4ba0cdd03e4e42e7435b1d58b0cba1edb5da1fe0e220f5ef3af49074e3
MD5 d5b5e0f6d1eddc48160d7ca1f4ff6fbc
BLAKE2b-256 21c99f91d22f4399f1d23b4f9ae7c651951f1212155209b11b4e3759f625c502

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dbc21ac35e5ac997d969a6d624b37492fd962fc900b7b2299f0b5220f9139b59
MD5 4bc2afff6ebd343b055825f60c455d49
BLAKE2b-256 4e6ea90c4385877991417009ca3c7d4b0360940dd8d9ee8aabb1f1a72a5d3f06

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 526aa17d33ccae70854a583a3522f9b72cd86aa6bd6d889739c2165b3fad8384
MD5 510ca8871e66b49b313ba88a34019c2a
BLAKE2b-256 f7cae975fc78e61f7df0b3b3bd4e480e395fbb61ae26f865937d8130b22566d0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-3.14-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa58f93c6dd2f9290afd2d3ab70c4d99ccc93cda7d7511fb078a992ea9b632ad
MD5 80aa5877e0d677ecdc1bcc1764b902af
BLAKE2b-256 d0ca9d3dacd4ef8c009f65ee0a473ef18d27184ff4239f900e72a27e1401512c

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