Skip to main content

Python TUI database client that supports prql

Project description

PyPrql

Project Status: Active – The project has reached a stable, usable state and is being actively developed. PyPI - License PyPI PyPI - Python Version

Documentation Status Discord GitHub contributors GitHub Repo stars

CI/CD codecov

Codestyle: Black Imports: isort

PyPRQL contains these tools:

  • pyprql.pandas_accessor - Pandas integration for PRQL
  • pyprql.magic - IPython magic for connecting to databases using %%prql
  • pyprql.cli - TUI for databases using PRQL

For docs, Check out the PyPRQL Docs, and the PRQL Book.

This project is maintained by @charlie-sanders and @rbpatt2019

Installation

pip install pyprql

Try out the Pandas integration

import pandas as pd
import pyprql.pandas_accessor

df = (...)
results_df = df.prql.query('select [age,name,occupation] | filter age > 21')

Try out the Jupyter Magic

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]

Try out the TUI

With a CSV file:

curl https://people.sc.fsu.edu/~jburkardt/data/csv/zillow.csv
pyprql zillow.csv

With a Database:

pyprql 'postgresql://user:password@localhost:5432/database'
PRQL> show tables

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page