skillfed

qpd

Query Pandas Using SQL

qpd v0.4.4 350.7K downloads/30d#7,329 on PyPI
Permissive license Apache-2.0 Abandoned released

What it is and what it does

QPD is a SQL-to-pandas translator that lets you write SQL SELECT queries and execute them on multiple dataframe backends—Pandas, Dask, and Ray (via Modin)—while guaranteeing consistent results across all of them. Rather than converting dataframes to SQLite, running SQL, and converting back, QPD directly translates SQL into the native operations of each backend, which can be faster. It prioritizes correctness and consistency: for example, it follows SQL semantics for NULL handling in GROUP BY rather than the default pandas behavior of dropping null groups.

The package depends on pandas, triad, adagio, and antlr4-python3-runtime. It supports Python 3.7 through 3.10 and is classified as production-stable. However, it has been abandoned since 2023-07-12 with no updates since then, so it will not receive bug fixes or compatibility patches for newer versions of its dependencies or Python itself.

Use it for:

  • Run the same SQL query on Pandas, Dask, or Ray without rewriting logic for each backend.
  • Migrate SQL workloads from SQLite or other databases to distributed dataframe frameworks while keeping queries unchanged.
  • Ensure consistent GROUP BY and aggregation behavior across backends by using SQL semantics instead of framework defaults.
  • Prototype data transformations in SQL before scaling them to Dask or Ray clusters.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

QPD translates SQL SELECT statements into pandas-like operations, letting you run the same SQL query on Pandas, Dask, and Ray backends and get consistent results.

Yes, if you need to run SQL on Pandas, Dask, or Ray and can tolerate an abandoned package. The low install friction and permissive license make it a low-risk experiment. However, do not rely on it for production workloads without testing thoroughly against your current dependency versions—no updates have been released since 2023-07-12, so compatibility with newer pandas, Dask, Ray, or Python versions is not guaranteed.

Install

qpd on PyPI

pip

pip install qpd

uv

uv add qpd

poetry

poetry add qpd

Installing qpd

Before you install

Low install friction with a pure-Python wheel. Maintenance is abandoned—the package has not been updated since 2023-07-12 (1129 days ago), so expect no bug fixes or compatibility updates for newer Python or dependency versions.

License in practice

Apache-2.0 is permissive and places no restrictions on commercial or private use, though you must retain license notices and disclose any modifications you distribute.

Quickstart

pip install qpd
import qpd
# Run SQL on pandas, Dask, or Ray backends via qpd's submodules

Requires Python >=3.7; runtime dependencies (pandas, triad, adagio, antlr4-python3-runtime) must be installed.

Verify before relying

  • Whether the package remains compatible with current versions of pandas, Dask, Ray, and Modin given its abandoned status.
  • Whether SQL feature coverage has expanded beyond SELECT statements since version 0.4.4.
  • Performance characteristics on large datasets or complex queries compared to direct backend SQL engines.
  • Specific API entry points and usage patterns for each backend (Pandas, Dask, Ray).

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 4 — pandas, triad, adagio, antlr4-python3-runtime
Maintenance abandoned — 1,129 days since the last release
First released
Downloads 350,688/month — #7,329 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: qpd-0.4.4-py3-none-any.whl

Keywords: pandas, sql

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

sql on pandas dataframesquery pandas with sqlsql to pandas operationsdask ray sql interfacecross-backend sql executionpandas sql translator
sql-query-enginemulti-backenddataframe-abstraction

More Python Modules packages