Skip to main content

Async PostgreSQL driver for Python written in Rust

Project description

PyPI - Python Version PyPI PyPI - Downloads

PSQLPy - Async PostgreSQL driver for Python written in Rust.

Driver for PostgreSQL written fully in Rust and exposed to Python. The project is under active development and we cannot confirm that it's ready for production. Anyway, We will be grateful for the bugs found and open issues. Stay tuned. Normal documentation is in development.

Installation

You can install package with pip or poetry.

poetry:

> poetry add psqlpy

pip:

> pip install psqlpy

Or you can build it by yourself. To do it, install stable rust and maturin.

> maturin develop --release

Usage

Usage is as easy as possible. Create new instance of PSQLPool, startup it and start querying.

from typing import Any

from psqlpy import PSQLPool, QueryResult


db_pool = PSQLPool(
    username="postgres",
    password="pg_password",
    host="localhost",
    port=5432,
    db_name="postgres",
    max_db_pool_size=2,
)

async def main() -> None:
    await db_pool.startup()

    res: QueryResult = await db_pool.execute(
        "SELECT * FROM users",
    )

    print(res.result())
    # You don't need to close Database Pool by yourself,
    # rust does it instead.

Please take into account that each new execute gets new connection from connection pool.

DSN support

You can separate specify host, port, username, etc or specify everything in one DSN. Please note that if you specify DSN any other argument doesn't take into account.

from typing import Any

from psqlpy import PSQLPool, QueryResult


db_pool = PSQLPool(
    dsn="postgres://postgres:postgres@localhost:5432/postgres",
    max_db_pool_size=2,
)

async def main() -> None:
    await db_pool.startup()

    res: QueryResult = await db_pool.execute(
        "SELECT * FROM users",
    )

    print(res.result())
    # You don't need to close Database Pool by yourself,
    # rust does it instead.

Control connection recycling

There are 3 available options to control how a connection is recycled - Fast, Verified and Clean. As connection can be closed in different situations on various sides you can select preferable behavior of how a connection is recycled.

  • Fast: Only run is_closed() when recycling existing connections.
  • Verified: Run is_closed() and execute a test query. This is slower, but guarantees that the database connection is ready to be used. Normally, is_closed() should be enough to filter out bad connections, but under some circumstances (i.e. hard-closed network connections) it's possible that is_closed() returns false while the connection is dead. You will receive an error on your first query then.
  • Clean: Like [Verified] query method, but instead use the following sequence of statements which guarantees a pristine connection:
    CLOSE ALL;
    SET SESSION AUTHORIZATION DEFAULT;
    RESET ALL;
    UNLISTEN *;
    SELECT pg_advisory_unlock_all();
    DISCARD TEMP;
    DISCARD SEQUENCES;
    
    This is similar to calling DISCARD ALL. but doesn't call DEALLOCATE ALL and DISCARD PLAN, so that the statement cache is not rendered ineffective.

Query parameters

You can pass parameters into queries. Parameters can be passed in any execute method as the second parameter, it must be a list. Any placeholder must be marked with $< num>.

    res: list[dict[str, Any]] = await db_pool.execute(
        "SELECT * FROM users WHERE user_id = $1 AND first_name = $2",
        [100, "RustDriver"],
    )

Connection

You can work with connection instead of DatabasePool.

from typing import Any

from psqlpy import PSQLPool, QueryResult


db_pool = PSQLPool(
    username="postgres",
    password="pg_password",
    host="localhost",
    port=5432,
    db_name="postgres",
    max_db_pool_size=2,
)

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()

    res: QueryResult = await connection.execute(
        "SELECT * FROM users",
    )

    print(res.result())
    # You don't need to close connection by yourself,
    # rust does it instead.

Transactions

Of course it's possible to use transactions with this driver. It's as easy as possible and sometimes it copies common functionality from PsycoPG and AsyncPG.

Transaction parameters

In process of transaction creation it is possible to specify some arguments to configure transaction.

  • isolation_level: level of the isolation. By default - None.
  • read_variant: read option. By default - None.
  • deferrable: deferrable option. By default - None.

You can use transactions as async context managers

By default async context manager only begins and commits transaction automatically.

