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.3 (2023-04-27)

4.2 (2023-02-27)

  • Handle special syntax required by SET TIME ZONE INTERVAL '-08:00' hour to minute

  • Fix mistype mapping of raw C “long” and “double” attributes, that were decorated with the wrong Python type

4.1 (2022-12-19)

  • Fix serialization glitches introduced by “Avoid overly abundancy of parentheses in expressions” (to be precise, by this commit)

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

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

Uploaded Source

Built Distributions

pglast-4.3-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.3-cp311-cp311-musllinux_1_1_i686.whl (5.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

pglast-4.3-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.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pglast-4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view details)

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

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

Uploaded CPython 3.11 macOS 10.9+ x86-64

pglast-4.3-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.3-cp310-cp310-musllinux_1_1_i686.whl (4.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

pglast-4.3-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.3-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.3-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.3-cp310-cp310-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pglast-4.3-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.3-cp39-cp39-musllinux_1_1_i686.whl (4.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

pglast-4.3-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.3-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.3-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.3-cp39-cp39-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pglast-4.3-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.3-cp38-cp38-musllinux_1_1_i686.whl (5.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

pglast-4.3-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.3-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.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view details)

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

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

pglast-4.3-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.3-cp37-cp37m-musllinux_1_1_i686.whl (4.7 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

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

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

pglast-4.3-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.3-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.3-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.3-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.3.tar.gz.

File metadata

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

File hashes

Hashes for pglast-4.3.tar.gz
Algorithm Hash digest
SHA256 a2bd71cacad3b55e1ddece618e9ed9821cc503f643740285d22ccd566d7d3812
MD5 9422969e41a55e3466ceb0c65fbc4863
BLAKE2b-256 7341212aa824c7a1f475591c1e0fdedb1d13bf8f2843ca496113f8748f1133c0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a6e0579c277769d0a4a1fbd01f2d1b9b8275396af6c7e98cdcc09532326b0756
MD5 d570a9c58630c454121a0a02e75a0943
BLAKE2b-256 6b9143663368c4abfbab5823f080fece59920a057e161b25f2051184b37f9bdb

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 06ebc34d4c4426f062e8260a81494584bd1b539a773e067429db830669dcbc5c
MD5 8d0478db63272bfef825d323b7524d82
BLAKE2b-256 3042efc0252a2f828e92c2cb3b5c1327f5cce214c308ef21a152356d9b62bcf7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 337dea5955a724d3d5319a3cf63722e3dd9ce83e789d901acd4c11be5f9d72d1
MD5 59a641b0e6a8ebc114a7b2e5ed35827e
BLAKE2b-256 9ae4c2c5be8f4a496a5b620776aae2520981f73ecc3951cf859c7398d1903209

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 870da1eb7a58cff4086f1ed5f34cb6c7fa3a4d8739b887c3616ed58b7eb91693
MD5 fe099d003272b93844460ffb9d6b3514
BLAKE2b-256 7f61511ef45efad7f9806ac62d199076f8de5a78a4078b63fba7515bb3f97c5f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 118fedc86ef3c4d2aeaf7097907d112c7c9e31f0883b3dabb2ec5a2d1bcfdd18
MD5 954b582f124c34bea7bdac0e456ab5b0
BLAKE2b-256 9309adc0bc706492b8a338c86985df9df0fe57adec84cb074c2d52d2bed7633f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f85d24efa0b055a8a757e221f3184ea0444da083cdbf5518452f96260603bcfa
MD5 c70cdba0ed31e3e20ceb229def8c027e
BLAKE2b-256 c6b937255633d98154cfe6e09c0b664ad91e83d2b01fcf1a282c7d4980581ba7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c46521ac75ec1710e36cfa8615463e17e7f052f03de82f8e28245dea43743fa9
MD5 805fbf03f0b7ab2cc04c1bb2dbc320ae
BLAKE2b-256 f30669e325c5f8114895d864df56509730fd44cb6a319c449fd08538ea484042

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 566ced83d7161f7a066dee41ba8a9b82769d4c7f347f8605d6d6ca3190bccd83
MD5 b05694113ad335eb56f10b17b2a9e9df
BLAKE2b-256 06a3162823f43034449d573b323b00b06cfbb3b71a878510317edb4052a85b69

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 919e605d26c8de0331b17e0fbd91768bf3c32c19d60758d8a3d719e079aa35dc
MD5 148c8f74cddb98167318640481b17e2e
BLAKE2b-256 5aed7fad42c955fb7761ffb734f52a3ee23e73d9097969034344aac1eef3f12a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 13570bc598d34eb30a8954becb7e5f07f8d29b3b3d4747a525a21b714355a44a
MD5 bfc4972f6db9253843198231704805ea
BLAKE2b-256 88e38a96cc089df3efb043ef73d348a45fbfb847d23a7b05704d1e9497c3f2ee

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2973bd567b9c9dff4dbd7b42edcb661773c2a5be5f2dc4ae71e3764de10ade5b
MD5 0b5edb1a73aa47666575d7e6758072de
BLAKE2b-256 f0aabcc706e8c224a78fb4e28fc02c8d894d9a5245521cc2d17607d2a9af73c8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb88672575ebd5c9fcdfd844c6caea3efca070906bfbc58eb4a07497d6bbf9c4
MD5 397d6a68966c6672b69a9d7b1a5a2940
BLAKE2b-256 488ea88ac138363713bcb00fb567a6b0c3f0d647d32a66b6b0f9680f1b681be6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5e350b99562dafec15405433f7442848f1f9030257b77cbc693b423a4728186c
MD5 698671a984e46c650be6a5df4b3439eb
BLAKE2b-256 2eb94b403ed52031a670f18f5351221f9f50a8dcbd27916a9b2e3382d7dca4d5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cd6961967903b4a748eb37e5ffeb3696abc322f9cb2cf950bd64dbcc0b627721
MD5 5485a462ac87c0a8e82aaa8dbd4ce4be
BLAKE2b-256 4ffb448656d81b9c33c6a0a33f12631debc1c4b7d5de3e866ef45e68edf9324f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ddcc4beaceace6f79a9df6a4be040447d5eeb89402581111e6664d2995edf55c
MD5 612ca6392e06e34f6814411ff81c1069
BLAKE2b-256 84bc669dd7106550293dd72db698a7a2eb5d33dd94b6f8f0bed354948c7f554f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a7b6017630c93912a7d414625f4b2515097efeec79892653438fc0f6dfbdabcd
MD5 4f3a2eb4baefd8e9c20b89164be8b291
BLAKE2b-256 827a6700c8dc71f9c9d704f2786a4e974e8244bdc0170e63522e970bb294b3a4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 21def2fe9423c687ae308596823e0dc53d18b52f9ed0e30f85a92d25c8af503f
MD5 4ed89f702ea1fe3fa255c277fd0a9496
BLAKE2b-256 05b681ae7a084737b4765809f5e821654125fe9569de3a31345634cdbaeee932

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc349fc288718a621605248ecf66bf59aa9808bcd7d0130e8d3f66d332908f0d
MD5 ade62a23e0a2f6e1a29ae94f2f917915
BLAKE2b-256 b654fa311d71140c2dce3abb3cc21126549c8a95534fb7bf07431babdab11181

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ae933ed906f332803503103a79fde14d11736c5024e631012fcf6185c649af6c
MD5 4b78c128f618ff2d75a34f7cf2cfdd89
BLAKE2b-256 90e54818850fcd4686533d3f338092465403647d44fd2f12ed6b6d7862a68349

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 177f61e3a53829ec754c27b2c96f7432363f874fb2716201aebeca78ba3f6398
MD5 9d2739e1d272b40c6297f28870e2dc5d
BLAKE2b-256 4f58ab751a45e32cb34a1d8587b9ccdc6caec5ba6bcea221eadcaad3a9496732

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4cc3094152d35b1ff4611e400b943e6c9546fbaa0e7040e6bbf4567c0fd42cba
MD5 c1021d411481747dba2cea94a84718b0
BLAKE2b-256 3429bd320308959d322fdd39aba986eafde00f8899c1b21950dbc173a003eced

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 36b61c4a71bf78e72e323eb674bc8e20aafcc06ed21a4e312c52978132fa68ec
MD5 00abb56096bab16947269877e49de76f
BLAKE2b-256 3ffbdba013ed745434238b351d2847f780bc11c0aa2b514ced3bd5e7512d7bf7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 fcd0e9a029d010cb3bfff86677cb9a1de728810cb0882bff61fa59e474c31112
MD5 ce02840fa4d144a72c61a94a48071254
BLAKE2b-256 442236a20303430c2d54e268d9a7f25b527c2904979744ce3d32719690119e84

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 106bc5e743bd2d2d9de7ca72f002d587801084e5967689b67e860d4e5ac87424
MD5 1655233d7203be004bf12e14f281985b
BLAKE2b-256 0b515c5a011ea5364dad2605398399574c3b4e9ba4357d245aa7827397be4216

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2fb5a557137c31949c43f7244b26345cf3d428993f06d71076fd95a82b1f387
MD5 effb465c1ced00a577df97faa31f97ff
BLAKE2b-256 73d65e4eb27a3b2c728621d24b744749a3f727a320367c48c68f40c886ee6240

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a6006a61309db989b0243cc0fb0ccfa476142efd583a513bd5575c138fd983a
MD5 81d2e201f770af782e4e6716bfe3e1e1
BLAKE2b-256 98cb964aa49bd3c239d2f262742a1fb8a2192e1b9ba6e0af80b3ac4b0ef5cae8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0d4afa6bd0fa1f1f9802674208515bf9eaa786a7e151bf4f8380563e49f43cf5
MD5 08a9df1734e899b903ce7b74e65a69dd
BLAKE2b-256 7cbba9a7616158a56830467b1793911225a063b2171c248f279d5f87adcac4bd

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5268d2f2b127c5c2cd051790e28d43ae28c8e8469569f2af098c426e4e5f3576
MD5 a499df9ef7bfe3af243d9af65db73dc2
BLAKE2b-256 2d2170ec634e55bfb1eea762ab69810f60530b22f1f545608c139c41bcc4138d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 66e5ccc65b124b504282ce0738d4b95a88e4bfbb610cdfa92e708d3fc6369da0
MD5 dd86ce24c49a8db69a72c07d12f1402d
BLAKE2b-256 fcb1e76f938649fec8b692a37d12584a6efbb564e3097e1dcd0a6726e52b5a7a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 93467ad75bf6a671edfc99a229f5365b55acbdcc6d09d6c8b67825db703d1a3c
MD5 e00b3db4826ac46c2d690515022cfc3e
BLAKE2b-256 01b30e8af2041dce0ea74d5d06a46be9349cc6915bfa6beadac388c5e0c39305

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 578eaa3851c88e3a24cb6b8220db4da25ccefbc5f1b032acba5d3d6be3742f6e
MD5 be43fc02d67b18c203f8f7aa505bad23
BLAKE2b-256 6c2ead008d404804679488294c4ba0c922cb1a529cfbcc164e00bdde98b2a8c5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b64fcbdcbb064cd172211c5ac414b6745ef62a9f2df44792db6ae44d3ba1b81
MD5 dceaa3875a8121fb5634ebf3939bbb7b
BLAKE2b-256 a614bfcffd04d9026fe434c4dfe49a84a937aad1e5b2a1fb89e7f2d6c144e6c0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 553b304ed649835be24bfd3b366a93ee22dc7a53e8fb0caf8887c5338c5d5599
MD5 2d8c897b0051d1d0b50fbc1db7cd337b
BLAKE2b-256 8a3dc59dcb4b54f63ac75203e945e0697b190d884a987d9c4be632f61defd37d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b8ad3b4f79d3d9d9b46858832ad75e127ad7e6b8bb2d480549dc929e66476e2c
MD5 f8ad681d0b47009436209178ef3b4189
BLAKE2b-256 96208f99a9c613cb396e81775eb8657a4f98231f78dbf888022060f390911df6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-4.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 820cd0f042941c81fa5bc631770e92f8cbc322a5db374531df3680bb024e2d92
MD5 1f29222c3172d81d4770f645773470c8
BLAKE2b-256 30bf4ec750bc2ddbb4d05061e91001a6c600956d5a62fd40cf1563cf75d149c4

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