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.

Results from querying

You have some options to get results from the query. execute() method, for example, returns QueryResult and this class can be converted into list of dicts - list[dict[Any, Any]] or into any Python class (pydantic model, as an example).

Let's see some code:

from typing import Any

from pydantic import BaseModel
from psqlpy import PSQLPool, QueryResult


class ExampleModel(BaseModel):
    id: int
    username: str


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",
    )

    pydantic_res: list[ExampleModel] = res.as_class(
        as_class=ExampleModel,
    )

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: QueryResult = 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.7.tar.gz (43.3 kB view details)

Uploaded Source

Built Distributions

psqlpy-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-cp312-none-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12 Windows x86-64

psqlpy-0.2.7-cp312-none-win32.whl (1.1 MB view details)

Uploaded CPython 3.12 Windows x86

psqlpy-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

psqlpy-0.2.7-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.7-cp311-none-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

psqlpy-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

psqlpy-0.2.7-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.7-cp310-none-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

psqlpy-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

psqlpy-0.2.7-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.7-cp39-none-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

psqlpy-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-cp38-none-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

psqlpy-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7.tar.gz.

File metadata

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

File hashes

Hashes for psqlpy-0.2.7.tar.gz
Algorithm Hash digest
SHA256 f1a083fb3b75bf5e9b3e766993906ac242c3ac523365da5eb9dd6c9687b86e24
MD5 e4a2968f32f3434d702819de7569356f
BLAKE2b-256 c5ec3fd84d029a2896394517b9e1efb312e0e9e9bf74f7ae299f5b85828a6595

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82fda14323f84e2cfe1f57dcf6adcb63128f4355b95baa8b71cf24add0f36376
MD5 e30481eb9fca7bc3c2d02ab60cd54e11
BLAKE2b-256 625983f1431174ad2c4397187e34c0bf255f2ed7061be38239a9f5f2615b77b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9f0fccda1f774beec52c9fa1701936d1fdc73d854fd5627bc249d8444ad6ecc3
MD5 3eef2791a18dc0ad9da20d696cd7e89a
BLAKE2b-256 d912b1e34787c8c0f71e4acdb757f2c27b806b16d78dc909c9ca1e88b657dc9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 48c7a3eb7ccf5a6ce2c38fa9a1f6928264e174c6ed9924ad369b4b3261824021
MD5 98e9d3e5b7ec5674ae62cc1a5c2b9646
BLAKE2b-256 eb5bdbd0ce9a7b5504524c0988ab42b01fbd2674eb7a2f771c1db9afac6bd5b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a5eb03736b83c3660b956f818228b4445e306aa83922ceb06ffadf70b4f398d0
MD5 3c77f8159154b1b2c153fbf9062f4aea
BLAKE2b-256 8fe0a00ad0da197a917fd875dc6ed16db4cb4dcda67631c6910726cff7342cf4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a907d455e48f9af0e7c096168919627aa75264fdb5d898346050f4ef524df787
MD5 1a191831c3c01c657fdbcec335dcd647
BLAKE2b-256 f52ce23532389fd84853082835cbe643b1d36100a6bf85ec5d1a4270199a4ff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1cca3f69b50a6cae941291c52e14aa57cc39df0ea8beabd644435c0ee0f42c0c
MD5 382c9a502838a9a413d1038aa5c7bceb
BLAKE2b-256 39ad0cdfe0bf56f6d3f55f18eb8439a7dceeb5389e22d9614b58e7dd186ba572

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7267fef198c339da0c1043091d3c950e58cfca9dc034188970a1bf422a3f8ef4
MD5 f92a9194a48530b73c60efb760cda515
BLAKE2b-256 8cad9feebd63adbcade6524f64e2ce3116625e1153a49f879410097017170e80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5d8f557da870c8db59bd9ca2bcae04cc20f6cc0a83f276788dfe18a7a1c78c7c
MD5 f539843f8479d08515a5ecd2ab710f7b
BLAKE2b-256 4fe533f3c1a8060673addd86f5b29b4274265c9730e389424727259c68c3c40e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fbba677e9bfeb4aa88466f4b4e3e827ac00e3645c30e5b9399cd3d3b9a5621e7
MD5 5d9eb2257426395208c9c6958c4233b7
BLAKE2b-256 64e659964c56fbf976af5e1b118f6b2cfd2f7c1dda9c9f59c7fdab9f34168588

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 877169b6d91a36167cbd86f4df4aecdbea9d952d3b0408128e5df766faee4853
MD5 c975e6bb47fbd706fb3a004bc45d2e07
BLAKE2b-256 ab0179622c7acf28b45512cd573b90e98cfdec83fa640d512235fa65513dd08c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b6d496f1cdf00926db0b59b90f6ffdc725bb62f94fe4d3a6497bf973a96c8af6
MD5 d2bd8716dc32a70620fb00cfac999f3a
BLAKE2b-256 62b34dae93e0e44d972681351047001862d1d8809caa01db8c9db142e5e2e6d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 8e022d5ee91f81fe22947f464fb9d42ec59e3b4a836b3bf44e68cf43921b2cf8
MD5 bcd9e6b0dc5306cc61c39ddb7e9688fa
BLAKE2b-256 4d69d842e7c78bd48f7ed60bdbd6b5d476bc06a4d176e30199050d9ebdddd252

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0621fbf7f25feb3ca9d50fbacb189a24f78940b3efda1d7ed34bf21c7aa36db7
MD5 900ded8d2d513174a9abfa3471c1b1d5
BLAKE2b-256 ee57a0ef34c0b6cd6d9222dd7bf4b672730177db35380ea2e4a96c5a22e7df8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4b653d381bfd024a3b91649c3db0db13d46b150767ab1cab568d8a75617bc7dd
MD5 39cb745aed0968707db9cf4227a5081b
BLAKE2b-256 520053d55a85976dd6a59dcd0ff878a0d0f527dfaaa50d0c152f058b507b99ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 68889002a349061330c8997fb8b61cdfa4d0275f91e113a140431120433fe330
MD5 985daa895ccd90e1a12c184eaa28dbcc
BLAKE2b-256 7731c0471e324d4b8ea0aae96eecf840cecf1949830b051d5f9a28d39f08a896

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0692f184d8c2271e84dc332d39c57bce33c6560c446e9a73b90c25c525ea8773
MD5 c27458807508151bc361ca565dd72f10
BLAKE2b-256 59c71c181f0971dee1e724f23a02e25022fd14c360fefd67cc71b4029a0998de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c2ad9c6e6a8c86dccf6e6fe7bf8ba48aacfcdabd8dafd373169d377877c6315d
MD5 a7ea04fff29e9b864a20ca38ca42901f
BLAKE2b-256 c69f1a5190d42d1c0ca28b87a4af8c487b96067bbe92e13c15a86a4709186376

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3e2f917377ae0b82a7ab791ed28b1f958a4adb7b67159cd36e6ccf7f77d71cdb
MD5 2be7a7c0917e163c890f381eab456c4b
BLAKE2b-256 aa9cab316c4dc10e514b1c26d5ae677d13a61025ebe21c634312c14e952047e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 e4f445dba7ecceb5707d8e684775573ac08285f5aad83808c90f23fe5593d7a2
MD5 22432759eff87135492929ae0f9f821b
BLAKE2b-256 fc06d22a48cc8e4fbc2e0d6218cac39b9baff09e88006aced99bda7edd315725

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-cp312-none-win32.whl
  • Upload date:
  • Size: 1.1 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.7-cp312-none-win32.whl