from typing import Any

from psqlpy import PSQLPool, IsolationLevel, QueryResult


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    async with connection.transaction() as transaction:
        res: QueryResult = await transaction.execute(
            "SELECT * FROM users",
        )

    print(res.result())
    # You don't need to close Database Pool by yourself,
    # rust does it instead.

Or you can control transaction fully on your own.

from typing import Any

from psqlpy import PSQLPool, IsolationLevel


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    await transaction.execute(
        "INSERT INTO users VALUES ($1)",
        ["Some data"],
    )
    # You must commit the transaction by your own
    # or your changes will be vanished.
    await transaction.commit()
    # You don't need to close Database Pool by yourself,
    # rust does it instead.

Transactions can be rolled back

You must understand that rollback can be executed only once per transaction. After it's execution transaction state changes to done. If you want to use ROLLBACK TO SAVEPOINT, see below.

from typing import Any

from psqlpy import PSQLPool, IsolationLevel


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    await transaction.execute(
        "INSERT INTO users VALUES ($1)",
        ["Some data"],
    )
    await transaction.rollback()

Transaction execute many

You can execute one statement with multiple pararmeters. The query will be executed with all parameters or will not be executed at all.

from typing import Any

from psqlpy import PSQLPool, IsolationLevel


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    await transaction.execute_many(
        "INSERT INTO users VALUES ($1)",
        [["first-data"], ["second-data"], ["third-data"]],
    )
    await transaction.commit()

Transaction fetch row

You can fetch first row.

from typing import Any

from psqlpy import PSQLPool, IsolationLevel


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    first_row = await transaction.fetch_row(
        "SELECT * FROM users WHERE user_id = $1",
        ["user-id"],
    )
    first_row_result = first_row.result()  # This will be a dict.

Transaction ROLLBACK TO SAVEPOINT

You can rollback your transaction to the specified savepoint, but before it you must create it.

from typing import Any

from psqlpy import PSQLPool, IsolationLevel


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    # Create new savepoint
    await transaction.savepoint("test_savepoint")

    await transaction.execute(
        "INSERT INTO users VALUES ($1)",
        ["Some data"],
    )
    # Rollback to specified SAVEPOINT.
    await transaction.rollback_to("test_savepoint")

    await transaction.commit()

Transaction RELEASE SAVEPOINT

It's possible to release savepoint

from typing import Any

from psqlpy import PSQLPool, IsolationLevel


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    # Create new savepoint
    await transaction.savepoint("test_savepoint")
    # Release savepoint
    await transaction.release_savepoint("test_savepoint")

    await transaction.commit()

Cursors

Library supports PostgreSQL cursors.

Cursors can be created only in transaction. In addition, cursor supports async iteration.

Cursor parameters

In process of cursor creation you can specify some configuration parameters.

  • querystring: query for the cursor. Required.
  • parameters: parameters for the query. Not Required.
  • fetch_number: number of records per fetch if cursor is used as an async iterator. If you are using .fetch() method you can pass different fetch number. Not required. Default - 10.
  • scroll: set SCROLL if True or NO SCROLL if False. Not required. By default - None.
from typing import Any

from psqlpy import PSQLPool, IsolationLevel, QueryResult


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    connection = await db_pool.connection()
    transaction = connection.transaction(
        isolation_level=IsolationLevel.Serializable,
    )

    await transaction.begin()
    # Create new savepoint
    cursor = await transaction.cursor(
        querystring="SELECT * FROM users WHERE username = $1",
        parameters=["SomeUserName"],
        fetch_number=100,
    )

    # You can manually fetch results from cursor
    results: QueryResult = await cursor.fetch(fetch_number=8)

    # Or you can use it as an async iterator.
    async for fetched_result in cursor:
        print(fetched_result.result())

    # If you want to close cursor, please do it manually.
    await cursor.close()

    await transaction.commit()

Cursor operations

