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.2 (2023-05-20)

5.1 (2023-02-28)

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


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.2.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.2-cp311-cp311-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.1+ i686

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

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

pglast-5.2-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.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pglast-5.2-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.2-cp311-cp311-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ i686

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

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

pglast-5.2-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.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.9musllinux: musl 1.1+ i686

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

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

pglast-5.2-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.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9macOS 10.9+ x86-64

pglast-5.2-cp38-cp38-musllinux_1_1_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.8musllinux: musl 1.1+ i686

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

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

pglast-5.2-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.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8macOS 10.9+ x86-64

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

pglast-5.2-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.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

pglast-5.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: pglast-5.2.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.2.tar.gz
Algorithm Hash digest
SHA256 ce3eff5861022f93aee05d85745680dccf45f7611365b8445db649eb6f20834a
MD5 310b7e67aadb1ceaae9bf672ea3178f5
BLAKE2b-256 2116aa61b70559747030cdb9534ff3816cd275d76d48c07d3cdb4b0490297626

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f023cc8a78602304ddbc5fe9ecdec08ac21addead83b1c90860199b40ca4989c
MD5 38a8c96f96ca75b5f91a8a3743f1377a
BLAKE2b-256 a8301156facc046a5ad335d9fe0c59f64cb4e672a6921566c83f5d99634cee19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-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.3

File hashes

Hashes for pglast-5.2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4421a0291fb42802dd6d00931accd5ee4cfa1e5f2ae2cbd594820a56b6d281e9
MD5 09ce9bb207dbddb6df1a9d354c61b3b6
BLAKE2b-256 930b776f2251fb20cd9286b739cb6f27aeb1e910b725bdea0c5f790a598a7c48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 06c02147a11e50b57b16e7c5ce372c9587f064d353002dfbf17a2e5b1f32e635
MD5 749e3d0e0ca66897cf7a127dab0851dc
BLAKE2b-256 07f05b1ac912f97eb8d13cc0b376de6b94d0feb8be22a050abb12eb9ee9470cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ac0e3ce49938e836282a818cef30a4b3896920f74faa15b84371e6c83e2c9a9
MD5 bb2e7e0b9b1ff04043580c84423856f1
BLAKE2b-256 ed07cdcb91956752d13071567775df4388f886e224de28aa466e5d54480bfacb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8e78503c850773a595d6608f74e0c9051e30a7222ba507454823c4a02bad938
MD5 c761cccd03e534e9adc3594dba64d98a
BLAKE2b-256 b182fb368efb03a75fc9c5f0c8714b2e0f1ddd1917a5920e18506c50ba937fd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5c260108a6b2265d5c170e9b85835fa52bdf4685d5520f6ffcdf9b7a60af7553
MD5 de04a74e842e589e5cc92cc4ad817f87
BLAKE2b-256 9f1a3aecae508698d60f12c5c01c62a99c488759248868d49f47dede2e861d3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c299cc63ebc4d2ffd9d4dbbf0ad35b19ea57330891ccfd840d293a52ef3aa4cd
MD5 ae2d810166e9d1ccf5d52d4f21cdbec3
BLAKE2b-256 c81f27f1633abdbc27a19ac34d5a23f2b82a72603fe0d6992c0218234cb313da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 05cc82b48ed8cdeba904b8a36962c19037b67236130ad687da6624a0e8987390
MD5 10459f6e7e212477ee2aa121a0325380
BLAKE2b-256 09bea4cd99692a78cb2a3d20ca14a8661f58a6f56e4959336c73a75b2dd3646b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-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.3

File hashes

