Skip to content

Install the CLI

The pda command-line tool sets up and maintains Polaris projects: it creates the project folder, syncs table docs, runs tests, deploys context, and can run Polaris locally.

  • Python 3.11 or newer.
  • uv.
  • A checkout of the Polaris repository.

From the root of the Polaris repository:

Terminal window
uv venv .venv
source .venv/bin/activate
uv pip install './cli[aws-secrets]'

The aws-secrets extra adds the AWS SDK, which the Amazon Bedrock model provider and {{ aws('...') }} secret references need.

To work on the CLI itself, install it in editable mode:

Terminal window
uv pip install -e './cli[aws-secrets]'

Check the install:

Terminal window
pda --version
pda --help

Add the extras for the databases and features you use, separated by commas:

Terminal window
uv pip install './cli[aws-secrets,duckdb,snowflake]'
Group Extras
Databases athena, bigquery, clickhouse, databricks, duckdb, fabric, mssql, mysql, postgres, redshift, snowflake, starrocks, trino
Model providers anthropic, gemini, mistral, ollama, openai
Document sources notion, confluence
Semantic layer semantic-layer
Secret backends aws-secrets, k8s-secrets
Bundles all-databases, all-llms, all

pda init installs missing extras for the databases and providers you configure.

The CLI uses your normal AWS credentials to call Bedrock models, for pda debug, AI table summaries and pda chat. Sign in with AWS first and pass the profile:

Terminal window
AWS_PROFILE=<your-profile> pda debug

The profile needs permission to invoke Bedrock models.

pda chat runs the full Polaris web app on your machine. It needs the bundled server, which is built from the repository with cli/build.py. The other commands do not need it.

The CLI sends anonymous command usage events. Set POSTHOG_DISABLED=true to turn them off.