跳转到主要内容

PRQL的Python扩展

项目描述

pyprql

CI/CD Documentation Status

PyPI PyPI - Python Version Codestyle: Black

pyprql包含

  • pyprql.pandas_accessor — PRQL的Pandas集成
  • pyprql.polars_namespace — PRQL的Polars集成
  • pyprql.magic — 使用%%prql连接数据库的IPython魔法
  • pyprql.compile — prqlccompile函数的导出

有关文档,请参阅pyprql文档PRQL Book

安装

pip install pyprql

或者,使用可选依赖项安装

pip install pyprql[polars]

用法

Pandas集成

import pandas as pd
import pyprql.pandas_accessor

df = (...)
results_df = df.prql.query("select {age, name, occupation} | filter age > 21")

Polars集成

import polars as pl
import pyprql.polars_namespace

df = (...)
results_df = df.prql.query("select {age, name, occupation} | filter age > 21")

Jupyter魔法

In [1]: %load_ext pyprql.magic
In [2]: %prql postgresql://user:password@localhost:5432/database
In [3]: %%prql
   ...: from p
   ...: group categoryID (
   ...:   aggregate {average unitPrice}
   ...: )
In [4]: %%prql results <<
   ...: from p
   ...: aggregate {min unitsInStock, max unitsInStock}

编译

此库公开了prqlc.compile,因此我们可以简单地生成SQL

import pyprql
pyprql.compile("from artists | select track")
print(pyprql.compile("from artists | select track"))

...返回...

SELECT
  track
FROM
  artists

为了说明,Python中的prqlcprqlc Rust crate的Python绑定,因此只包含编译功能的函数;此库提供了更广泛的Python集成和工具。

支持

该项目由@charlie-sanders@rbpatt2019创建,目前由更广泛的PRQL团队维护。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pyprql-0.12.1.tar.gz (18.0 kB 查看哈希值)

上传时间 源代码

构建分发

pyprql-0.12.1-py3-none-any.whl (21.2 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面