Hashes for pglast-5.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 294fe466a012810531415739c6c87f8dbf24893a3b9768b85fdeee275f4cf7f1
MD5 5a46d1059a16c47b9b186338aef81645
BLAKE2b-256 7e37e067a127e41d43105028d8f528a5b325d6993aeaad371e59d958b8290c2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4ab53beb7a1a2070a0bfad76725975fce83d30cefe8aaf97b4635ce54f727041
MD5 001d6fe4cfadef593020090f70194748
BLAKE2b-256 1ba5b842194862ad2e6883f0838da439c389ac94b1fe4a8e762b9bd2a56d043f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb43849a5a41842463db24f9812b00523b6c77ae0af7288118b45f0be21743b2
MD5 d41020a1ea806175d5102f697edf218e
BLAKE2b-256 0c8535a186a41bc1a88b9f8cc9e7cbf096e3b1f1320d2a41a9bf7f3ee53bb4e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cfc78ab37dd6bf322b3fa2e47a96c3f2ea4661c667d431e2cf2393a1c67b1701
MD5 9dea2213cc388cd35520e4d014f46fe5
BLAKE2b-256 34464e5323f6ca8b9083f5381e72980e51de7bc8b1f2665542aa4187044554a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 86d80146551450624f71467ced13563d5f141df7aecba8169b0a31b590062479
MD5 0488339beebfe04c519446a62a115010
BLAKE2b-256 458c0a21038eaf6d81a8f8f48eb7c70cde9446e92fe894a160a716930e6b559c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 24d8d1f6d69dad039921f85f4c2f188de9dbfedfdeac6a629715df2df6f2e66a
MD5 99274cd5cf204bce414630e8279dd6bb
BLAKE2b-256 e1b65e3b903711cfe9dca1a22a267ff7d1803f7b1ea1e518617953f2e2e7115a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-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.3

File hashes

Hashes for pglast-5.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7ff631a9e46db2643afdc64a47a0eb0898d5a608b7264fceb6ed71a3e3b98376
MD5 9fa288bcb5fd76ed529c5e9371a8fce8
BLAKE2b-256 308301d6e2fcd6002d306c2c253e4392b58c172094d90e07c525085db51bc2d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-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.3

File hashes

Hashes for pglast-5.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8abeb1be8548be99b82be5c4346f299968b32c35c7dee35528afe088462131f0
MD5 28ba8753978e6fe84368ccc92df22f6c
BLAKE2b-256 48bf2bb085ff4d2d5850d4ff03ccc0c60ecbb697e166568de8367af07302ba5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 27bf51789122df231248cc4a853a751940baeb0dad502bb946ff356b0bcb8dfa
MD5 f5850c04f0c57adcb7b9a945083ff6ed
BLAKE2b-256 c570db7dadd7a99520f8abba7040a9465c08486041b828c3ac52866c55100342

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e66c4328435f5230738bb180a34637e5ac23a922e66a1850f8aed4bb5a31cbf
MD5 ae95dd2758b7cd945cfaa8850822f827
BLAKE2b-256 1af96b37f38de9b9fccb5e3fdfbb86be6f1d3f8860a0588c8003a039d3b8d2a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0ea33ccf8926ced92d60280719ce269f5a40b512b3cd425a847d722b1ff4f1b8
MD5 4854812f9019d574d1122e292e55e337
BLAKE2b-256 f4137b6af86d22d72b5667dd110328b9a1488fae6d9bd6eaaf62133f4eced209

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 352fb1eca3949e0ae5cd23d5c903e3d5f827f2795738229b907ae1b6d2d76168
MD5 3a1f2d0b3cfb8be7d73c1e04a74dfcd9
BLAKE2b-256 dc210d822003b79d410a553374f97584cac14e8edd52ad4155894e98c227d5e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-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.3

File hashes

Hashes for pglast-5.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cc5656f649f8a4893fc0e6794f469246d8b942861ef307466553f471beb1159c
MD5 aa4f765e712e1437780d5c715764aa8b
BLAKE2b-256 9fe332cd315eeb3b96dec39e9053c0f6ad48983cd4dbad2bcd8cc0ed98ca80e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-cp38-cp38-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 5.4 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.3

File hashes

