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

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 https://pglast.readthedocs.io/en/v5

Changes

Version 5

5.0 (2023-02-19)

  • No changes

5.0.dev1 (2023-02-11)

Breaking changes
  • Change the type of the ast.Float value from Decimal to str

    Using a Decimal implies potential differences in the representation of floating numbers, and already caused issues (#91 and #100) in the past, making it impossible to render, say, SELECT 0.0e1, due to the fact that Decimal('0.0e1') resolves to Decimal('0').

5.0.dev0 (2022-12-19)

  • No visible changes with respect to v4, apart from the support for new/revised syntaxes of PostgreSQL 15

Breaking changes
  • Target PostgreSQL 15, thanks to libpg_query 15-4.0.0

Version 4

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


Download files

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

Source Distribution

pglast-5.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pglast-5.0-cp311-cp311-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.1+ i686

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

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

pglast-5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pglast-5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pglast-5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view details)

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

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pglast-5.0-cp310-cp310-musllinux_1_1_i686.whl (5.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

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

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

pglast-5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pglast-5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pglast-5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view details)

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

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

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pglast-5.0-cp39-cp39-musllinux_1_1_i686.whl (5.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

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

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

pglast-5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pglast-5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

pglast-5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view details)

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

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

Uploaded CPython 3.9macOS 10.9+ x86-64

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

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.8musllinux: musl 1.1+ i686

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

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

pglast-5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pglast-5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

pglast-5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view details)

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

pglast-5.0-cp38-cp38-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pglast-5.0-cp37-cp37m-musllinux_1_1_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