Available cursor operations:

  • FETCH count - cursor.fetch(fetch_number=)
  • FETCH NEXT - cursor.fetch_next()
  • FETCH PRIOR - cursor.fetch_prior()
  • FETCH FIRST - cursor.fetch_first()
  • FETCH LAST - cursor.fetch_last()
  • FETCH ABSOLUTE - cursor.fetch_absolute(absolute_number=)
  • FETCH RELATIVE - cursor.fetch_relative(relative_number=)
  • FETCH FORWARD ALL - cursor.fetch_forward_all()
  • FETCH BACKWARD backward_count - cursor.fetch_backward(backward_count=)
  • FETCH BACKWARD ALL - cursor.fetch_backward_all()

Extra Types

Sometimes it's impossible to identify which type user tries to pass as a argument. But Rust is a strongly typed programming language so we have to help.

Extra Type in Python Type in PostgreSQL Type in Rust
SmallInt SmallInt i16
Integer Integer i32
BigInt BigInt i64
PyUUID UUID Uuid
PyJSON JSON, JSONB Value
from typing import Any

import uuid

from psqlpy import PSQLPool

from psqlpy.extra_types import (
    SmallInt,
    Integer,
    BigInt,
    PyUUID,
    PyJSON,
)


db_pool = PSQLPool()

async def main() -> None:
    await db_pool.startup()

    res: list[dict[str, Any]] = await db_pool.execute(
        "INSERT INTO users VALUES ($1, $2, $3, $4, $5)",
        [
            SmallInt(100),
            Integer(10000),
            BigInt(9999999),
            PyUUID(uuid.uuid4().hex),
            PyJSON(
                [
                    {"we": "have"},
                    {"list": "of"},
                    {"dicts": True},
                ],
            )
        ]
    )

    print(res)
    # You don't need to close Database Pool by yourself,
    # rust does it instead.

Benchmarks

We have made some benchmark to compare PSQLPy, AsyncPG, Psycopg3. Main idea is do not compare clear drivers because there are a few situations in which you need to use only driver without any other dependencies.

So infrastructure consists of:

  1. AioHTTP
  2. PostgreSQL driver (PSQLPy, AsyncPG, Psycopg3)
  3. PostgreSQL v15. Server is located in other part of the world, because we want to simulate network problems.
  4. Grafana (dashboards)
  5. InfluxDB
  6. JMeter (for load testing)

The results are very promising! PSQLPy is faster than AsyncPG at best by 2 times, at worst by 45%. PsycoPG is 3.5 times slower than PSQLPy in the worst case, 60% in the best case.

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

psqlpy-0.2.6.tar.gz (42.1 kB view details)

Uploaded Source

Built Distributions

psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

psqlpy-0.2.6-cp312-none-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12 Windows x86-64

psqlpy-0.2.6-cp312-none-win32.whl (1.0 MB view details)

Uploaded CPython 3.12 Windows x86

psqlpy-0.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

psqlpy-0.2.6-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

psqlpy-0.2.6-cp312-cp312-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12 macOS 10.12+ x86-64

psqlpy-0.2.6-cp311-none-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

psqlpy-0.2.6-cp311-none-win32.whl (1.1 MB view details)

Uploaded CPython 3.11 Windows x86

psqlpy-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

psqlpy-0.2.6-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

psqlpy-0.2.6-cp311-cp311-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11 macOS 10.12+ x86-64

psqlpy-0.2.6-cp310-none-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

psqlpy-0.2.6-cp310-none-win32.whl (1.1 MB view details)

Uploaded CPython 3.10 Windows x86

psqlpy-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

psqlpy-0.2.6-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

psqlpy-0.2.6-cp310-cp310-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

psqlpy-0.2.6-cp39-none-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

psqlpy-0.2.6-cp39-none-win32.whl (1.1 MB view details)

Uploaded CPython 3.9 Windows x86

psqlpy-0.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

psqlpy-0.2.6-cp38-none-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

psqlpy-0.2.6-cp38-none-win32.whl (1.1 MB view details)

Uploaded CPython 3.8 Windows x86

psqlpy-0.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

psqlpy-0.2.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

psqlpy-0.2.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

psqlpy-0.2.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

psqlpy-0.2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

psqlpy-0.2.6-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

File details

Details for the file psqlpy-0.2.6.tar.gz.

File metadata

  • Download URL: psqlpy-0.2.6.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6.tar.gz
