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

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.1+ i686

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

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ i686

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

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.9musllinux: musl 1.1+ i686

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

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9macOS 10.9+ x86-64

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

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.8musllinux: musl 1.1+ i686

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

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8macOS 10.9+ x86-64

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

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

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

pglast-5.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: pglast-5.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7c75895a0cbf55e9f99b609ff35ac6fd92a61455a22c9b083d5c457beaebfa6b
MD5 06ea31c8dcfd9b381c26b64878c5a758
BLAKE2b-256 7e4cb3b6d66d1eddcd04adb39f4a0cede4c6c943f4036e970bcacea960325583

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9fbf07170a878d1402fc1a4fa3a8320aea82afa9e837bc1128a3997e928a1cdc
MD5 b73520a18819511a568d0e2bb4428cd9
BLAKE2b-256 3d04bb8be0ae2af42f8445b06c4ca76787864d606bd89f2ed8b62d5cdce01fc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c859f5ca03db805b7f25aee2a4a5f5ee98b7da4f1412291f03d30f072d1a64ca
MD5 fda95ad8c51565154bffc9f697cf5080
BLAKE2b-256 46e56f975bec854a030a06dcba65c660d3ae1ca2f950c37a459e9b751829b068

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4c175a52f7417ada6d7f408af99d850d4b3c2c2bfbd238b3d5e23f2c97ad92a5
MD5 467ea65f53d11640c31e64619c0c0172
BLAKE2b-256 43e200579f1a0f8bee43f29ea01ae14df8e10756d2a54aa6d231bd8e195f1501

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c561600f75aad43a8983a90899a147f1aa2d4ac754d63485338893acaf394ea
MD5 cd4ae4e65d5d0c4f167f42f35f139937
BLAKE2b-256 bc89117f2f15a3ac114124532a5b574243394d35d8d248059b9f7fba1c46bcb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6022647f62d4d2d46a16f79b996e5d0681ecd52f675be489b011e2289961f43d
MD5 f4a5be644478e69340a8092fac7ff67d
BLAKE2b-256 01158d8f6966f5690d7b23d39c2de0b9b022e34aa68849bd6e59e5a3fb97f5e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fbe49601660a51d3f4e2c895119fcf259c1e70d4f36c3f8494a5033d83253079
MD5 cd142987ffb88d102d1e47d2f213f66c
BLAKE2b-256 8b78c18cdca92fefdfb9390c90eb6b138b6d3a961c35bcd2e756121b971f7c12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f1283435737a6dd4eff5bfbe84f3816dae164a77abbff209cc02533818ae567b
MD5 59c32449976dc9ce711a6b3f84b0461a
BLAKE2b-256 37c6ccb85744111010922b4e1a69e1c5a0cae6aa5937692c67dead41abaf4168

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 abe7c59ef8f31891b41ea35fa12aa6196ed10416e8d5137b616657bfd8841a48
MD5 37ddca50e1d63e356ea93429f6d0b2c4
BLAKE2b-256 ca878a128524791f5a2b81f9c2377deb45a7e964cbac473fcf00d418dc787731

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a65006e5e0b17115205e0821e2737db940c49cedecef4dad5ef1142b618841bf
MD5 259506752f0f2220fe8c603f298faf2e
BLAKE2b-256 eda926c2ca64f19559a36876332ec248cfd7d1161f5dc9024db6e06a67ba063d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 06280d7f2cd4eac7961bd3b08a79ac1795089fe740d1bfd14f352333f7208fc3
MD5 c2d50d431a9d9f00d8adc9eeacc58c08
BLAKE2b-256 9cc2bb45511e3a6aa1be27b3661166fe6b758c6ef341e30f455064b75a4d2b51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8846e0f7dac473bd78e79fe46f0ea6693f7b653b7e0a2454a5685925df362233
MD5 bb91743b7ca8119cbb62f3506ee630bc
BLAKE2b-256 0e5bdded7c91f504230cc1fe738beb42cdc815c0a0262e426e390ed3700bf0b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0684e9ec4dbfa2d0f5b34dd0b9fa018a196cf5aa1bf47a89adc0de9c7f645aba
MD5 20d5b1793ccc488d99fc4f8d091a71d9
BLAKE2b-256 4de75d7be3227c038554642eef3ab699ee39c410bbf7f1060b6a3eda7bb640fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dc5e915d22885fd9d9ab61738f75aa1220f48a588d97727377b87a821ea44d3a
MD5 42ce805513e8adf9296e40ca29df5fc0
BLAKE2b-256 5ba7b9afd5a5040d5c15399c77557445cd75ada42a657647a567d292624287cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f3d730d2977d2a1674312028764ce942de7437cc5a8395f02971169071ada44f
MD5 852f911347a015a988e967bcda9c91e9
BLAKE2b-256 3e531b6648c814d2b6b9c43b9012a5475aaa34c7d0fe7d2b5d47961ba5a51361

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9295f401c813c9fa19420ea365a58ef6c7da3ccb6e3794d0dfb672207bac7782
MD5 af4426822221295645a5291887e2412b
BLAKE2b-256 4785038c2da7fae1fc091418b41985b95e21519a753e8913ae1f25f261d4d68f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 644b4ff9a3b9966ee136e87c73531282ae0c63daa441140692452417ce12d0bc
MD5 cd156f89dbcf50ad0b2d66b3305c3b39
BLAKE2b-256 38b23ed74fc09aa0ec71738ba9b1c48805a6bc6851017c7bf38fc2e8e1d1715f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f476988959d3ae36161b5a9097e18b611af194d2c173d7b572a2fbda34fe6633
MD5 d701e849c763daa51c883047dbe81519
BLAKE2b-256 5e89a7263dd6b86287e185c84dd00fbc531f868cbdd9ab2f027de3eabf8a2944

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b28f9e6381b3b6ef2a60941555eac72fb2eda63011c7309df4744a7318b7ca38
MD5 b27e71918fde9b0f13eef384acfbca71
BLAKE2b-256 9cc696bdf8ad5b44d1a8fafccc40b385aa8b6373d50d5c0b54c7975044759fea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f40ee6f82d24e5a2218ff4c051249d5e9bfb6ac55da9e7665e43375905380068
MD5 bcc35b9604404d52b6ff69e5614f5444
BLAKE2b-256 0be7b15528ffb5bb8a5323e954900bddd0f1cf9b9ff24a0c4120a382aad47194

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d7d32e05470c987a2d9312a00a63cee4eb6a9db98fcf1491164f918fd8d0e8cd
MD5 3e59bc883717325d5efcb5e78323d76a
BLAKE2b-256 6f00f20d37778c04efc54cbd078a8b191322e53c95ee0a0b46d1f015ad436052

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c0abf3ab88da11d4603028e46a4304f066c34dd8502fb537db8be2756d7e51b9
MD5 985d627249af43d122684f1cb903f401
BLAKE2b-256 732511bdc6e31680d0ba4a852d27acaf237dcfb8468f54afb3a2cc474b79aa78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dccd372d6a568bd19b358bdda735a401f9e898236df0fdda364a0b6a37d99829
MD5 b5ed7143d3d63ef9ad5e6aa133d32a3b
BLAKE2b-256 6383e0aaab6de9e63c4455eb261f9703a6846bf9ea9b8559ef2748b0325c5805

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.2

