Skip to content

Releases: oracle/python-select-ai

v1.4.0

06 Jun 05:01
64977c6

Choose a tag to compare

Release Notes: v1.4.0

Release date: 2026-06-05
Comparison: v1.3.0..v1.4.0

Highlights

  • Added optional select-ai command line interface.
  • Added streaming support for LLM CLOB responses in sync and async profile APIs.
  • Added sync and async APIs for granting and revoking external host network access.
  • Added AI Agent team export/import support.
  • Expanded documentation for CLI usage, async APIs, web frameworks, and concurrent prompt processing.
  • Added substantial agent, profile, feedback, privilege, and synthetic data test coverage.

New Features

Command Line Interface

A new optional CLI is available via:

python3 -m pip install 'select_ai[cli]'

New console command:

select-ai

Supported command groups include:

  • select-ai chat for an interactive context-aware chat REPL.
  • select-ai sql show, run, explain, and narrate.
  • select-ai profile list, summarize, and translate.

CLI connection values can be supplied with options or environment variables such as SELECT_AI_USER, SELECT_AI_PASSWORD, and SELECT_AI_DB_CONNECT_STRING.

Streaming Profile Responses

Profile and AsyncProfile now support streaming generated CLOB text responses with stream=True and configurable chunk_size.

Supported text APIs include:

  • chat
  • narrate
  • explain_sql
  • show_sql
  • show_prompt

run_sql does not support streaming.

Network Access Privilege APIs

Added sync APIs:

  • select_ai.grant_network_access(...)
  • select_ai.revoke_network_access(...)

Added async APIs:

  • select_ai.async_grant_network_access(...)
  • select_ai.async_revoke_network_access(...)

These APIs manage host ACL entries with configurable host, privileges, and optional port ranges.

Agent Team Export/Import

Added sync and async support for exporting and importing AI Agent teams.

Sync:

  • Team.export_team(...)
  • Team.import_team(...)
  • team.export(...)

Async:

  • AsyncTeam.export_team(...)
  • AsyncTeam.import_team(...)
  • await team.export(...)

Exports can return an inline JSON specification or write to object storage when credential and location are supplied.

Fixes

  • Fixed ProfileAttributes.set_attribute() when setting provider attributes before a provider object is initialized.
  • Fixed synthetic data attributes so JSON-string params are coerced into SyntheticDataParams.
  • Hardened privilege grant/revoke SQL by using DBMS_ASSERT and bind values for schema user handling.
  • Removed credential value echoing from invalid credential validation errors.
  • Updated HTTP tool creation behavior around backend TOOL_TYPE validation.
  • Fixed test-user setup by adding missing CREATE PROCEDURE privilege.
  • Cleaned up duplicate fixtures and CI build issues.

Documentation

Added or significantly expanded docs for:

  • CLI workflows.
  • Sync and async profile usage.
  • Sync and async AI Agent usage.
  • Web framework integration patterns.
  • Concurrent prompt processing recipes.
  • Network privilege management.
  • Streaming profile responses.
  • Team export/import.

Testing and CI

  • Added broad AI Agent tests for tools, tasks, agents, teams, SQL teams, and end-to-end flows.
  • Added sync and async profile feedback tests.
  • Added privilege tests for network ACL grant/revoke APIs.
  • Added streaming response tests for sync and async profile APIs.
  • Added synthetic data JSON-string parameter coercion tests.
  • Added Macaron GitHub Actions workflow.
  • Added release workflow updates.

v1.3.0

14 Mar 05:08
dabcaa4

Choose a tag to compare

This release includes the following updates:

  • Better concurrency support using 2 new APIs - select_ai.create_pool() and select_ai.create_pool_async(). This creates a shared connection pool for optimal resource sharing

  • Support to fetch the UTC timestamp of the next scheduled refresh of Vector Index using vector_index.get_next_refresh_timestamp()

  • Vector Index create() API exposes wait_for_completion argument same as the PL/SQL API

  • Bug fix in Slack notification agent tool. The channel name should be passed using channel instead of slack_channel

  • Bug fix in Email notification agent tool. Missing subject in the API signature

  • Support instruction parameter in all tool creation APIs to give a precise set of instructions

  • Added more NL2SQL APIs in Session object. Also, select_ai.Session uses the same cursor for the duration of the session. This is logically required to give AI agent feedback on mapped SQL in the same session

  • Custom errors to detect empty attributes corresponding to Select AI objects

v1.2.2

25 Jan 06:56
aceba55

Choose a tag to compare

This is a maintenance release with the following bug fixes and updates:

v1.2.1

18 Dec 07:29
0b6798f

Choose a tag to compare

This is a maintenance release with the following updates

  • Support for profile.translate()
response = profile.translate(
    text="Thank you", source_language="en", target_language="de"
)
  • Bug fix during profile.list() which was failing for dummy profiles
  • Multiple bug fixes for profile.add_positive_feedback(), profile.add_negative_feedback() and profile.delete_feedback()
  • Enhanced testing coverage for overall stability

v1.2.0

14 Nov 01:41
aa3cc84

Choose a tag to compare

This release includes the following updates and enhancements:

v1.1.0

22 Sep 16:35
27846fc

Choose a tag to compare

This release includes the following updates:

  • Fixes #6
  • Fixed bugs for vector_index get/set attributes
  • Handle "no data for prompt" during profile.run_sql to return an empty dataframe
  • Handle missing profile when you list vector indexes using vector_index.list()
  • Make enable / disable vector index operations idempotent
  • Added new samples
  • Verified tests for both 19c and 23ai

v1.0.0

04 Sep 16:38
fe8a14f

Choose a tag to compare

Select AI for Python v1.0.0

  • Create and manage Select AI’s AI profile objects
  • Text-to-SQL : Query your database using natural language, whether to generate a SQL query, run or explain that query, or get a narrated response to the results of that query.
  • Chat: Use your LLM directly for content generation based on your user prompt—for example, generating custom emails, answering questions, and sentiment analysis—just to name a few use cases.
  • Retrieval-Augmented Generation (RAG): Enable LLMs to generate more relevant responses by augmenting your prompt with knowledge from your provided documents
  • Automated vector index creation and maintenance: Quickly and easily create a vector index to be used with RAG using data from cloud storage and other sources.
  • Results integrated in Python objects: Receive AI-generated results directly into Python data structures, facilitating analysis and integration.
  • Chatbot with conversation memory: Create and manage named conversations based on your interactions with the LLM.
  • Synthetic data generation: Generate synthetic data for a single table or a set of tables with referential integrity constraints.
  • Synchronous and asynchronous invocation: Build applications using Python with either synchronous or the more flexible asynchronous programming style using standalone Python clients. With asynchronous support, the API integrates easily with web frameworks like FastAPI or Flask, enabling real-time AI-driven applications.