Algorithm Hash digest
SHA256 ceb70fb6ac756c8a003c5556cd0339cd049389a6026d2ad5dc7b66863da2075b
MD5 3cc7536fc8ac5a9392689f9b509c6877
BLAKE2b-256 ea3ce9f541bd3abde0340dc53a23caf6323c2b0598d2922ee87afdc4f808334e

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6b1046cd16eb9e17a7b3b61c18fa27c45b9b15812a3fbc8c31bb9c4a6c21d01
MD5 4045d48b8ba61ba31922a56beaf82f8b
BLAKE2b-256 5ad621362ed29a13d45a82bd1ee73596f1407362ab7b3be2f575acea8bfb022c

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 928e5df05b8a4c9accfc3e17a25337dcd1f693ec771cda4b008e65464cebbb02
MD5 433dd51965f3a83a692aafa4b902defa
BLAKE2b-256 03ce8edba8df7105198a3f9c376eff532eaebd8b7e05b264a3ae8878c6ef789b

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3a77ed167d31efab3741bd972cd4a3a736d1a70ed2f27b63b052fd1d43319cd8
MD5 a62c02d37807155d3bd4da82bcc2ab43
BLAKE2b-256 c1f24afeb48b173cbf34286f747a843ba7da7af3ce81b6f059df0138e48abe55

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a31595c6df584af8807fe4bb7036db39793ee6db34791a229270a3788ffefbc2
MD5 5df2fd859c2de643d4dba84210344bdf
BLAKE2b-256 9bd82768ab853772b71ac6401a3a1e4e8aef78edb0e759d697c39db16315274f

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5d93d74ce13960495ee8a90e700f0caec7210a406813f93a5d59222e4d75de20
MD5 df4d5dc4116d3ddf7888b94d65223148
BLAKE2b-256 929169c2c63d40f50d0781ed19bbd5d500de0a3b6abfdc4654569f881495095d

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 fa23c21022b1c93a9be3a1fcb703f7c5dfd313e23c85f57a53c30b42dbdca1a1
MD5 74142fe4215577d94f96d90c9c6c0650
BLAKE2b-256 5fbc754e00ccc45e387acead1b1db8ac5d63a345664ec8101eb2f80f2c5fcccb

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41cd7867cdc4c979b887d47d083409c2a6c56eaf8410418ff07c331cb61b2456
MD5 30b291d0c047372302ade3df9a90fb0b
BLAKE2b-256 e92780f4f42ecb2aa472d3dd8b05b2943fa5379206781d8768663f853a160dfb

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 72c77ce4ff94cf1b5dc376e4fd513595c4dbe19da2ee72270c63ed1449860c81
MD5 be4884074783488eabfdba57a3a65187
BLAKE2b-256 320cfbc78e47e84d2c26dae359ed9d8264ac42ff855d3c61c8e67d7d5fe84831

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 512097a957b10b69cef91f1e90dacd4720020b4b5da63b22c1b5024137c87d25
MD5 2892900f8daeba4ec79cb48ba0cc0dec
BLAKE2b-256 e92d78bda6752d165f003c44519e7863aabf7b5193510958a639b15e486aa206

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 91332ead76edb5fd26580d503a1f447415a9c88f930196729f73322cda3d4733
MD5 6a2ae2d1174ba239214575f2dac851be
BLAKE2b-256 92b14408d088672e2e1778a0005b6b29aa6b795ba4901fb30b5737488b7eadf6

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6dcfb540005b2b9c622259a91e08996e7b61c3674a5fafdd0ccf816498ad8b9b
MD5 55235e6346f6a0d9a3fca04e037fe467
BLAKE2b-256 bcb57d7f17fc27130e0382e676af203a3e4bf17cd5625460279aca8329ddcb15

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b2d171642ba2f5cb86b6f37a78da88ccee98b94bc0545b53b9ff339ee1f5aa98
MD5 ff4b2131f96707887927311d1203ad96
BLAKE2b-256 3fa88bb8b1ae408ffa451d3bc04dbc85bd7d15b587c514216aa2db7874e0ba14

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 702439551e7b64b2e1480b323987cb570fa0cb146a713d994737a63171c9f31f
MD5 3cb524d21885ed0655f8ff7f645ec449
BLAKE2b-256 8838f9f2769852e15eff544e3f9aa477c28c361a495fc4d00e68f3a8873021f8

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8eac32e0a843bb777a5a66fe6a0bca1d2be6e738ef45f766d076ba008c3c2d1f
MD5 2600019fb0ed7a764070585b59d797ea
BLAKE2b-256 27915ceeba22577b12f354cc4cd0c1401f484f0e3dc88a895b24cf2b05499e5c

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 39b604a0c402981e656520bb669adccd983d96300051021472fe5eed69b0814d
MD5 9f85afd43798520e95a3908c88cae181
BLAKE2b-256 43e53c8a24ad5bbd8ef9bef3afb5e4add06cbdd3b41a719b053262b8c24b1d96

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4c70e80b8485d1de5e4d9a787655a914574e5f8a2177afc89f750d9f94404e60
MD5 9f3ac0f579c410d7281c670be0dc6812
BLAKE2b-256 a34a0b80bd49a65aa87b79bb0742520c7c2c829ec88e175e847ea616723591ce

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9646dcf430f83f5432cfabe112cfe9a1261c5a04f82b8ca89ab174f3aa66d832
MD5 f1ce5dd820f34f3662854e76ff08520e
BLAKE2b-256 e89cb86fec3ad5becc4f4900a95a649ed1491231c16c64b8624c81551ebaeb50

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4fb901393e1b34f420b49596f06b78422e678da8573880d221b81e28bcf85d9b
MD5 0cffc7e5ac3a8f2e80b1dc3de09327fc
BLAKE2b-256 c9ccb3fbda8fb061691cad31165f0743bad05d1ee5d193e80b90be80de1bb10d

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 7905cf14cc32d54cc7296d27fd284378c46e730da3f2f3b480b003f375688d95
MD5 7dacaf8b635950e3b787346fe32f867d
BLAKE2b-256 5925b90cf0eba06865fa76f4976122e8f084fda9d129ebef43ad38babfc12fc0

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-none-win32.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp312-none-win32.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp312-none-win32.whl
Algorithm Hash digest
SHA256 0e93ccfe42e28ccfdd495f280d5871e69d2be0ef19ba1e5f4f31489980dd043b
MD5 c77228eb8a4a2e730cf1ffc1d9186c11
BLAKE2b-256 8effbe98a0cce230723385107af3ca303de2e1dd53dc1885be44f7258214ed77

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2fd4eb9cf095fd66eb91276428bbaa4847f04a5bc2f7cae463f107b4c94f5ef
MD5 fcf147dcdfebeb49e478ebd786a7565b
BLAKE2b-256 d23de6cb3f938cec6dd23ec203db36641a8a8e612511b1a7bc85c603ee150eb0

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 83def505cd7896529e35579bd65567e8daf9c97fc9d28885feb0f56cb27062a3
MD5 f894beec5311fc54da00c287abfbdf87
BLAKE2b-256 efd6136819142454723370c4254fa6c7d36fddb2ca57487bb8287eec719872d4

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b03790a680704c7b23b213dc0a30c691e8624d639b6a444c38a395a7b384fe11
MD5 08fca1c76878229247bd6a05cb5495f7
BLAKE2b-256 1563066812c1caeda06e99d152c656e3f69868a59a056677f227deb5e1bf1930

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f94c454a3e069aff37089b4e9558730e17caa6005f126da8fb3465b3841a7382
MD5 1a32e67a71a1e659cb33e1be8b2a15f2
BLAKE2b-256 bb7c67d997c3281c97d5c2fed2378eea716d4190dea1fe48a37dfe7b94924ff7

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ec18221f165a0f234cf6f6a39825bf6003d30f9abd68cff74779173d69b07a8d
MD5 001312bed00be5254a6614fa0922087c
BLAKE2b-256 ea9129eb857614d39c5f8f9e29630fb2ac5022203038b839de52ef6388d23fa5

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 19b4ceca51456a9df1ee5ac578f3da2f792c956ccbe3e0101c7689af2a42e49d
MD5 072dfab6740220c4fb06d801ad452b92
BLAKE2b-256 55c9128f7fe357ad82b4b4e6521ddc3a372afb657aba25c29acc670db464ff6e

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 624be83b81028d8f3c2d1158e0a7f0bb31a42d96d3c1b5a6653503a2cc1ded1e
MD5 2d6bab4fc3bd0170e3358097eb37776a
BLAKE2b-256 dfe41a09a5a2498ce00d6005cdd4b2f31197201bf6f85c863b2cb99ad5250fdc

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8ef27fbb8b6377a4c5596ec9b096ab105a69bcf093978620be6f6260663d6031
MD5 a7b831f2316d4b840edffbd45876cdb3
BLAKE2b-256 560ecda1534a2d26e4dbd1eb1ec19a4cee7b28f3727e0c270fd6fca088708421

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 4ff7604b59df6c2d6553425a310217883063f9837187f28d074b2e57eec5bcfe
MD5 83b5339a1f5b78f34e237e4c0df4c367
BLAKE2b-256 1e3a3ea0b39a41b18e3b903d186b744e47fe9aad5b153af39c06f7502a9c56f9

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-none-win32.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp311-none-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp311-none-win32.whl
Algorithm Hash digest
SHA256 21fe7f82d08887bffe192650d6efb00b5cd8124deada9a4bbdb33815951a1fcf
MD5 4c4f87e61b672be6835fd7787c4db2ab
BLAKE2b-256 6d4ba6919854ab6e40a7dc7d7551073ee51e8ea6d4759b9de8fcb0e7d5d820d8

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef838af0bea0653f78df9836e9feae16c44ba3dcf78b72bba6c05ac4a7762821
MD5 f558e710cabe1251d6887a250281a598
BLAKE2b-256 845b32056cd1508963127be4f5a9187bba4586d155a1e5b4da430a67b489d362

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3624550bfe07919a8bb07ac097d6548d0f07dd6eeca78908decab2d57f7a7229
MD5 b5da340423b00f1f06cad04a47ef5f81
BLAKE2b-256 2ad1693aeb7b1c6dd3b5b1a3feb7b567043176ea6752b5b51f2da87fcf4e48cb

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 15de37968e67e7fe8190205f5eac0eb05ad99d32ddc813715f8acca187637d83
MD5 c2e1491d9ed16c5efec34a5e5b7db1d4
BLAKE2b-256 309c460a3a0d410fd79abb7585f41e7d1f911c2d30d411ac324381d3f0071623

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c8ca1aa4f0dd098eddf66248b3dbf8ba1381e23d932e3a18be137d382d7bbc65
MD5 38327af927836a13e07c35626fb9f8ae
BLAKE2b-256 6f03373aad3da984756d02f5a92d8cd47c032f080da5538e2d02e880c9b6bb59

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81e60974384f954126b0359114411856850292ca054e3fa8b4f3156aeb572a5e
MD5 759c8a1d712643ba5a3a0d522e6c8276
BLAKE2b-256 416c82f0e129caca3238de6ade9d32c4e1afeeb0589636fd88e84bddda105ff8

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 96b01732556616023c0c3855ee491e1bf70fef8b0b3ea57a1464fff73e44c5f7
MD5 5e7d8064cfff916dcc7a5968b322b7bf
BLAKE2b-256 93c5e3594c57d191edec7b481b02e744448f1ddf4cbd453801125f22fc5afba1

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab3d5d999c80f3fd701f646f01a22d92af66be8173d726b879d2f59b8d1dc578
MD5 2d67594a3955c812bc1cd7014da52777
BLAKE2b-256 d35b09da572ee231c8a963ef962612243bf2e1f984e5fa39aad8d366367ea77d

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3aa3efce1629fc353f580b6b7af9779bf47ff11dbe1e3efff76a6ecbd859fbad
MD5 11cf426dca943db6fb5e62ae6ce1b637
BLAKE2b-256 85b117f45dee17ae772734047c66a4c0ea81be992f041bc91e180f2e98b11d79

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 aa70cad4c6076f14f20af826e2cd0e0a5f5da3a7a3345b4045cc7b3c20c3444c
MD5 d3b8c20b2a8844b3b06653a61bde0cc4
BLAKE2b-256 73ccc4f10912b598ea6da77c1276f73e7f9a6595a53f7a5ccea1cb15c82efd0f

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-none-win32.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp310-none-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp310-none-win32.whl
Algorithm Hash digest
SHA256 aed8a564691e21f9a4083532dd16cec1bc35f49240eeb78ed1dfcceee81da317
MD5 d94bd58ad35433519b52f03dc76d0746
BLAKE2b-256 e02b49b3e7bdb596ebfa867536e3864d17942b729ad5fd99a3f0de2249b01bf8

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83338f9781d086226099d359725c4afeb51901081f364be8190f66e0aaad049b
MD5 983b466d9b4f4a3e9c57d14108388ce4
BLAKE2b-256 c76395ad6ecfa99cdaeee3233df4ee18bfeaf242ec25b8c2fbeaa85b16bfb4a5

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 328930fef8c16251e60fd10884294bee4d138161ab8ce0722c2028aefbf759d4
MD5 ef3185a0b0e952adc2977988da56a395
BLAKE2b-256 f0d8d1eb7188365993f270124610a955d438961540431cee3323bb5c19d05e7d

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 278530ee8fb8ad1a0f6ae970c0d54fa68d76095e0806cb5e3c7bd87f0b16deb5
MD5 11e607bc147cd09d0d3156605ba4d6c4
BLAKE2b-256 a6cbc9af102dc353a0ac81b8ca5ba32bd0f50e94bb7cdd36cbe56aa5836951b2

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 04f0bd3d7f99a680e2b4bba3fd98634791ca8bac09dd15a1d551a990f9b06da7
MD5 335fbd7f37fc67218f55b6847767287d
BLAKE2b-256 b227723f5d4ed0050637d0dee7e10823b24a22f1f708232020e565fbccfbab8d

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad1bcda7b856561c8e9fb54e647621073cf15d768f02ca822f30e19c39387577
MD5 476ebc114430454f7880ff133e1bb24f
BLAKE2b-256 96f60f9c436149809429f74dcac3b1f9652cc70e07c3082c9a6c18b5013d9a6b

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3655d930129e26f12eed111abb351243f808ed12fd1c1f45c18cc9e7582aa965
MD5 1b251af54a936a57b7de16e1ac859d0b
BLAKE2b-256 fd92838684f33082f93e7adf05203f92ebe40c434b480e32bb2ae226459ebba1

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3ac956d2ecf368a4aac5ae625a5191b45c68d8882c99c59a2aa300f8e593f430
MD5 c467a356e46322193009b3fcfe361823
BLAKE2b-256 97c69bf2cfcbdc507182f18317d827fd715e2fa4fcbfa7f4ae3f560db794fcad

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3cea4bb750c22759e37781736994c18eb32430a593ca25c8ff6d4c8f06114727
MD5 3fce0d3ee5b210bdd17ce2557a297253
BLAKE2b-256 7ec9b31dd2af7be91992119ac8288d46ffbccb6f9fe139e4ac20a81da10d2c11

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-none-win_amd64.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 e36b9a376d729062c086cf8958c761b09595da9c2d6680ffd63e7e1534957a51
MD5 4566c3c04e301811529f49cffd2dce8c
BLAKE2b-256 09de4ea24c34a2ca731c54ec4dae5816c22bc4de531ebc05588754e1151aff6f

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-none-win32.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp39-none-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp39-none-win32.whl
Algorithm Hash digest
SHA256 c079da3eae484a8e049b34bec8f2e56af867a24d6a785c85989cdbeb4a98c1c4
MD5 4366ea7d9473a70c41cf8e447b93c3f7
BLAKE2b-256 452b81cdf0655d7b0352fdd6c2e35f01285ffd2cf599f0d31e60eaa424ad51d6

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc5e7ec146c8ffce59d3f73e8bc762125586e4c03650e378b74454f3758b07a9
MD5 e864ba6e68b02847ebb8776233a6fbf6
BLAKE2b-256 003580c72f9f67e3af0d348ce3ab8f85a5296937e75738aee42561a8dd75cc1c

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d06dddd42ea3f67adeaa827a292f584b401d7e4eb544b1e7a6205a934135f0cd
MD5 8e08cdf4bd510ad872e1e018545a14f6
BLAKE2b-256 3487ec1230b88d9a5788477cdb79eb873dd64550602541afd9d48a50931f339c

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 360192026b534fa33d3c59e4e3eb5787b848baedf0ca9768d5127a407d68f92e
MD5 80d9475e267adb8b8f0fb45284f55290
BLAKE2b-256 86d861953a408b623f1168028042c61f2b9ce1812e8b77d5e7785201bc6f16e5

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7f86b8e25a01db823a41e318443c51c06957dece431092e613111c13e1eb05e3
MD5 2f6e668e8948fee744899fe9c80f8f20
BLAKE2b-256 5082459860a50000e25f649bec628d09e9bcc3e47e41ddcab9d67d2b0824767b

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8d69981be714b48f3d902fbf98e157f034237c4fdcb87b2155f3e0c4049941b3
MD5 fcf8ed874fb127970afcc2189bcf393e
BLAKE2b-256 6e5b88e21417314b519195bb85cbe763baf7c373e8b2916a84aebef067efcc20

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 0dc2a13bcee47dac08f26e6bb703adaff78aeb419724e7c43aba5f44a146eab0
MD5 bb30e97f9691ae3f91372e9f9e0c9f0a
BLAKE2b-256 2a789dbe4b3cee9f373750eaeb8e7e6982c32095c5774003563d0a963a43e142

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-none-win_amd64.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 d54bae96857010626f283009d33b1e9f589c51dd51094f0065de4e7d4c60b46b
MD5 bf620fff9558e5ce32552d9d4bd6e7c7
BLAKE2b-256 eda3f41c203c6a31bc39fb5f34eb43a06cc1a2e347b5533c2897024bf3ea509a

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-none-win32.whl.

