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:
4

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 4

4.0 (2022-12-12)

4.0.dev0 (2022-11-24)

  • Update libpg_query to 14-3.0.0

  • Avoid overly abundancy of parentheses in expressions

  • Prefer SELECT a FROM b LIMIT ALL to ... LIMIT NONE

Breaking changes
  • Target PostgreSQL 14

  • The wrapper classes used in previous versions, implemented in pglast.node, are gone: now everything works on top of the AST classes (issue #80)

  • The Ancestor class is not iterable anymore: it was an internal implementation facility, now moved to a _iter_members() method

Version 3

3.17 (2022-11-04)

  • Fix AlterSubscriptionStmt printer, handling “SET PUBLICATION” without options

3.16 (2022-11-03)

3.15 (2022-10-17)

  • Produce Python 3.11 wheels (PR #108), thanks to cibuildwheel 2.11.1 and to Bastien Gandouet

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

4.0

Download files

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

Source Distribution

pglast-4.0.tar.gz (3.0 MB view details)

Uploaded Source

Built Distributions

pglast-4.0-cp311-cp311-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pglast-4.0-cp311-cp311-musllinux_1_1_i686.whl (5.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

pglast-4.0-cp311-cp311-musllinux_1_1_aarch64.whl (5.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

pglast-4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pglast-4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pglast-4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.6 MB view details)

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

pglast-4.0-cp311-cp311-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pglast-4.0-cp310-cp310-musllinux_1_1_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pglast-4.0-cp310-cp310-musllinux_1_1_i686.whl (4.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pglast-4.0-cp310-cp310-musllinux_1_1_aarch64.whl (5.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

pglast-4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pglast-4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pglast-4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.6 MB view details)

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

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

Uploaded CPython 3.10 macOS 10.9+ x86-64

pglast-4.0-cp39-cp39-musllinux_1_1_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pglast-4.0-cp39-cp39-musllinux_1_1_i686.whl (4.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pglast-4.0-cp39-cp39-musllinux_1_1_aarch64.whl (5.0 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

pglast-4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pglast-4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pglast-4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.6 MB view details)

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

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

pglast-4.0-cp38-cp38-musllinux_1_1_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pglast-4.0-cp38-cp38-musllinux_1_1_i686.whl (5.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pglast-4.0-cp38-cp38-musllinux_1_1_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

pglast-4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pglast-4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

pglast-4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.6 MB view details)

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

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

pglast-4.0-cp37-cp37m-musllinux_1_1_x86_64.whl (4.8 MB view details)

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

pglast-4.0-cp37-cp37m-musllinux_1_1_i686.whl (4.7 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pglast-4.0-cp37-cp37m-musllinux_1_1_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

pglast-4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

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

pglast-4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

pglast-4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.3 MB view details)

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

pglast-4.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pglast-4.0.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pglast-4.0.tar.gz
Algorithm Hash digest
SHA256 1a60ccfbdd23a05dfe2078d489b78d657e78cfa8d1f2b082f91fdf709d377473
MD5 628e926c74b800684e9cb1dc6099fa4b
BLAKE2b-256 0e8f920da9a8d2513ed6b495eb5dc45e208fa4b27a1bf9d89147d55c70d95fe0

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 77a18690b3501d3e85f894e7d6c12d035925f785a43cac595867ce3a588fc4cf
MD5 41060d5a713f1e80775c80f9b35d56a1
BLAKE2b-256 a0a3635b577eb4d25e7d73fe9ac15ea623e1f7b9b8dff2810fd08592e618a103

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 cdfb03f028700420ae8b49897f0ebde337bfa857f6a768f6252d7b4b8788ff8c
MD5 0de9ffd12b59e92a045f123d620c20a1
BLAKE2b-256 4247ac4500b48b558609b791f128c248a92624f1720c74ac8ab411c79313e4d1

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4747ac08bbb01c0717caf52b4ef604771a1024ed8d864f450e66f51876dc921d
MD5 76bdae888f785fcfbfde13f7faf28cf6
BLAKE2b-256 9d2f261eec80fd92934c55586d6ddb531c5dd556cfad75c0129cd4545f73ce0c

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 236cde111576db7a9f78d412e1adf8ed986599b7ef0a46915c35f0344d80f700
MD5 e5af7663a399be5a1bb4a32df89df8a2
BLAKE2b-256 e68b89dd49c8df54bdf33702ca2a674eba14e12393f7b7bb1b005bb82aead646

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8ce260790d3488f9e3e3f192f7afbc3f1e7dd6ab353a412fdc8b53f9c79f3b9
MD5 c549841d2d3e3f052a1eddcd62b00fd4
BLAKE2b-256 e6c43abe956e6ffe5f69a731d969d05522dbae80715fdf09bdad883f2a8e9a93

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b4b56578d0c06744660641f84185a62f50d8e7be161877273f571df06dd884bc
MD5 b87ed5f5f91c70a4dcfe85d3c4759ef9
BLAKE2b-256 d91377ccbd5f94b4a5ff765ee1e630a6ae1e7bbd79108dbc0f25d1ba67cdc72a

See more details on using hashes here.

Provenance

File details

Details for the file pglast-4.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f4210934d3e6d571e6bba103609bb70a8c96397cf398b4f24432b3e64ce912a
MD5 bd8633e975fd6b8d843ea1cec9897a18
BLAKE2b-256 f4435b62d96abc5cac1ad3d6eaa4f0a37d24e7e2397dd2030cb6e7908722ed07

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 75f5aef9ea6831527a0e69b1a8c209a86858108b2e6850408c5a814f1b22a869
MD5 f3a945ff3c375a6910a95e62973fa770
BLAKE2b-256 f54d902837048ac5b47532df15629fc908b963bb60ceeb8b59fd4da824551320

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 1e0fb23bcc7351344e135d599dc459808056c0d886ddcce2b9ce89c44be4aae6
MD5 954641429fae06e0d80ab2453bc183af
BLAKE2b-256 525bdf166773c3ce624bbfb66c36ca30685a318618464095a99e95a6a1bb06f2

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8a44ec73de6395fee02d5f9d272fbbcd2adea33d155dadac66f9690b31bfb881
MD5 a35c40856638cb03db11e2b858305c7c
BLAKE2b-256 4eed39448009c9687a99bf6c3dd1990816e7e2c339d9a1b11aeac86120903160

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8223a59a5bb51b894320bdc7f4a4f87ed45725cfce243cf5ec4f2981e3e31194
MD5 de599a0778415cdef633e17e7661cc06
BLAKE2b-256 2d0bd60dd74ae6e24ac448c9fa6244a6a2e980699ab317a10618e032d2caa72c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 212941e8e4b359d5e130dc0cc24dd8b5da8db751117423457ed978752a1dc3e8
MD5 09b2f1bda559f7b23593c8165a4789ec
BLAKE2b-256 c2af15ea36a259c036e642d19411333e4f4c29e204bc6a439c187b249e150580

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b91c63125a949a95162d39ef285fbe62445cd83408cf1e2f9cbcf3a2c297dc99
MD5 1e9864367d32b36832e712bbe566f583
BLAKE2b-256 5535db577266f567fced033ac1b99b7c160058605adc2d21f75251effbdbfd34

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6949e3488dee9c315f156e3871b4ff64960c21073e51fa80977cc4effe671286
MD5 5e14459bb28b6203abd9d0d8c55049f0
BLAKE2b-256 7cc24f3997157f2379387ddd79d601230769297b6b727b5664a73b60cba31ddb

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b7c551d6f88838ff1de4da39ae5cbaf1697696c2c017ef1729fc4a3019fc4201
MD5 6c1f90d144207b68b770a0841e08fb82
BLAKE2b-256 9a0506f5e88880ad87c1cfd67f61ea0486ff82782232ea7dbc4de1486bd9472a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7e80e67be7e1b2a5e29870eca77e0a00f0d96d8a2f082ac9f6b19a9e92a36118
MD5 d451d2f4038b5bddee4627f5064bddaa
BLAKE2b-256 f777f7dddaf10e200303c60bd64173add51e0ab310555c5e425684afda4326a6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 38ec15c691b8c6f9294284739916cb834094a65e212239e4bd8b6cc493403494
MD5 f52c11638884ac5528db4bb76ca4f578
BLAKE2b-256 3576d138fe8732c7b96d3ceff188db2ef4b14ed1f033f6901174648d9f871f18

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dcd1fd0bd32f6e8b3d9773d01ebced7736cfc5e756d6ec8e4f32cc2ee984bb08
MD5 588be2a507f1e940513890bdaee581a6
BLAKE2b-256 28dae60257ae38cc8c680108e0e9504f231f02909b344959d08ea13052799f70

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 54e8b25f47107a5d9d0ea842f669b07c4c21a45931b8ca5fedadc21619ce2ab9
MD5 0e381f1e03ac8374d2b6c4a18e351beb
BLAKE2b-256 3c91c5307f935a65f7b57d499cee5b4dcbfd05b1ddba9adb0d07ae7ccd0fb3a0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b6795a2c15595ad5d9f91f62be0384dd7ff20c510d7f6b4cde76aa5386a8bc35
MD5 d35b85030260244d7b8838bd890d9df1
BLAKE2b-256 9237f6e18c7d045caa537614577d98e3e09336c77d22643e48edd6b1ffc4ffee

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6a3d289c337b77e4c87ece72c1aa149449b8765c5800fd6a4bce498169b5d14c
MD5 50a7bf2bd88e8ccd70f6987ed69a8ba1
BLAKE2b-256 4f6a4716bb661b694c451ad2735a405b4092e2a5a6a227124b15dde75933f4e6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 54fa802022aaf0a1ff4f1447f8d29ea825e843ca13d6c345fe118bfdba7863d2
MD5 2a7d3feb86da06374cf4f48a1e4ff849
BLAKE2b-256 8dc2410a58bab787ad0ab4b81d6f8882c25abedfbb16587ffc4e706334dfcb85

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c30eb556b6030b05f9c10edae85c1b1f5694d1d519f72b70b77723e9410692dd
MD5 741dc8bb36ebb0e047ef74232e50ad94
BLAKE2b-256 e1330b0f9b7eb071be80c88826840173f7e35ebef2549cb159290464d6556d8f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 1d5175470d03195fa5a611cc443e4026e20bc833df1c9dc95a9672fc0ffa96ef
MD5 63ced19c5476830bcc0958cc7d82b99d
BLAKE2b-256 afa6599c5719dfb7ad77c63b93f33401734bd8dbe7d76aad5957c401094c5dd9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b397addb3a955dab23a3c510b92234017c84b14eca7d0bf7d6b8336edf672494
MD5 43567b4fff288bc870e3a29eddf75a20
BLAKE2b-256 e1ff0c32cfa4a6a8f3c3e620e076c08550461576cf10a293ab3a4e61205b6c6e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 354b291e8ba51e62e638f15ee142e0c4c995d24a882b268ccbf168c6d53273d5
MD5 84e87c7663e51a3828f5daf458335fad
BLAKE2b-256 692c8fbe8a1bd969df0b7c4813d827ad479c402858c6b286873ff8fa58ee00c0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 18a726100ef53ddb9dff8b96bae5138970b2d98eedab138eda93c1cefa1f3dd9
MD5 4ed0fdc232ff08dab5027f62fca9280d
BLAKE2b-256 61bfcd9aaf5fcc167b3dde6631efd77952c9c8fb1164a64821f1d2025de87fae

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 16456552986be3c6d84eaef9b8b6f2cd86d8991a1c776cbdb9fab64c5f1dacc1
MD5 cdfdb23f3e9ecc1e729389dc7d1aa64b
BLAKE2b-256 5a5fbd9669ea2387caf123e7cc8f7ee5d7ea18cfcc1be171bca8cdd5d6d8d66b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3f5609d3fdfe08c7fcdfb771f173389b10e03a4f05835e6a19bcffe0a98b6d92
MD5 a48ddeed45c19cab14f2a9be4c1ba19b
BLAKE2b-256 1d7394e45603b78e400ffee63e379ce3ec4cd96246b90162dcf47c0f55226dc1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b344cb11232e18a61ff301874196f81b01d052476f6517f5533d7908095d7fac
MD5 e5bc35e2f861426cc92ab8b157d371a3
BLAKE2b-256 830932fa831ebe9ebd8ec7d76859e67f33abcdb5b6f504a900862d925652ba04

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2c4c3ab737823350fe3ded54a063c280e61e1797c2543389518f7afbe36d631e
MD5 258b1706966114c15239b5c9277a80c2
BLAKE2b-256 f47992a84ad8892e7f80fa907593dfddc36dd82a2e5ad770e90f34e1e57aada9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83b8b4cc9ad234cd73d1f35141fbcf0928a903fb9144a718d0b10c4af113a105
MD5 733f27d3ac404e9b3534da62ec889de8
BLAKE2b-256 d7d772770cc365a9b32e5a8077d06340b9e334dfa13b028cba08187de08b7784

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 effa94900963cfbb48c9b067160832880dc4108691ddfc087e6bfc41c1a19867
MD5 c57e21c6597e24972e77a86343462fa6
BLAKE2b-256 253435429a5c3190cb5cda89cf9c0831ae8eb248db833315e4b4625613540085

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f89df7c3aaf2681d7b6813e39c24449e6caafa4c7120dbf84691a60dfc90a993
MD5 2d8f7c344800014daf359a2ca3e70136
BLAKE2b-256 ec76c4ed9cff52296c5194637653ee159353c9d82f948182f6fe9881ff87d743

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9505ca79e9f3ef44abe92a1099029e05571a465fdcf2910fe5e61a831c4e4ddd
MD5 a8693a3d515fe25ec6dfe21a87efe963
BLAKE2b-256 8ffff4f544fe5de45a29128273727e87de166c8b989cab5f31e5fd4dffdf6a63

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