pglast-5.0-cp37-cp37m-musllinux_1_1_i686.whl (4.8 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

pglast-5.0-cp37-cp37m-musllinux_1_1_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

pglast-5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pglast-5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

pglast-5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.4 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

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

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pglast-5.0.tar.gz
Algorithm Hash digest
SHA256 6d1fdee69642ae730252df7312ccc8d1a565a9ecd3cf04770c87695efffaa863
MD5 675740271184ee49e05c393c135b8b2e
BLAKE2b-256 266bac0de72294f47a06ad62854dfa7d55d9c234a43e1cbd7b48379c899052eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6ab5c0e7062e190c865e88802f2de70d5eb23e981de1f460aa047256eca24d02
MD5 fdaf2d6eee8a2d00f267bfa9a84ea8df
BLAKE2b-256 ec927fcb68a6a3fc40be280d9a7c3918eaca632bf8f97b2763ee34b9db16f221

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp311-cp311-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.11, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b4889af7210e155e73cba0b7dcf145e41c2d391cbb91fa1e86c19107715ea599
MD5 a8c6274d52aa18deb37fa70e7442ef11
BLAKE2b-256 61dd42d7b19daddedb4aba709843d2bc564b17cefffd151c594310f0f3fde131

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ff279c18962335b7251bec624574e6fd3027ec9f1dfe8ded332ebcca30ddba12
MD5 26b86362b32c432bfadbb385869dcb0d
BLAKE2b-256 97cf8edd7d3f43398e83698ee29729bd450a11d6c44bc7228f32dca78e62c7ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e627a1a6e645cf2103443e38def3766960fa64ad616478563f1ac9c0ba173fe
MD5 9b8d28c67f4f3d563c3728d79dd6c13a
BLAKE2b-256 f4b21bc1e5442451103a977a9c596cbabedad609fe06d35129b9dbf2ac3fe038

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ab5288780bd250a9679e56e1412b22229e7a68704904a373dab8c1d9c439a50
MD5 3187cadbe3f2d97b3b9ad9b4e370a146
BLAKE2b-256 616f5b15bb5a48a1c8ac3cb71bb27c714d1ebd360ca943fd0bbe98a0dfb36349

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eb6ca68ed7825b1a926a93f8e00e7531161a516010042069937bd6694be394b1
MD5 70682a669ef117785b032790dad13744
BLAKE2b-256 497df0d1a68f825e82a9e6a1513b4a49a70fb4b018e9be9b8e87007ad8216d23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 67ea917e002df2c170792cc1c95bc090a7306c535f7333897b428b437eaabf62
MD5 d7b486a0a7214c4ab969cd83d3787244
BLAKE2b-256 3fe147836b07c3c6e8d39434ca256f2ec595fb160f6b41e0bc5c9f4a732edcc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5d45c2ad0bf4aae6e1953ceb204bb2aaad989dfba0c47805c6e5f6cc6b8bb1fa
MD5 030f16ec6a4e49d3a4868957d624be42
BLAKE2b-256 6d3d3cfe59f642d1a0fbe173490e72f2994ed7d3f5ba2e45d95937ea42264c93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp310-cp310-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.10, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 5ee0cd4f1bd88476a59bb6fec65f400279682acd7f5c67674165a38df3cd008c
MD5 c4513330810779061b9fbcfaf6b1e094
BLAKE2b-256 4f6816640f258dd226cdb98de08c4e142846c88e2e7caffab843c304b8c70890

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 dbd2f22e3eab52b8531374ec97cab0d0487b854a0667d00360751673515b9ad7
MD5 98b15a6c7550a0ab3a48acfbdaa7646e
BLAKE2b-256 8c669371fdee663bf80e11e43746186d3b7520718eb0dc3856e65de2576ee537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d35bcdf868eb223320228586381e39a8998b4162271ac73380a959e54a671fab
MD5 ef5eb183d52d355388c74a4ec087e289
BLAKE2b-256 7ef55088221c6314b7a0f5012bf932f93c7bf90f6b2d4f3634c15c2afac73a99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ace601e8117be9d4e1194495e8d2a519a947301c712179c58a2ce154f9ac4f71
MD5 b098552d7509dcf39822ef90622821f9
BLAKE2b-256 a7572433c4ed0e197f4062388d62c38f44b8627b12ac8a6736bdb0db093ba409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d7991e5b62b2c062c910e7c85739a5cb45ead902e5a9b05e932cf1202d8e21e4
MD5 2ade613cb44fc5f50c19987394bf395f
BLAKE2b-256 60a6678f390ba2d7a5467638ba286eb33ffdae9f056c431aed6fba34914fe021

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b7f8efa81eb2fb25b2f24110a7357367a42beafa59ea7649dce5fbf3a263aea6
MD5 8314d413f2462a561b1d2c9e099628cb
BLAKE2b-256 6a2a713589eeef57d01ae00eee9d72e4f24e3c26a586a514d8b51ca9a94748ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp39-cp39-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e3ffcb7fed6fea38f85fcd5da5adb75707132533dbfe2cd1cb56ede865115872
MD5 ed12b062b0c40fa882bda40027db0dff
BLAKE2b-256 f7e518c31e95a199334f7104b25a73d08ff14a940798b0306d6dbf4dd466bdc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.9, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 161b4cee4392ca37ec3de3e4bb189bc1e101ad049abb217a28ec1dc4879fd510
MD5 d754921a2ca9490d9b383653407e3fc9
BLAKE2b-256 2611fafa2008935d446eb8c87075b47372d123b4f7c04e95eaa1d7de81bd861f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 091dd4746a859b6d1d039abaabe39fdae491bc75638abb021afaafd04668ff73
MD5 51d314e90c192adf9ae68cc63b174fef
BLAKE2b-256 16d0228f366aa018fc9d8e22c9ec6d6409802af0c564ae6537971d1b11ac470e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f97c97b93fe67ea16770271d045fe647402972f0f075313402bcb8dca3ec4d95
MD5 4a477e505d5efb0bb65103d024660970
BLAKE2b-256 6c94f77f4298913b735997c61154d637fb6f7fc4a2af884f9349a5cb00acba03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 080d1720bbe24a277cad052893e1b457a623dbbfb7fce442eb20846305435993
MD5 1b0d8c3ffe8ddd6f09d7a43c5252cd96
BLAKE2b-256 344fb60c517574ce22a23de0379460a36628aa0e68bdd27f2ca2d78007053544

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ab6963a10de0b43fba58ba5545eecedcc8f297665ebf0d15353ad95cc2afd129
MD5 3fa9f7d12c0f28d6e98c62183ffe20cb
BLAKE2b-256 20b3a82e6150a58b79b6273beae6b9df0840e3cce1ce629bd73500d2cbb50fb7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ffd66c504e94f8e205c6920fbcc6b74caaec215b8dca6a952bbd605ae07a1347
MD5 82118befa53b290eec8bb711f5f37ab4
BLAKE2b-256 adbc0f72b3a5240f8dcbdcb7bffef1f8ad485203076adb36df0367b485bf9150

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp38-cp38-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e59c9338bb59dbc7ba1415f469cba20736dcfc361a7946c8c4b762c30361d2ea
MD5 ce2e4147154e6e06f1606ca1024cac8f
BLAKE2b-256 c0186977feed0334496faa2efe92c37fe7e92b15da7b9401997beb1e6b01d23e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.8, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 441e99e8fc32ab860b88e2ed96bf7f5ddaa2d0f07b19ba6c244fb3e811e4d295
MD5 f9f55d2130f39e335654446ac49fa3f2
BLAKE2b-256 0e3754e6956c7a240f8329a64178c2302511785de3c544c76dade5e06bc7ab5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ec931ce945928b98ae013202eb04367694c24e9fe0c8dbda2941ba88eff5081f
MD5 c9cd992d6cb9163e3b299549531e31bf
BLAKE2b-256 85b2d999e9ed31eac52925d538cdb9ae4c2d4dab9ac6d0a919b51f6b207e2154

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2f63ea735dfc6920fb574854924cdf592779c2d1948ae55fabe698127cce100
MD5 d7861b3d48c87cc164689bee2b534beb
BLAKE2b-256 4359cce51f4eac86df14d6863015262edbb38244d208fc70d997c70d157ded10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc9281d565a2c38ba20655efa459c8ffc5c9d61a46639a33625fe9c03e414bb4
MD5 3b1c9b5ec1944c767c6bff9f8154e3c2
BLAKE2b-256 6ca5265953011170cf77cae54fcc9aac687c8d4f3eeab8309b74b45d3f0a357e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 34afac0e4c049f0b40fb4282c74db7468439c93f800295555e8f9fd86d3dc154
MD5 027311132cfc6810684f2aeac1149d6f
BLAKE2b-256 c7876ad03eff21142eaae68fcd84c66233e67c68b46ae3c306a02c08bc33bacb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bea6dc191f0234747b3d05bc5cfdb449ce4b7d626b22a2f4d668bc7cf8049373
MD5 41a17320ce37cf77de84396f8ce0b99a
BLAKE2b-256 dd23d339f3a2d17f79bc12e62c5ac2d8340c7fff6c67fb31a17c3e0698f15cb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ce7ac49625553c78b3345a21e29d8e22d968373a23d8f4477e2f2df9ba1035a0
MD5 5a35d23cbe731fd372a4a63570c90f2a
BLAKE2b-256 020250967da884c2fbb880167fd2e9f3bb13633f889fa8ebb6f7f7b111c33cc4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.0-cp37-cp37m-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for pglast-5.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 557aa06283db971a46085009b47b4f9b28546d0f0f1071b1fb3d5b54e0b16237
MD5 cd26ead40deac70683f3f5e60aa8f109
BLAKE2b-256 236495422954bca7aff794e1fc675a8ff37947d7e2a2f7b95cd97788e4bef7de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 43429e86770c9f1afbca6c44dbe8ece2ca1540047bff30ca268e696f57ced329
MD5 809d431978031fcf26695326ad634271
BLAKE2b-256 d7cc73f12d98560135f9b74e09834ad6ba9fbc69907669d527adacf93bfedfc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dca1d31803eb64238bdd350d3fdcce6157c44b792142e804b853b94ca36f0e61
MD5 2a5147d5820700a14f6ddc5a2f1248d0
BLAKE2b-256 188964af80f8599ff18690527fce09ddeeadc09d2c4f40cb33236ce721907c4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6b566f0ad6d775611482fcb383d1e917bbfcd9aba00e714176c0f21390b7c3bd
MD5 027044d228e8fc9296153edce0939020
BLAKE2b-256 3411fde7d8cb173f59d7792cdcd394433e484eb72c129cfd76ba2772d7b53c6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7402f7e030749d1474eed35b1f5c62b401574ded56da382461ff3cbaf30d2d73
MD5 22a971ed5e7e348b700b82d423d7563b
BLAKE2b-256 aa7f14a72cc4462c67677c58beab9de35eae9ae06a487418132140ae94162506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d58220681fe5c5c464547afd4fb6770667b5aa0e2960a6e80a7d7945f4b1919e
MD5 ae5894dd622d293dab406ca3a7ec0f81
BLAKE2b-256 92f81f4f584a375bb2a364c3c6b53a5f3ecde22d69242be828397abef30db88e

See more details on using hashes here.

Supported by

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