Algorithm Hash digest
SHA256 fe8ada895d54f7c8f11c48131bc5179c7de1229401304c682f967ef84e799717
MD5 afc18fb60c309b3ebf1f9333b4a9f842
BLAKE2b-256 9cee2fe603cbded9555add614f640f2250f530953fef4cee146d0d4d8c62c202

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9e89553c42c7443a1c1acc440b680363edbc5204c09bfc2b4554b61a6ea8025
MD5 c27551ab55d92c1283745af4aa8ecf4f
BLAKE2b-256 2c7a25b92ad63f400a36caa21b082437e196d2019fd9fd54d65e8e7700c658f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b864acfe886b476679be0f739be0fa698dca6b5f8cc3cfdabd08681ec8f32b2e
MD5 decfb708c7319ebb3330f8c65abe8801
BLAKE2b-256 984d6607900a3e8a61e4f8217eeece9b059735ed2cb8a755ee1e41bdb101d026

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e745c81cf10a011645482b577348004d50261c1a531e0345cefe07d871e36dbb
MD5 3c33865a5b314d1f1e641ab197b32274
BLAKE2b-256 3d25adaab6c87127fcc22e5b020a548836014c46bd01aec2ad9c7dd4b48f8239

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 35e0b0c2966415d76e4ddb97a9db06b7818bce9d755e54a1cde66a53fe18db59
MD5 1fe3858356616429f395897fb9865418
BLAKE2b-256 6e7b3d135d56c83795e5b6b74e7a9fdd893ba72cd382c17538e2b72bd00cbead

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7680dc31fd09526aa441ed2faf2e019164a9b7e3a00263f7a1a5786d33962978
MD5 4f33a7ea5a30fb108212050e66e8e3a4
BLAKE2b-256 8594c89617619aa63f6ec58cda47c2e3da7f9291b002dbe816c1408605eca341

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 86ec4d831e6486a052a43b6058109aa0aaa783046e12ce999672aeb7c06788b0
MD5 5479401fa61b459f4555b8d442e4611e
BLAKE2b-256 13584798a149d866b45044635907e5bccd11deff34fe524643d06f8e3cc98f12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7a7e45e3ffcb779059523225241475963314ad3c5e023d7b418de7bcff2d50b
MD5 05bf1139450ca8c54348514e05f10638
BLAKE2b-256 c869e2f54aadb9d8a84a5b232df3b55df811a9f651df88e6b3fb66a87ee00cf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e721d12d98b6201f8fa43f6d0d5adaa61e18447ef267da8e32f6181663fe7e13
MD5 4625d3de18b32c92884a57f90a64a609
BLAKE2b-256 1fcf3a0bb1ee641bcf291f3c0d9be6eb82ff36feb426cc8b532be0e4532a4b7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 d47783a8c78bde226db9bcb17810e7b3443255a056cb27e776c9099ab4b68f6d
MD5 a90e0c6640afbeba860d67e456bc3285
BLAKE2b-256 fe1f27be16328bc31ac6cbbf9e0c0327560b559702746b6877590cbf1b2aec47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-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.7-cp311-none-win32.whl
Algorithm Hash digest
SHA256 66457db1af62469787f0717a378cb918d95c589e10a90ff360ebabc5bbd89e7e
MD5 9b37bca3663b69321a96c90e2d31228e
BLAKE2b-256 826b4377d8e5cfebdefb8fcda07cb0ac83320855dd620551494b2843bbaa0302

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84743038b589971908fe8f5a84ac81dd5509700569e2510c2dcf5e75df24c07f
MD5 925c2a1964915659dd0aaa45380d955a
BLAKE2b-256 9feff1bc285d7cdc2dda7fba4042be03b29413fe682593167dde623dfe87cb52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f93923e35522a1b38c9d16032752be57af1b8ca436aecba55ff89aa36797b12d
MD5 f479a291f5577c3401bff0988861a637
BLAKE2b-256 f58dc8319e410dfb7a7908d7d61f9183b119be7191114ca297e9564723921d1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1bfcec28f081bbe2f93e2e80f692c1987ea41be9a5e544cbfcb916c32df06536
MD5 aa2d538555140dc934789024cdeb7cd3
BLAKE2b-256 da4ca28e390248d1fc4f9e26c92a2c215ddffcb5f94e5e247e3ca1d6d9bb7f0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cc8c3418f212f8219128012c59247831ca71c22fed7fe45eb530f8110db2419c
MD5 bfcd02ff023c0083e1376f652059bd50
BLAKE2b-256 fe077b8a2e5160b8631ab3752fe380408b24e023f99d26a167fd775486ae55d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3112271fd13c54b7da8537e8335ce70c4be92a04f47af43e8b18fe26c53d348
MD5 f197a661e005b336dad567cf26aa9b2e
BLAKE2b-256 c9070ee8d2f3c339302e00be79e976ad2bfebbf771565217d3d9abf12da83797

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2097b9bf3767155deafdfb6024611e6f60a995695b7a12fa27ed3c472a8d0a9b
MD5 9002fbaa40a83988db2ed0cf04adb97f
BLAKE2b-256 e6c25e9c3b6f4cad674ebee01dc3a4408fe5b7c03eaa4b2717c85ae4ce1f64b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10a9f386cb18460606d17d4272a027f03bbd45d407966e0779ded01f242faf92
MD5 5f9ccd4a405a7d29560a92f0d6cf9618
BLAKE2b-256 3884e978ad0fea65af8133edefca7f0890ac7f7775576eb2bc2419a0b732a808

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f4c525fe0b01a63ff2005f0f7913532310557299589c5ad7eec2886d9bce130c
MD5 fe8f7cd9350b87f21eb80f5df767a662
BLAKE2b-256 7ad2940d67c003bc7600c8de8e7963593f0cfd917072d3688ee9cc1d9fec416b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 502db031b10ab085b623082054a51a3bf73793733d233ffb133af1c30e007ca0
MD5 ae7fb94ddec92fc3e85366d16a6a3b87
BLAKE2b-256 4b0495aefc0fd48acbaee81ccfb6217f61037e875d64dc507487f4ef6cfb977a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-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.7-cp310-none-win32.whl
Algorithm Hash digest
SHA256 b30378e448375312159f371b76680955b0bcf05a9d66a6cf4c95ff42336b70c9
MD5 e7e418f123d8355478bc1a19fecf0990
BLAKE2b-256 580b5fc66a3ff54e2c2cfe36a37a2352d29e3cf51ea585ee4f6b7d06bb2c350c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f20f2f3b2a421bf320eb1c1c223477e2118cfaa31000d530c75142f89ce07e15
MD5 79e15e9a2961a5831a4326603b1fcc40
BLAKE2b-256 81236895a1da55ad9e81aa71dc097b31fa414659c17e1cc50530905208cb3535

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 53c48a4babd3fe7e0eba68129c4cb7039da0b4702cc9220e15e4314aed7148d8
MD5 54ff47a770f6009396a365c91bbf6c4a
BLAKE2b-256 e62cdbfde16611aa5f7410824ae2be8650c3c5d5270d32706598c5b6b1fb9695

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8457da064ca0aaf4d1c69dd1fcdb87e1b28eada9b89868eec1b2621b5c3f78af
MD5 0c067f5c03c378cc4d8981c689f0f3d1
BLAKE2b-256 ef63c8296b24021dc94e36468b8beb8f325db03c716ccf49e877a96fcfd18d7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fd12825521497fa120cdbb52501cf55bdfb2cb0ec03c90c746e7d844a811630d
MD5 2ec1db8ae4cc0f76134b5d96923e7451
BLAKE2b-256 6f6215c810d52f2d359e9fa5043a02179d7874dc7babc59300fd1d1c3f09e6c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 188694ce8ded857ce0c97399d58c6630abc3ac37d1537fa87f56aef8ff3f668b
MD5 0ff29cd4da0ec0885b4cd082b36fad34
BLAKE2b-256 f0212bb0dc5d37b632c956ad255d5508c4c84e4246773ea5c99d1aa48c7fb619

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c94c8a22ead5519d6bdb7e7513aa671cd3a8c17321ec2902f7e3f3a31facab3d
MD5 3d50e767a70f464f5d4fa9c2e292f0bd
BLAKE2b-256 eb203a36d8db98f2cd58564e33c4457697ae0d04f125e287dc57e41e98774f5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 493ebdeeefdedf8aeb8940da3b2bc68dde48df300624959bcc45c9bd29520ce7
MD5 7c2b6ea98d9dedea88161377e65c212c
BLAKE2b-256 45ead9ab88bb5379879b1714f15d16942f214c116c20ae542a71650b23973ab5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fe6879bc5b92fdf4220c8a07ae5f236d2b58eb78cb3860749c91070ea4ddc1f0
MD5 7c0c6eef99b7310411a53b3cfcf63553
BLAKE2b-256 0c179e2bc6785bf09caa6d0169e4daa61a2449fc7082577964adcb13f525f626

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 1.3 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.7-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 c87c377891b38d81e8a88292f4800c3e9b10f8044f51db66a309f478c9a34b87
MD5 ebcf24e011bae0f1006b755f34911d3a
BLAKE2b-256 7ed94b609344e4dd85ea969a29d4c315e864921de1f891373fc5009f07611658

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-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.7-cp39-none-win32.whl
Algorithm Hash digest
SHA256 3b3d1090d41552c992e50a0f6880b1a229454c5a356ed27ea6b5a10604bad09f
MD5 f31fe051912db481415506a3d50b8427
BLAKE2b-256 56738f37a0866dd37e418f1e2d61e89d50eed33fc92ccde7c2830a77f34cb6f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2bd9ee24d100801cb846e7383e7931c0f7b6633c30d91d4a4b0de4ed5494377
MD5 7c3418792491fcd44eb84c1340b34827
BLAKE2b-256 f0d52f0065bd81db82e2e9e61d8850d5884de9f31329f715ff5e038cd85f6a8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 283053ef76ed498e17b390a9d7e0ea983e811ae2328419ea6526f4d338224fc8
MD5 715bf3cc45b3e14a71dde8ae80aa5d27
BLAKE2b-256 ea4e3dd4cf0d7d8e7cc3a4478582a3f0a337a89e3585248f4cbc98649faa2912

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9df0774f60282f68dbe908332b02d80a480e1ff698ad8d40beebd47c59c51134
MD5 f205a07167b3f57d6633e9896378bff1
BLAKE2b-256 c1dce2ad776886dfcdb96092a1b1ad7a7b2586b20918297dd12e4d16cb0399b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b8f41c27b44294bf12aa8d00d5d93d49cfb7da4471cd84b94f26b2b8de250c30
MD5 58d21962f01ee1cc7194e714cd5518c0
BLAKE2b-256 dd7163a6b3c8449678f4801bec35887ac25a8efd23b32d3d1cdddf1b038c3147

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 33e6adaf9af053c57f6c1f6924129ae618df4e651a70806adc6a7e53748cff52
MD5 e661e8281d36baf7e4685c1bdcbc1ff0
BLAKE2b-256 856b93777ec61af2a933b9cad720b32be6af0c1bdf04cf30811a098f85975e13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 8e1e5531117d191020a044c2b5b0c833ca1368be6d74d312de470cef9d1fe2a4
MD5 93e42d56bc32d8863308e759f643cf3c
BLAKE2b-256 3abfa8258680107d5ddc3fc33b218850f514121999c9cecc0aeeaf62234b798b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 1.3 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.7-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 9265837c0aa080cf33c30f119fc7784d8406f0cb852e15878f584afe4ff9b746
MD5 1ef8bd3738401a4ae8e5e5dde34a2a49
BLAKE2b-256 206202850e44808f6cce5eb258798c9ed3ed7fc8490e2b449e696ba74eaf4025

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psqlpy-0.2.7-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.7-cp38-none-win32.whl
Algorithm Hash digest
SHA256 679d211c1d01acff7c91e2af7a0ce222dfb16c2a52095c2a51ee6e2507819952
MD5 5647a36f179cfaa15732113caa3bc17e
BLAKE2b-256 5c6547b77c1ed7a6dfe9ce10f2c984a9d13e88301af5c521a13b72f28d2a2321

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 231358d10cff0c317f450883c6ce9b62aab06e82705c748c2c59f6fbe8797224
MD5 dc7816ca864c8395f05e8fcdcb06cda7
BLAKE2b-256 c16d44461f2f697a378a57abf2105a9914d7f23273b0b64ef9a337f2f0a1f83f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6243246b67021078b5a580e2386acc36d29a0c7b8d1215541fe9b07f0103105c
MD5 c2ef39fc29043dd5ad088fc1e8b91ec4
BLAKE2b-256 1d8c6d8781fa99ccc14ee2ec0b10f39833c18dcf6dec1ea32e659a8c0aa566e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c60405457ca1207f47b4666ee1d9bd7cf9f1c628137862cdbf71ddc63a07ab57
MD5 8ea24c8d315730e483c7032a5b291b08
BLAKE2b-256 1bd635e8895c85ee8a003569317bc6423b5ff6a2d3a277a2746a8f0768337309

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d890e3ab9ebfcc3f545e84c9c39d2453bf954b15ccd685269ffd65f7d6a94e88
MD5 5615652b021d4ea2ab4f1f551ee4ef33
BLAKE2b-256 83c429e4b6b5e7fce46098b544b0d164b66e44f86d86f9f2a9b0ef3d161ac705

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a17098201f2c3ba05b0fb83040556d70ece216ec8ad20484cc75e75381106d7a
MD5 9f7ba1267e126b7b2da56636ec2fe3a5
BLAKE2b-256 fe70d5636f2370d4c851e746409d1c026a89068a98f3d7c79c67246c3fc4f491

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psqlpy-0.2.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 71e6a4be0af8ca772bd1b387321e43711c54d6db3ea8c973a2506ac59716c108
MD5 a491f871d8ecf546fa90768f3df1a01b
BLAKE2b-256 bef81e3aa86abc23a1cd32651c61b95616939e4cd584daf080dbdfb94415b9bc

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