--- id: qpd version: "0.4.4" license: Apache-2.0 license_treatment: permissive maintenance: abandoned --- # qpd — Query Pandas Using SQL License: permissive · Maintenance: abandoned · Downloads: 350.7K/mo ## 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 above — 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 pip install qpd uv add qpd 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_current - Install friction: low - Maintenance: abandoned - Downloads: 350.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags sql on pandas dataframes, query pandas with sql, sql to pandas operations, dask ray sql interface, cross-backend sql execution, pandas sql translator, sql-query-engine, multi-backend, dataframe-abstraction [View on SkillFed](https://skillfed.io/packages/qpd) · [View on PyPI](https://pypi.org/project/qpd/)