Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Select AI for Python

Select AI for Python enables you to ask questions of your database data using natural language (text-to-SQL), get generative AI responses using your trusted content (retrieval augmented generation), generate synthetic data using large language models, and other features – all from Python. With the general availability of Select AI Python, Python developers have access to the functionality of Select AI on Oracle Autonomous Database.

Select AI for Python enables you to leverage the broader Python ecosystem in combination with generative AI and database functionality - bridging the gap between the DBMS_CLOUD_AI PL/SQL package and Python's rich ecosystem. It provides intuitive objects and methods for AI model interaction.

Table of Contents

Installation

Install the Python package:

python3 -m pip install select_ai

Install the optional command line interface:

python3 -m pip install 'select_ai[cli]'

The CLI extra includes A2A server support.

Documentation

See Select AI for Python documentation

Getting Started

import select_ai

user = "<your_select_ai_user>"
password = "<your_select_ai_password>"
dsn = "<your_select_ai_db_connect_string>"

select_ai.connect(user=user, password=password, dsn=dsn)
profile = select_ai.Profile(profile_name="oci_ai_profile")
# run_sql returns a pandas dataframe
df = profile.run_sql(prompt="How many promotions?")
print(df.columns)
print(df)

Async Example

import asyncio

import select_ai

user = "<your_select_ai_user>"
password = "<your_select_ai_password>"
dsn = "<your_select_ai_db_connect_string>"

# This example shows how to asynchronously run sql
async def main():
    await select_ai.async_connect(user=user, password=password, dsn=dsn)
    async_profile = await select_ai.AsyncProfile(
        profile_name="async_oci_ai_profile",
    )
    # run_sql returns a pandas df
    df = await async_profile.run_sql("How many promotions?")
    print(df)

asyncio.run(main())

Command Line Interface

The optional select-ai command provides interactive chat, SQL, profile management, and A2A server tools for Select AI:

Chat

select-ai chat --profile OCI_AI_PROFILE

Select AI CLI demo

A2A Server

Expose one Oracle Database AI agent team as an A2A JSON-RPC HTTP server:

select-ai a2a serve --team SALES_ANALYST --port 8000

Select AI A2A server demo

The command obtains database connection settings from its options or the SELECT_AI_* environment variables. Its Agent Card is available at /.well-known/agent-card.json, and its JSON-RPC endpoint is /a2a/jsonrpc/. Set --public-url when the server is behind a proxy or load balancer so that clients receive its externally reachable URL.

For Autonomous Database mTLS, also set SELECT_AI_WALLET_LOCATION to the directory containing the unzipped wallet and set SELECT_AI_WALLET_PASSWORD. The CLI passes both values to the Select AI SDK as wallet_location and wallet_password.

The server accepts both A2A 1.x and the A2A v0.3 JSON-RPC streaming protocol for compatibility with Gemini Enterprise.

Generate the A2A v0.3 Agent Card to paste into Gemini Enterprise after the service has a public URL:

select-ai a2a agent-card \
  --team ORACLE_AI_DATABASE_AGENT \
  --public-url https://YOUR-SERVICE.run.app

Cloud Run

Deploy the A2A server to Cloud Run using the instructions in gcloud/README.md.

Samples

For in-depth examples, see the /samples directory.

Help

Questions can be asked in GitHub Discussions.

Problem reports can be raised in GitHub Issues.

Contributing

This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide

Security

Please consult the security guide for our responsible security vulnerability disclosure process

License

Copyright (c) 2025, 2026 Oracle and/or its affiliates.

Released under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl/.

Metadata

Release files for select-ai 1.5.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for select-ai 1.5.0rc2
File Size Uploaded
select_ai-1.5.0rc2.tar.gz 213.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for select-ai 1.5.0rc2
File Interpreter ABI Platform
select_ai-1.5.0rc2-py3-none-any.whl Python 3 none any Details

Total release size: 313.9 kB

Release files / select_ai-1.5.0rc2.tar.gz

Download URL select_ai-1.5.0rc2.tar.gz
Size 213.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4a5eb07c69a15af6f5f497a7e49002e13d178f0cba255661733f22d41bcd36ce
BLAKE2b-256 checksum
How to use checksums
c3bd493e59291ce8cdff3421156b4134dca72fd838437830af3503d849b0806d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / select_ai-1.5.0rc2-py3-none-any.whl

Download URL select_ai-1.5.0rc2-py3-none-any.whl
Size 100.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59f9d3af84eda7f81be5e0800e242ffa6f6822f78a81157155b7f4a280011067
BLAKE2b-256 checksum
How to use checksums
01d6051297ca98cd45f8bfb07433d4413ab985a794c6b290fc30f50f4e6b8007
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.5.0rc2 This release

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page