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

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/v6

Changes

Version 6

6.0.dev2 (2024-01-21)

  • Enable compilation on Windows and produce related 32bit and 64bit wheels (issue #7)

6.0.dev1 (2024-01-11)

  • Re-enable Linux 32bit wheels, thanks to libpg_query to 16-5.1.0

6.0.dev0 (2023-12-29)

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

  • Do not build binary wheels for Python 3.8

  • Skip compilation on Linux 32bit (see this comment for details)

Breaking changes
  • Target PostgreSQL 16, thanks to libpg_query 16-5.0.0

Version 5

5.8 (2024-01-11)

  • Fix issue #142, a glitch that affected 32-bit systems

5.7 (2023-12-23)

5.6 (2023-12-07)

  • Fix issue #138, a defect that hindered the creation of AST nodes that act as markers, (currently A_Star and CheckPointStmt), that do not carry any other information

  • Use Cython 3.0.6

  • Handle the ENABLE TRIGGER ALL in AlterTableCmd

  • Fix issue #136, a regression introduced by “Avoid overly abundancy of parentheses in expressions”

5.5 (2023-10-07)

  • Use Cython 3.0.3

  • Produce wheels using final Python 3.12 release, thanks to cibuildwheel 2.16.2

5.4 (2023-08-24)

  • Improve documentation, adding parser.Displacements, parser.scan and parser.split examples (issue #128)

  • Fix issues #129 and #130 (merged from version 4.4)

5.3 (2023-08-05)

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.5 (unreleased)

4.4 (2023-08-24)

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.18 (2023-08-24)

  • Fix BooleanTest printer, enclosing expression within parens in more cases (issue #129)

  • Fix Constraint printer, avoiding repetition of “DEFERRABLE INITIALLY DEFERRED” on some kind of constraints (issue #130)

3.17 (2022-11-04)

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

3.16 (2022-11-03)

3.15 (2022-10-17)

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

3.14 (2022-08-08)

  • Harden the way Visitor handle modifications to the AST (issue #107)

3.13 (2022-06-29)

3.12 (2022-06-19)

  • Rewrite the implementation of the referenced_relations() function, that was flawed with regard to CTEs handling (issue #106), thanks to Michal Charemza for providing his own version

  • Improve WithClause printer indentation

  • Fix minor whitespace related issues in a few printer functions

3.11 (2022-05-29)

  • Fix the Visitor class, it was ignoring nodes nested in sub-lists

  • Reduce the size of the generated parser by factoring out common code into helper functions

3.10 (2022-05-11)

3.9 (2022-02-24)

  • Fix bug handling node containing a location field, e.g. CreateTableSpaceStmt (issue #98)

  • Properly handle dereferenced array expression (issue #99)

  • Avoid improper “floatification” of literal integers (issue #100)

3.8 (2021-12-28)

  • Fix glitch in the AST extractor tool (issue #97)

  • Add Linux AArch64 wheel build support (PR #95), thanks to odidev

  • Fix type mismatch when using --remove-pg_catalog-from-functions (PR #93), thanks to Boris Zentner

3.7 (2021-10-13)

3.6 (2021-10-09)

  • Use latest libpg_query, to fix an error parsing PLpgSQL statements (issue #88)

3.5 (2021-09-26)

  • Forward the special_functions option to substream, when concatenating items (issue #89)

  • Fix representation of floating point numbers without decimal digits (issue #91)

  • Produce Python 3.10 wheels, thanks to cibuildwheel 2.1.2

  • Update libpg_query to 13-2.0.7

  • New option --remove-pg_catalog-from-functions on the command line tool (PR #90), thanks to Boris Zentner

  • Implement more special functions (PR #92), thanks to Boris Zentner

3.4 (2021-08-21)

  • Fix another packaging issue, that prevented recompilation from the sdist .tar.gz (issue #86), thanks to Christopher Brichford

3.3 (2021-07-04)

3.2 (2021-06-25)

  • Effectively include libpg_query’s vendored sources (issue #82)

3.1 (2021-06-25)

  • Fix packaging glitch (issue #82)

  • Build wheels also for macOS

  • Update libpg_query to 13-2.0.5

3.0 (2021-06-04)

  • Fix glitch in the RawStream, avoiding spurious space after an open parenthesis

  • Improve the Visitor class, to make it easier altering the original tree

  • Properly handle nested lists in the serialization of AST Node

3.0.dev2 (2021-05-22)

  • Fix bug in CreateStmt printer (issue #79)

  • Make it possible to pass also concrete ast.Nodes to RawStream`

Breaking changes
  • To reduce confusion, the printer module has been removed: print-specific stuff is now directly exposed by the printers subpackage while serialization classes are now in the new stream module

  • The default value for the safety_belt option of the printify() function is now False

3.0.dev1 (2021-05-16)

  • Fix AT_SetIdentity, AT_EnableReplicaTrig and AlterSubscriptionStmt printers

  • Improve AlterTSConfigType and IntoClause printers

  • New generic “visitor pattern” (issue #51) exemplified by a new referenced_relations() function (issue #66)

  • Refine printing of SQL comments

  • Implement AlterExtensionStmt printer

3.0.dev0 (2021-05-03)

  • Expose the new pg_query_scan() function as parser.scan()

  • Expose the pg_query_parse() function as parser.parse_sql_json()

  • Expose the new pg_query_parse_protobuf() function as parser.parse_sql_protobuf()

  • Expose the new pg_query_deparse_protobuf() function as parser.deparse_protobuf()

  • Honor the catalogname of a RangeVar if present (issue #71)

  • Cover almost all SQL statements, testing against the whole PostgreSQL regression suite (issue #68, PR #72 and PR #77), thanks to Ronan Dunklau and Hong Cheng

  • New rudimentary support for the preserve comments feature (issue #23)

Breaking changes
  • Target PostgreSQL 13

  • The pglast.parser module exposes all libpg_query entry points, even the new pg_query_deparse_protobuf() function that is basically equivalent to RawStream-based printer

  • The split() function is now based on the lower level pg_query_split_with_xxx() functions

  • The parse_sql() function returns native Python objects, not a JSON string as before: all PG nodes are now represented by subclasses of pglast.ast.Node, without exception, even Expr and Value are there. The latter impacts on pglast.node.Scalar: for example it now may contains a ast.Integer instance instead of a Python int

  • The pgpp --parse-tree output is a pprint represention of the AST, not a JSON string as before

  • The ParseError exception does not expose the location as an instance member anymore, although its still there, as the second argument (ie .args[1]); furthermore, its value now corresponds to the index in the original Unicode string, instead of the offset in the UTF-8 representation passed to the underlying C function

Version 2

2.0.dev3 (2021-02-20)

  • Handle INCLUDE clause in IndexStmt (PR #67), thanks to Ronan Dunklau

2.0.dev2 (2020-10-24)

  • Merge new fingerprint functionality from v1 (i.e. master) branch

2.0.dev1 (2020-09-26)

  • Require Python 3.6 or greater

  • Handle ALTER TYPE .. RENAME VALUE in AlterEnumStmt (PR #52), thanks to Ronan Dunklau

  • Add support for Create / Alter / Drop PROCEDURE (PR #48), thanks to Ronan Dunklau

  • Use Ronan’s fork of libpg_query, targeting PostgreSQL 12.1 (PR #36)

  • Change get_postgresql_version() to return a (major, minor) tuple (issue #38)

  • Handle ALTER TABLE ... ALTER COLUMN ... SET STORAGE ...

  • Handle PG12 materialized CTEs (issue #57)

  • Support column numbers in ALTER INDEX (PR #58), thanks to Ronan Dunklau

  • Handle SET LOGGED and SET UNLOGGED in ALTER TABLE (PR #59), thanks to Ronan Dunklau

  • Handle ALTER TYPE ... RENAME (PR #62), , thanks to Ronan Dunklau

Version 1

1.18 (2021-06-01)

  • Fix exclusion constraint printer (issue #81)

1.17 (2021-02-20)

  • Fix the generic case in the RenameStmt printer

1.16 (2021-02-20)

  • Promote to the stable state

  • Move the job of building and uploading binary wheels from TravisCI to GitHub Actions

1.15 (2021-02-19)

  • Fix IF EXISTS variant of RenameStmt printer (PR #70), thanks to Jonathan Mortensen

  • Update libpg_query to 10-1.0.5

1.14 (2020-10-24)

  • Produce Python 3.9 wheels, thanks to cibuildwheel 1.6.3

  • Expose the libpg_query’s fingerprint functionality (PR #64), thanks to Yiming Wang

1.13 (2020-09-26)

  • Handle SELECT FROM foo

1.12 (2020-06-08)

  • Double quote column names in the TYPE_FUNC_NAME_KEYWORDS set (issue #55)

  • Possibly wrap SELECT in UNION/INTERSECT between parens, when needed (issue #55)

1.11 (2020-05-08)

  • Fix A_Expr printer, when lexpr is missing (PR #54), thanks to Aiham

  • Support DISABLE ROW LEVEL SECURITY in AlterTableCmd (PR #49), thanks to Ronan Dunklau

  • Implement CreateOpClassStmt printer (PR #47), thanks to Ronan Dunklau

1.10 (2020-01-25)

  • Fix collation name printer (PR #44), thanks to Ronan Dunklau

  • Implement CreatePLangStmt printer (PR #42), thanks to Bennie Swart

  • Fix privileges printer (PR #41), thanks to Bennie Swart

  • Handle TRUNCATE event in CreateTrigStmt printer (PR #40), thanks to Bennie Swart

  • Fix function body dollar quoting (PR #39), thanks to Bennie Swart

1.9 (2019-12-20)

  • Prettier INSERT representation

1.8 (2019-12-07)

  • Prettier CASE representation

  • New option to emit a semicolon after the last statement (issue #24)

1.7 (2019-12-01)

  • Implement NotifyStmt printer

  • Implement RuleStmt printer, thanks to Gavin M. Roy for his PR #28

  • Fix RenameStmt, properly handling object name

  • Produce Python 3.8 wheels, thanks to cibuildwheel 1.0.0

  • Support ALTER TABLE RENAME CONSTRAINT (PR #35), thanks to Ronan Dunklau

1.6 (2019-09-04)

  • Fix issue with boolean expressions precedence (issue #29)

  • Implement BitString printer

  • Support LEAKPROOF option (PR #31), thanks to Ronan Dunklau

  • Support DEFERRABLE INITIALLY DEFERRED option (PR #32), thanks to Ronan Dunklau

1.5 (2019-06-04)

  • Fix issue with RETURNS SETOF functions, a more general solution than the one proposed by Ronan Dunklau (PR #22)

  • Allow more than one empty line between statements (PR #26), thanks to apnewberry

1.4 (2019-04-06)

  • Fix wrap of trigger’s WHEN expression (issue #18)

  • Support for variadic functions (PR #19), thanks to Ronan Dunklau

  • Support ORDER / LIMIT / OFFSET for set operations (PR #20), thanks to Ronan Dunklau

  • Implement ConstraintsSetStmt and improve VariableSetStmt printers

1.3 (2019-03-28)

  • Support CROSS JOIN and timezone modifiers on time and timestamp datatypes (PR #15), thanks to Ronan Dunklau

  • Many new printers and several enhancements (PR #14), thanks to Ronan Dunklau

  • Expose the package version as pglast.__version__ (issue #12)

1.2 (2019-02-13)

  • Implement new split() function (see PR #10)

  • Implement BooleanTest printer (issue #11)

1.1 (2018-07-20)

  • No visible changes, but now PyPI carries binary wheels for Python 3.7.

1.0 (2018-06-16)

0.28 (2018-06-06)

  • Update libpg_query to 10-1.0.2

  • Support the ‘?’-style parameter placeholder variant allowed by libpg_query (details)

0.27 (2018-04-15)

  • Prettier JOINs representation, aligning them with the starting relation

0.26 (2018-04-03)

  • Fix cosmetic issue with ANY() and ALL()

0.25 (2018-03-31)

  • Fix issue in the safety belt check performed by pgpp (issue #4)

0.24 (2018-03-02)

  • Implement Null printer

0.23 (2017-12-28)

  • Implement some other DDL statements printers

  • New alternative style to print comma-separated-values lists, activated by a new --comma-at-eoln option on pgpp

0.22 (2017-12-03)

  • Implement TransactionStmt and almost all DROP xxx printers

0.21 (2017-11-22)

  • Implement NamedArgExpr printer

  • New alternative printers for a set of special functions, activated by a new --special-functions option on pgpp (issue #2)

0.20 (2017-11-21)

  • Handle special de-reference (A_Indirection) cases

0.19 (2017-11-16)

  • Fix serialization of column labels containing double quotes

  • Fix corner issues surfaced implementing some more DDL statement printers

0.18 (2017-11-14)

  • Fix endless loop due to sloppy conversion of command line option

  • Install the command line tool as pgpp

0.17 (2017-11-12)

  • Rename printers.sql to printers.dml (backward incompatibility)

  • List printer functions in the documentation, referencing the definition of related node type

  • Fix inconsistent spacing in JOIN condition inside a nested expression

  • Fix representation of unbound arrays

  • Fix representation of interval data type

  • Initial support for DDL statements

  • Fix representation of string literals containing single quotes

0.16 (2017-10-31)

  • Update libpg_query to 10-1.0.0

0.15 (2017-10-12)

  • Fix indentation of boolean expressions in SELECT’s targets (issue #3)

0.14 (2017-10-09)

  • Update to latest libpg_query’s 10-latest branch, targeting PostgreSQL 10.0 final

0.13 (2017-09-17)

  • Fix representation of subselects requiring surrounding parens

0.12 (2017-08-22)

  • New option --version on the command line tool

  • Better enums documentation

  • Release the GIL while calling libpg_query functions

0.11 (2017-08-11)

  • Nicer indentation for JOINs, making OUTER JOINs stand out

  • Minor tweaks to lists rendering, with less spurious whitespaces

  • New option --no-location on the command line tool

0.10 (2017-08-11)

  • Support Python 3.4 and Python 3.5 as well as Python 3.6

0.9 (2017-08-10)

  • Fix spacing before the $ character

  • Handle type modifiers

  • New option --plpgsql on the command line tool, just for fun

0.8 (2017-08-10)

  • Add enums subpackages to the documentation with references to their related headers

  • New compact_lists_margin option to produce a more compact representation when possible (see issue #1)

0.7 (2017-08-10)

  • Fix sdist including the Sphinx documentation

0.6 (2017-08-10)

  • New option --parse-tree on the command line tool to show just the parse tree

  • Sphinx documentation, available online

0.5 (2017-08-09)

  • Handle some more cases when a name must be double-quoted

  • Complete the serialization of the WindowDef node, handling its frame options

0.4 (2017-08-09)

  • Expose the actual PostgreSQL version the underlying libpg_query libray is built on thru a new get_postgresql_version() function

  • New option safety_belt for the prettify() function, to protect the innocents

  • Handle serialization of CoalesceExpr and MinMaxExpr

0.3 (2017-08-07)

  • Handle serialization of ParamRef nodes

  • Expose a prettify() helper function

0.2 (2017-08-07)

  • Test coverage at 99%

  • First attempt at automatic wheel upload to PyPI, let’s see…

0.1 (2017-08-07)

  • First release (“Hi daddy!”, as my soul would tag it)

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pglast-6.0.dev2.tar.gz (3.2 MB view details)

Uploaded Source

Built Distributions

pglast-6.0.dev2-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

pglast-6.0.dev2-cp312-cp312-win32.whl (955.6 kB view details)

Uploaded CPython 3.12 Windows x86

pglast-6.0.dev2-cp312-cp312-musllinux_1_1_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

pglast-6.0.dev2-cp312-cp312-musllinux_1_1_i686.whl (5.4 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

pglast-6.0.dev2-cp312-cp312-musllinux_1_1_aarch64.whl (5.5 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

pglast-6.0.dev2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pglast-6.0.dev2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

pglast-6.0.dev2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (5.1 MB view details)

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

pglast-6.0.dev2-cp312-cp312-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

pglast-6.0.dev2-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

pglast-6.0.dev2-cp311-cp311-win32.whl (962.6 kB view details)

Uploaded CPython 3.11 Windows x86

pglast-6.0.dev2-cp311-cp311-musllinux_1_1_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pglast-6.0.dev2-cp311-cp311-musllinux_1_1_i686.whl (5.4 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

pglast-6.0.dev2-cp311-cp311-musllinux_1_1_aarch64.whl (5.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

pglast-6.0.dev2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pglast-6.0.dev2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pglast-6.0.dev2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (5.1 MB view details)

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

pglast-6.0.dev2-cp311-cp311-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pglast-6.0.dev2-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

pglast-6.0.dev2-cp310-cp310-win32.whl (962.7 kB view details)

Uploaded CPython 3.10 Windows x86

pglast-6.0.dev2-cp310-cp310-musllinux_1_1_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pglast-6.0.dev2-cp310-cp310-musllinux_1_1_i686.whl (5.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pglast-6.0.dev2-cp310-cp310-musllinux_1_1_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

pglast-6.0.dev2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pglast-6.0.dev2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

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

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

pglast-6.0.dev2-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pglast-6.0.dev2-cp39-cp39-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

pglast-6.0.dev2-cp39-cp39-win32.whl (963.3 kB view details)

Uploaded CPython 3.9 Windows x86

pglast-6.0.dev2-cp39-cp39-musllinux_1_1_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pglast-6.0.dev2-cp39-cp39-musllinux_1_1_i686.whl (5.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pglast-6.0.dev2-cp39-cp39-musllinux_1_1_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

pglast-6.0.dev2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pglast-6.0.dev2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

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

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

pglast-6.0.dev2-cp39-cp39-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file pglast-6.0.dev2.tar.gz.

File metadata

  • Download URL: pglast-6.0.dev2.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pglast-6.0.dev2.tar.gz
Algorithm Hash digest
SHA256 f25781efe7e5fbad6dc3950db3c5cdda3a62cbdbab464596121552467c9a9af0
MD5 83755af65def93f8c34858f2dab2f456
BLAKE2b-256 9f7d32e0117fc9ea6c3d0829fdc33395239a2db081c2287317fbcbe29deecf44

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4ca82064b0b14a7af20c424150b5501f4e9ad40cb9081fe26addd8bd895490ec
MD5 1fb4bca24751b63f78de7295e9e3fb6c
BLAKE2b-256 46b13cbccaad4244f54a6d73267886db0c7fb77849c7e3fee595723c87931dcb

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-win32.whl.

File metadata

  • Download URL: pglast-6.0.dev2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 955.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1cb2a169d2cd89c12db29341b070f5c99b95453569d7c4eb248c77f1d931dd3e
MD5 279b3c468acb5a168e08801cda62d5b9
BLAKE2b-256 f04f867b6748cd17212f2692dedfc8ca01c7cef38d540955e4b0c67b925eebfe

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 814673aff6ec04ad4469f1c21efb667e0f72331c88146c2ff5ca77f85aef4911
MD5 664878d0fd5ab445491b23beced36bb9
BLAKE2b-256 d9f7a32b299ead18ba0ca281efc66c19be127bf2de9062b5bed295709a6258fe

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8021c35a493ea618051f64ebf7f7441a4e1792da40b0a72d3a73b0463079074b
MD5 dc16a7467cbd74a1123508527c07dbb2
BLAKE2b-256 706f645d392938439d04f6149e58ad3f4b3d9a56fdbd8c3a46136392df1a2162

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 57d663553551e2b9d71909598647edd5cefba1441ef99b2a11fa239f416632fc
MD5 d9bbd55d815403096a183bdfd7eb23a7
BLAKE2b-256 e50d27e16fd0dbf5b6df1bb8216bf19c0887b4dad930cde2a3c18d9621a44033

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e1e6816b5c44e2cdf7e9784356b8278ea43e10d14ab2e07e5d7a12dea2d4ecf
MD5 9bc1b47686f7494948533a4530475c08
BLAKE2b-256 727fe603518e8a7820bb455133f9e0c979f7ac7bb749bf22e1ef8e1818219e2e

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e629945ed8b5d6b76fb7b8eda39610a3d2343a2f9ebf74fdc291adc2c1b0ed4
MD5 5c24e27fc8c195c19988a03e790eafe4
BLAKE2b-256 bc44edfb7f21cf57f194700803d0738576e0df4d9db537e1f28136b7f1906b73

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c63109f6b47fe85f234e8b8e9e85e43ec6baada30f4312495796107586304015
MD5 06398e3ec2e94d6caac1746c61151a6d
BLAKE2b-256 5c38948435960b7870549dc5e7ac3d01594af3a98d7317258bfa507fa1a44e2e

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9e4eada929ee213ffa341de45360cb00bac9251952a7ed9fbdf123d1c9881410
MD5 e00235758945ab107dba3ed387dfe092
BLAKE2b-256 432b8cb69e20f0899abe681f1a8775b9d78739e34a4fac0900c0d6c9fe2d182f

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a6d1d33ff5e2b7763dd2398d51f0b74c7dd4d27f3811c0902b450d6fe91daeb2
MD5 e8469ac70b7301fd492a34bedb3fc1c4
BLAKE2b-256 50d9fea43eb4024dc8a6bb8b0a4681b38de822b76e5f9399ff1af781077666bc

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-win32.whl.

File metadata

  • Download URL: pglast-6.0.dev2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 962.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 7cb1f5dec76eed60b992f4c8f28029bad26069b12d714d8892bea58efd77e451
MD5 e37cc9cba4d56dac25dd96b69067da11
BLAKE2b-256 86bcb8643729649343da1a1d670f7cc1a1584cf27fc786a50447a5187bc5b1e9

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b74c014c411759c37b82bc7b7c41cb130189513c37c1fcbf2af162f0e4a23ec1
MD5 d8e962ba56326725dc1a74664fba3c53
BLAKE2b-256 cdc3ebe161aa2e514e26ba206cc07123e72b798e4a26a961ba05c23f4a508d28

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2f86df25a4b88c401079cff234f1aac60bd57a47842f76c848d4dcfeb1b37c13
MD5 776f79296c2cd8a310896f89c37a759c
BLAKE2b-256 3447cca70e5d0803a7a3d59844192221dce36736aaf2947035e4723f69df1d2c

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 51d01951597c69bfebe80dd867b8e78fa84dbf94279e3b8cea9eace9fc997c8d
MD5 0f736a057d6acfdfa33a661494ef983e
BLAKE2b-256 e34e54424e18f8be1d41f5224271bc13a2ed95ccd71e0f178a2515bd0cddfd78

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12cb31c6261fa5b3b594898952a95a451eac8210b9adbacd4945f4899038f5be
MD5 d16facf150c6587672eecd85da7b9c98
BLAKE2b-256 d7568e62af88cea8f50d3d3e48494962f7ff0be0c761ab11aa68b59613f8dc01

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c033aa9e205147e9f8595ef2ef287fe64344c0e245a5bc75231c6c509dad0130
MD5 5a180fdfb070cdba705e8f8754e47925
BLAKE2b-256 eba4e8e9e47d7fa0d22647bf0960333bf2c154a11c70c618d576610497a05e53

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 53d655b5a4b2ed50084f63c190a4553026f37795daabf3bc00e3c7ffb5ad33c8
MD5 6a662b3a64675abbbcee9d2da5db3072
BLAKE2b-256 ce4a97eb1e3a688c71e458bff7bf45e434ccfeb5862955b835e1a76cbbff715c

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dfbf354b77e2e6c0219bac78a5a1528e0817aec9ae255bd82d794cf3785d6a49
MD5 91a2f55ff9da86db94d7ccf1a976b0fa
BLAKE2b-256 efa147f943162cee27457e67d8d06ed2dd71a90fdc5dffb97946ccd8839cc3e3

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 16e60877830016892a2bfe316e9b07e124a9e3ca74fde72d90d74da6b7d94214
MD5 5e0ac5abbc14ca44302aa4f2d47e42ad
BLAKE2b-256 66f800f6cae68950ce362130456da6fa7a6f083ae8cfa43a48795d69d34e5485

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-win32.whl.

File metadata

  • Download URL: pglast-6.0.dev2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 962.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 6b7b5ac4cf061996e582bd8850d9849f68fc3d21672e5f0a1e595a77813301ad
MD5 84b56696af15047146c0d84bec9670d7
BLAKE2b-256 ed063f5bb65ec71c7db3eeb16c955c80cd252398089eb4d36bb83610f9080b6f

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 867348d2b2c31a5acf9c2604f0ad88ef4335df71dd63d5aeac142bcaa86283e2
MD5 93765d10cab75bbbabb2a615d3ed61df
BLAKE2b-256 1f5f2029469ff47da0510f49032d87f64ea93932622576b655aa9e24a5350318

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 46ea4e8a91f7b07e8516f9aa6e7a7d44707b8199cd97daa2e86f33832856da5e
MD5 6cfb8ffcfded5586469002ed11b2b666
BLAKE2b-256 fc31deafdc549d514d49e26185808066b52ab9532404c649b44d26efc9ab7d0a

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3ad3bcb58f1e2a7a0b7fe5dbeb00241203e16b3267dc5aaedaeeb09ab17fa6bb
MD5 6ca7090efdc26a90ac3e449d33ad5b90
BLAKE2b-256 7afe45318a0ba932f72949a3f9cfcd5c3b64251238bf63e7c6ed62dea68cc434

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e9b881eba77f492817fd82be65419410e50ec3aca2c2b829e1ef55f60355800
MD5 6242be39e4f7d31f74f6a1ceb5d8930e
BLAKE2b-256 0e2025eeb277ee24577617bf8f39dfe73200d6d5816a900ca4afa7c0b9cee41c

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 61bed9bb22ad77bc409adaa03afce34cb130431a52e3f547c0cbff677ebd9c4b
MD5 6cf97aaa46b9f915609c25b3e3632111
BLAKE2b-256 e5a84b650f203cdcdb19cc1206fe4f24f6798f90799240528828f75d1b883bf0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bd864082598d8ed73aeea0532c3e98f14c3a7057a318a3b8a1459ad7d543b24e
MD5 bfa8a227c9e3298a0a861312451f586f
BLAKE2b-256 67d2629126c719a2a2a51b9c65e8d8b9acf1928b31ec67a492b55b5c976eb167

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f0c575a4641de7f93a0831f93446c813d26811a539c61cfae5f279fa8684d5b8
MD5 4e29255dafa900d5e038c78595c08d7d
BLAKE2b-256 8cea7a6a83cd75cad8d79d2e5163f519b62c75362c6b1388b6c74cbb4cdac175

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pglast-6.0.dev2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7b328304630f0d0f615ec83c55041017eb193bfa022cff335fe7ea8a982515ed
MD5 a6550c37eedf8baeea3c038d75d3803b
BLAKE2b-256 6dd2184c09fd22b9fcf1a23a934279aa8fd6645e8fbf5a91116e871b37b493a8

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-win32.whl.

File metadata

  • Download URL: pglast-6.0.dev2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 963.3 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 2fc38fc4e06f51960bd7db502b3d1dde244ee0063c3ca3c60724868928762fb6
MD5 467db3d15176d900639977cf3aab6d15
BLAKE2b-256 87c6c3e0539f71dec2cc59981ab2382de74bf2b0f78af3d7ab82eef2814175f3

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 68dfb2343a1c15aa7cdc980dea4b02379672c1fecc45fda2ac80ccf5cbb252ef
MD5 49361a97cc4b76afd7702786ac8e5206
BLAKE2b-256 f8d2e1e04ef17596745c48d26cbcbdc2f447ca8666564f2c2256c3f7eec3bb2e

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2463125143cfde6f9a1c626e88b0616fe0a53eddd7274dec6f3e840bd8cddef1
MD5 76e6954c8c33b8b3d0233b16daa7a551
BLAKE2b-256 208a9231aedc686aa38be6a4f21cc68409acf30e1674188103b2a2ba03e64093

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 27952bbb0e44b70c54eb8ca7bb2446cdbf55dc12451357681cb9b53592f3bc8b
MD5 6d1947f8605365f37ac82c222838382c
BLAKE2b-256 e67c7478821c4b9a653fee92f0a8a4107793307eefc0aabb51922055e2d2a099

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 163dcb3579db07657d5c2a5fa81469a8ec35ad6705346ea62c17fddf3a0090b5
MD5 fe9b105b139818db0964bc897808ebac
BLAKE2b-256 6b62cf6eb167787d169bee90a22c0661466cbba30a5e701e9f09cb555e56ebe4

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 00f1c4332940ce4e8413a5896621d541e9ec3cb0583da57ad659444568d1022e
MD5 03100c54460621479072324fb9403520
BLAKE2b-256 29e21057546b2c2bf6fd60416de7f9174502d4b5e7bd2247ebe846333bf06490

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 053e40a59aa70c42a201e224a026a4c6345df81fc161d5f6b41823a60a668049
MD5 66b1868e89efe04c63aff4e6164b1c57
BLAKE2b-256 8c09b721e0eff58c07d3d11a3bfb3c3dc8a2bd5a7ccf4cf62739e09c5e44410b

See more details on using hashes here.

Provenance

File details

Details for the file pglast-6.0.dev2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pglast-6.0.dev2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 590bbfd22e0876a0ac65cb31f0b71bc9a2a11cb62c6f3dc312b83cd45bad0db4
MD5 e6799d26ec35b7a816b924ddb0398eb5
BLAKE2b-256 987ca3ac9bebd68d96500c4c253aa942dd469f164f377f79ce34418d97e8dce1

See more details on using hashes here.

Provenance

Supported by

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