File hashes

Hashes for pglast-5.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8b8f4c354e042de7f01ef4040cb198109730d074c79e19ee4a6aa8be9416236e
MD5 90bc053f56bc21dbc73d586e4fcf6bbf
BLAKE2b-256 956babd62338920290512d97c8ce4245fd5bf4e6a749a89eeedb5c6c76973878

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 dfa33271eae8ee04beb5a7bfdec4bd846c7d713d729c402e0ed89bf2653ef6b4
MD5 a54f9338599eee38098082eb56424e27
BLAKE2b-256 bb0139932eb9cf5a8bdf101cffd8bcb16650e43533c279dd9fd8032338413f6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c260ce47208ef80a20a02e184097b355c60b30b84683ea555eb3b9e5b4f9ab90
MD5 abccdbd01fb2fb24421ab52cd9a0c062
BLAKE2b-256 227a6e25ca3a7bb1d9719907e9d16ee85025ece235a6f923c0876e0671e68671

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ab4ce3df372ef4f14d1e75164d9db9b5e47e28096bdbb196821ae2ab50319397
MD5 f9b531fa85e29b695a3b0e39f129b240
BLAKE2b-256 b1425ef19f277a630f28b0cbba343368281db727df7e24f14ddd7b453d9ea435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8cca87fc3767c3df12c3beb2d051e6fb827000e8274aa7f4ddd04fccdb724ef1
MD5 3bc1330624512dc3c44739e07d6f022a
BLAKE2b-256 d0412b863bce0d28f25e51acf18f0f7cadc926377a85ffcacee594418a085739

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.2

File hashes

Hashes for pglast-5.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 269be9a4d468da8a9c276a9247397942c5d6f85c91382813de3c2b2538c9711f
MD5 0752884f59ee9877777ffa6cb9ff1beb
BLAKE2b-256 f317d193801979c0b4bbc08f8c90c1b6392a46cd6d11efccfd6ad88904ba7ecf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ab0e6465ac66ce923b904484124399d6da70e9e95ab58da0bcbbb63a6e8c76ff
MD5 80c0995b7aabdf9819b1696e714494a3
BLAKE2b-256 d3665e88bbdf23d5dd19bbd350ddc0446055f9908ce94f407c7f5a3a21eb43c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pglast-5.1-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.1-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 9e89dee4b064869e40707fed968bcdce1cc50708e18db3fdf4bbf6e62b00eafb
MD5 bb62f9392facb89138a4fe1b1a72f2db
BLAKE2b-256 d5505295f647743b96248d3791a938fb3687c6f28286be8dd9dbee89d0e05c3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6fbd617fb0670767db3caa970d72c312d73746bc2d96bb333cdcb4de519f6b08
MD5 d5d7fc378d86b7c08328df00a1cb7cd3
BLAKE2b-256 72a252d20c2e3c57cf81e5d32f444f088f47088a1dd59d9f47ca88b090a9af22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01d2d5b39f5a6750571deff3009c65d794aa14aabda3debef9580f0ad8516cd6
MD5 7ceeae7e901067f7c9a8c5114230ed42
BLAKE2b-256 6959ce7db0182e00f73b3f7d398ed1a59a0d72c63e033c125657a6b61e1c159d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 27c0d77151c1c3df221e38ab42e02f96af5f33ea8d18f35e24929cfcfa68acff
MD5 828aeaa5144b4f01fbece6e5ab39e4ba
BLAKE2b-256 0b07c922e9f5a5701fedd540791ad73779e5b8e2a26a2c386a8a042211ffe535

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dc1e302987af272e719acb8fdb775a9d6f41e4870e557e1a4f6daac5e4f5b84c
MD5 3ce020b812abfb55553c86b7a71f58d5
BLAKE2b-256 7a9ea758d0969c6a3fdc54c612c7b9236b079b6988cae771fce451e2391a4707

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pglast-5.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f8c171cad0f7ab23b8d2780a465f41ec1b37dc7382d2674907ed992ce838ff9c
MD5 3dff00079852ed24b203b76f7a25c138
BLAKE2b-256 a6be1f24e2540f88c2bcabaddcd7e4ef3d081b92b0554fe2058199f558bd4ed9

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