File metadata

  • Download URL: psqlpy-0.2.6-cp38-none-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.0

File hashes

Hashes for psqlpy-0.2.6-cp38-none-win32.whl
Algorithm Hash digest
SHA256 605faaae28d6cce22671dcd2cedc55523f87f1611b86cac0ba3a4d2e1b4805df
MD5 1b2999b1cf9d0e3dcaf0b5fe40bf4a4e
BLAKE2b-256 7f21c9b443247e526505c4efe9ea25bb8b10e680c087a9b2d9363ad20f000533

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc6a82f769cb054e31280317531ba46495ee76423221a153800d681a5a0bf864
MD5 e3d66a1692b9c0db376615f243f236d9
BLAKE2b-256 00ff89685b17c33d5a94021bd6090bf9718f07489538a7f50ee953ce84b9bc1d

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d982dfac2b6db9adb94d0dbbe1a5a36209611082ae27a8aa8530687d73304262
MD5 662c4ce0840620c532e3908c2eb6e07a
BLAKE2b-256 fd78e9b243d3f1e2f8024124e66b53e7949c8ae7186e10a3bac8d03d7dd56eb5

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ff15cfbec30c236703762fc21641f4e801ac353de1176f142dda64c3a501d12a
MD5 d12cb0af5aea4f58466fd883a0f231e2
BLAKE2b-256 1db050693516c1eeecf7716854425942f63782c8758ce1641066a3dbb7676e57

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c7e0382253bba19cb5a0756eb15a8083ef856c09aafee468f2362daffb3e609a
MD5 efba8d5b5498cf3bba897210bbf4fa4a
BLAKE2b-256 0562c9a6519f1c8540a367bcc29803d576ee58fbec2de9e62e167211bfdad8a7

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 34377f20ad5d86f75f135f8955921551372705223e36ab6ba809bb7544509cf0
MD5 8319fff8d210dfec3e2f0a41ef6269bd
BLAKE2b-256 676869e1e29360d3affd85896a440591fe09cc4c495f29800062670b505fe937

See more details on using hashes here.

File details

Details for the file psqlpy-0.2.6-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for psqlpy-0.2.6-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 42fcb6fe30dade37f819bfe95fb7e7a4202ac246e231ef8283b50b4a949342b8
MD5 7ad89b492ac823163e0d326ffd0305cf
BLAKE2b-256 a9821f83a49e45fc0404861363fb6efb54bf880856db27b16d3972d9bf377f6e

See more details on using hashes here.

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