Hashes for pglast-5.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f06e9224e131a7992887af584c83d5bcc64e0dad48343b42a41077b83fb50f53
MD5 1d6aa9628c7943d2aa5f509458cbe01c
BLAKE2b-256 f0041cede305c32a928b7f004cfdac3a1979319e397e6b414ccad026c745f838

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pglast-5.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 127d6020a624b2496e278ef0b2d30dedcf419ef72f2083dc30d3af8ac5db4c97
MD5 b54a0d27efa10c15525ee5f90600efbc
BLAKE2b-256 e77b5dd236edb853f30e4c004b6670489f6b04f82d3dba507923aebfcfbc7591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7d71c14131ba998a5aaf8f01fda6718292976fe2436181a75fbc0f12aadabf0f
MD5 c697a57c01ed6bcdd88f98f77d2bd54e
BLAKE2b-256 81511271e33224cc839445150f898a58afa433ef39dd8be8d097dbc2eaf5931c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b18ce9c58ba416c5238a40daffe9c760786a51c2a9de8b410424c76166a5493
MD5 6a4a6fb3f4c5a389ff5ff051b0bad72b
BLAKE2b-256 07d741de8107f8ad1ade886467106f5df35ff2493acd27caf9833b8c43ee11d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7e4252a175b34c2dbac0c4e6f3a4217ba35060c8ca0ba13d2f961cfb9bb3458d
MD5 c437abe42acc302e2353e59ce977e890
BLAKE2b-256 a407d680761f7942c3a5f5ac53c15aa15d6d82ec4a1f3b68ab2fb3717edd5b0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b0805b3587daa393b37a4970e83a3208b3f1435d2aa09c34e988adee6687a28
MD5 84d3d60b8b6c6d2faa7bb471e11e126a
BLAKE2b-256 b8e18910bc1a68ff21c381f2d4bcf9b4ea688270ba4b66e9066b2e23ca189003

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pglast-5.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 54cd6e4af10b856fc34f51788de6a617641a3e63f5422fbf2638b0dd83bdcfa7
MD5 1b6d286b36ab07929007e58b1be0d5d7
BLAKE2b-256 f51a8302e180fdd297345f573cf2a25378aa0dbdc3b9836fe99f9e054583f585

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b7e41f777bf379d307f407be1fb88ba49c6296c755841882c1918da017138d6f
MD5 18aff6a6da775dc59624cf3a50517a46
BLAKE2b-256 b2f4342d3e0e68f0f6c17ab39da3c0d93d4f7f45eee8d57c38240420dc017985

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.2-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.3

File hashes

Hashes for pglast-5.2-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 206b34d0d18f51c0c517cef422cb661efd7877add9f5cd77de43554ada4c35de
MD5 f44726590f253ba4276a37eccb80e6e2
BLAKE2b-256 680e3fefb0a058477b7f7676d099b501687f314c4d763f36e5bc3f13c1991609

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2e6227a1c549ca99871b416f40902630871d13891f558b3d813d4dec611d2c9f
MD5 74b9b45936f15b1c3d49fc7cdb3f83b5
BLAKE2b-256 9c421f6393b3243916a205c1634df2d8d9e521459c347c1fcc974aac9bb28aae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94f6dfe78f761980c0fdca1bc5caa2b06222c56bcbe48158172b0cb601ec5802
MD5 3ec13fc766e7a8ee5c5006c670f7505c
BLAKE2b-256 d5fe66c06e20b34371c11b68c86b8b6ecd51d0b206844b24c275adb6674b83b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1f76aeaaa64c84c65561fc2cb22caaec3cd56a2cea024fa0f843565429b742a
MD5 83ddffa6370f3df77218dfe8eb9ed563
BLAKE2b-256 38292c7f7abb92f1f75e4170052f2ca6cd7df46e000e3212d030096be615c425

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8af993b56a313c65b82ff2920c40960d59c0678468c07bf26cf02427d35cd9d1
MD5 c27bc173280e3d2b99c557c890543620
BLAKE2b-256 dc2d57c0cfd2ce9e607d1a76eee2c6149181f501a83063397872851f75b8b686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 57ea6f1b342ced698e53d83aadaddf9898f6720a821d74fa22d1e2208342f991
MD5 0ef03ff016005a2241cd7a5fef31bfb5
BLAKE2b-256 d69a9f166dcb4ed5a74f699778110120362d275061abe4db9840eb757e5634f7

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