Skip to main content

oci-genai-auth

PyPI - Version PyPI - Python Version

The OCI GenAI Auth Python library provides OCI request-signing helpers for SDKs that call OCI Generative AI, including the OpenAI and Google Gen AI SDKs.

Table of Contents

Installation

pip install oci-genai-auth

oci-genai-auth is designed to work together with the official OpenAI SDK.

Using OCI IAM Auth

Use OCI IAM auth when you want to sign requests with your OCI profile (session/user/resource/instance principal). Recommended if you are building OCI-native production workloads.

import httpx
from openai import OpenAI
from oci_genai_auth import OciSessionAuth

client = OpenAI(
    base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",
    api_key="not-used",
    http_client=httpx.Client(auth=OciSessionAuth(profile_name="DEFAULT")),
)

Using the Google Gen AI SDK

Install the optional Google SDK dependency:

pip install 'oci-genai-auth[google]'

With an OCI Generative AI API key:

import os
from google import genai

client = genai.Client(
    api_key=os.environ["OCI_GENAI_API_KEY"],
    http_options={
        "base_url": "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/google"
    },
)

For OCI IAM authentication, pass an OCI-signing httpx client. HttpxOciAuth removes Google SDK API-key headers and query parameters before signing the request.

import httpx
from google import genai
from oci_genai_auth import OciSessionAuth

client = genai.Client(
    api_key="not-used",
    http_options={
        "base_url": "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/google",
        "httpx_client": httpx.Client(auth=OciSessionAuth(profile_name="DEFAULT")),
    },
)

Using API Key Auth

Use OCI Generative AI API Keys if you want a long-lived API key style auth. Recommended if you are migrating from other OpenAI-compatible API providers.

To create the OCI Generative AI API Keys, follow this guide.

You don't need to install oci-genai-auth if you use API key auth.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",
    api_key=os.getenv("OCI_GENAI_API_KEY"),
)

Using OCI Enterprise AI Agents APIs

OCI Enterprise AI Agents provides a unified API for interacting with models and agentic capabilities.

  • It is compatible with OpenAI's Responses API and the Open Responses Spec, enabling developers to build agents with OpenAI SDK, OpenAI Agents SDK, LangChain, LangGraph, AI SDK, CrewAI, and more.
  • It offers a uniform interface, auth, billing to access multiple model providers including OpenAI, Gemini, xAI, and GPT-OSS models hosted in OCI and your Dedicated AI Cluster.
  • It provides built-in agentic primitives such as agent loop, reasoning, short-term memory, long-term memory, web search, file search, image generation, code execution, and more.

In addition to the compatible endpoint to Responses API, OCI Enterprise AI Agents also offers compatible endpoints to Files API, Vector Stores API, and Containers API.

Explore examples to get started.

Note: OpenAI commercial models and image generation are only available to Oracle internal teams at this moment.

import httpx
from openai import OpenAI
from oci_genai_auth import OciSessionAuth

client = OpenAI(
    base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",
    api_key="not-used",
    project="ocid1.generativeaiproject.oc1.us-chicago-1.aaaaaaaaexample",
    http_client=httpx.Client(auth=OciSessionAuth(profile_name="DEFAULT")),
)

Examples

Demo code and instructions on how to run them can be found in the examples folder.

Install the example dependency with:

pip install -e '.[examples]'

The examples include Responses quickstarts and sync/async Chat Completions quickstarts:

  • Responses API with API key auth: examples/quickstart_responses_create_api_key.py
  • Responses API with OCI IAM auth: examples/quickstart_responses_create_oci_iam.py
  • Chat Completions API with API key auth: examples/quickstart_chat_completions_create_api_key.py
  • Chat Completions API with API key auth, async: examples/quickstart_chat_completions_create_api_key_async.py
  • Chat Completions API with OCI IAM auth: examples/quickstart_chat_completions_create_oci_iam.py
  • Chat Completions API with OCI IAM auth, async: examples/quickstart_chat_completions_create_oci_iam_async.py
  • Google Gen AI API-key quickstart: examples/google/generate_content_api_key.py
  • Google Gen AI OCI IAM quickstart: examples/google/generate_content_oci_iam.py

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) 2026 Oracle and/or its affiliates.

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oci_genai_auth-1.1.1.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oci_genai_auth-1.1.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file oci_genai_auth-1.1.1.tar.gz.

File metadata

  • Download URL: oci_genai_auth-1.1.1.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for oci_genai_auth-1.1.1.tar.gz
Algorithm Hash digest
SHA256 e550d0d76090dc5268b2d246b0e3a5e9b4b2f7dcfeaa2d158b0f9e93426b0dc0
MD5 047e730514bd5fba0d814c753ccf2d82
BLAKE2b-256 5a5ef9caadca8533d27c2b4c3655d923471ade59c43f5c94e5cbbd2f308368ae

See more details on using hashes here.

File details

Details for the file oci_genai_auth-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: oci_genai_auth-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for oci_genai_auth-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c31aa721131353e83bf7af494c16b46f673e2c75c3262ab9061b340f8337512f
MD5 42dd68e0cf5abf0fb705d117bf32f0f6
BLAKE2b-256 28ae460fa86f1494ba5670e67a9cc47ec7b53c91bdbfa64e3d683e72fca75a46

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page