Skip to Content
Be one of the first to try Databao! Sign up for Alpha →
Configure data sources

Configure data sources

SQL databases

Databao accesses SQL databases using SQLAlchemy. For example, to connect to a PostgreSQL database with credentials stored in environment variables, you can use the following code:

import os from sqlalchemy import create_engine import databao user = os.environ.get("DATABASE_USER") password = os.environ.get("DATABASE_PASSWORD") host = os.environ.get("DATABASE_HOST") database = os.environ.get("DATABASE_NAME") engine = create_engine( f"postgresql://{user}:{password}@{host}/{database}" ) pg_conn = engine.connect()

After you initialize an agent, you can add the database connection to it as follows:

... agent.add_db(pg_conn)

To connect to other databases, you can adjust the code accordingly.

DuckDB

If you have data in a DuckDB database, you can add it as a data source as follows:

import duckdb import databao DB_PATH = "data.duckdb" d_conn = duckdb.connect(DB_PATH, read_only=True)

After you initialize an agent, you can add the DuckDB connection to it as follows:

... agent.add_db(d_conn)

Dataframe

Databao can access dataframes as data sources.

After you initialize an agent, add a dataframe to it as follows:

... agent.add_df(df)

CSV files

To add a CSV file as a data source, create a dataframe from the file:

import pandas as pd import databao df_csv = pd.read_csv("data.csv")

After you initialize an agent, add the dataframe to it as follows:

... agent.add_df(df_csv)

Context

After you initialize an agent, you can add context to it as a string or as a file path.

import databao from pathlib import Path ... agent.add_context("context string") agent.add_context(Path("context.md"))

You can also add context together with a dataframe as follows:

import databao from pathlib import Path ... agent.add_df(df_csv, context="context string")) agent.add_df(df_csv, context=Path("context.md"))
Last updated on