GitHub - psqlpy-python/psqlpy: Asynchronous Python PostgreSQL driver written in Rust

PyPI - Python Version PyPI - Python Version PyPI PyPI - Downloads

Driver for PostgreSQL written fully in Rust and exposed to Python. Main goals of the library is speed and type safety.

Documentation

You can find full documentation here - PSQLPy documentation

Installation

You can install package with pip, poetry or uv.

poetry:

pip:

uv:

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 ConnectionPool and start querying. You don't need to startup connection pool, the connection pool will create connections as needed.

from psqlpy import ConnectionPool, QueryResult


async def main() -> None:
    db_pool = ConnectionPool(
        username="postgres",
        password="pg_password",
        host="localhost",
        port=5432,
        db_name="postgres",
        max_db_pool_size=2,
    )

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

    print(res.result())
    db_pool.close()

Benchmarks

You can find benchmarks with visualization on our docs

Community

Let's make PSQLPy better together! Join our community in Telegram