Xorbits SQL provides a SQL interface built on Xorbits, allowing you to fluidly combine pandas and SQL to solve problems using the most familiar interface.
Xorbits SQL is still at an early development stage and under active improvement. Please feel free to provide feedback if you encounter any issues or have any suggestion.
🌟 Pandas and SQL APIs in one: The popular pandas and SQL APIs now work seamlessly together.
⚡️Out-of-core and distributed capabilities: Thanks to the underlying Xorbits execution engine, out-of-core and distributed runtimes are natively supported.
🔌 Mainstream SQL dialects compatible: By leveraging SQLGlot as the SQL parser, Xorbits SQL is compatible with many dialects including DuckDB, Presto, Spark, Snowflake, and BigQuery.
Xorbits SQL can be installed via pip from PyPI. It is highly recommended to create a new virtual environment to avoid conflicts.
$ pip install "xorbits-sql"
Xorbits SQL provides a single API execute()
which will return an Xorbits DataFrame.
import xorbits.pandas as pd
import xorbits_sql as xsql
df = pd.DataFrame({"a": [1, 2, 3], "b": ['a', 'b', 'a']})
# SQL
sql = """
select b, AVG(a) as result
from t
group by b
"""
df2 = xsql.execute(
sql,
dialect=None, # optional, replace with SQL dialect, e.g. "duckdb"
tables={'t': df} # register table, table name to Xorbits DataFrame
)
print(df2)