$npx skillfedfor your agent

cx-Oracle

Python interface to Oracle

With conditionsPyPI DatabaseReleased Nov 20213.8M downloads / moBSD LicensePlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — cx_Oracle-8.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl · cx_Oracle-8.3.0-cp310-cp310-win32.whl · cx_Oracle-8.3.0-cp310-cp310-win_amd64.whl
v8.3.0 · released 2021-11-04

Yes, if you need to connect to Oracle Database and are on Python 3.6–3.10 with Oracle client libraries available. The package is mature, permissively licensed, and has no known vulnerabilities. However, the aging release cycle (last update 2021-11-04) and lack of explicit support for Python 3.11+ make it less ideal for new projects targeting modern Python versions—verify compatibility with your Python version before committing.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Oracle client libraries (11.2, 12c, 18c, 19c, or 21c) to be installed and configured on the system; cx_Oracle 8.3.0 supports Python 3.6 through 3.10.
  • Medium install friction due to compiled C extension requiring platform-specific wheels; package is aging (last release November 2021, 1744 days old) but repository remains active with recent commits and no known vulnerabilities.

License · maintenance · safety

BSD License (permissive) — BSD License is permissive and places minimal restrictions on use, modification, or redistribution in commercial or private projects.

last release 2021-11-04 (1744 days) · last repo commit 2025-05-26 · 888 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,770,686 downloads/mo, #2,500 on PyPI

Verify before relying

pip install cx-Oracle

import cx_Oracle
connection = cx_Oracle.connect('user/password@host/database')
cursor = connection.cursor()
cursor.execute('SELECT * FROM table_name')
for row in cursor:
    print(row)
  • Whether Oracle client library installation and configuration steps are well-documented for common deployment scenarios.
  • Current status of Python 3.11+ support given the package's aging maintenance signal and last release in 2021.
Same gist for agents: .md · .json

What it is and what it does

cx_Oracle is a Python extension module that bridges Python applications to Oracle Database systems. It implements the Python database API 2.0 specification, allowing developers to execute SQL queries, manage transactions, and manipulate data in Oracle databases. The package is a compiled C extension that requires platform-specific wheels and Oracle client libraries to be present on the system.

The package has been in production use since its first release in 2014 and is classified as mature. It supports Oracle versions 11.2, 12c, 18c, 19c, and 21c. However, its maintenance has slowed significantly—the latest release is from 2021-11-04, and the repository shows an aging status. While the repository remains active with recent commits and no known security vulnerabilities, the gap in release activity and lack of explicit support for newer Python versions may be a concern for projects on modern Python stacks.

Use it for

  • Connect Python applications to existing Oracle Database instances for OLTP workloads and reporting queries.
  • Migrate legacy Oracle-dependent systems to Python while maintaining database connectivity.
  • Build data pipelines that extract, transform, and load data from Oracle into data warehouses or lakes.
  • Develop administrative tools and scripts that interact with Oracle schemas and manage database objects.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to connect to Oracle Database and are on Python 3.6–3.10 with Oracle client libraries available.

The package is mature, permissively licensed, and has no known vulnerabilities. However, the aging release cycle (last update 2021-11-04) and lack of explicit support for Python 3.11+ make it less ideal for new projects targeting modern Python versions—verify compatibility with your Python version before committing.

Install

cx-oracle on PyPI

Before you install

Medium install friction due to compiled C extension requiring platform-specific wheels; package is aging (last release November 2021, 1744 days old) but repository remains active with recent commits and no known vulnerabilities.

Requires Oracle client libraries (11.2, 12c, 18c, 19c, or 21c) to be installed and configured on the system; cx_Oracle 8.3.0 supports Python 3.6 through 3.10.

License in practice

BSD License is permissive and places minimal restrictions on use, modification, or redistribution in commercial or private projects.

Quickstart

pip install cx-Oracle

import cx_Oracle
connection = cx_Oracle.connect('user/password@host/database')
cursor = connection.cursor()
cursor.execute('SELECT * FROM table_name')
for row in cursor:
    print(row)

Verify before relying

  • Whether Oracle client library installation and configuration steps are well-documented for common deployment scenarios.
  • Current status of Python 3.11+ support given the package's aging maintenance signal and last release in 2021.

Package facts

LicenseBSD License permissive
Python supportNot specified
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceAging 1,744 days since the last release
Last repo commit
First released
Downloads3,770,686 / month, #2,500 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 6 - MatureIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: CProgramming Language :: Python :: 3 :: OnlyTopic :: Database

Evidence: cx_Oracle-8.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl; cx_Oracle-8.3.0-cp310-cp310-win32.whl; cx_Oracle-8.3.0-cp310-cp310-win_amd64.whl; cx_Oracle-8.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl; cx_Oracle-8.3.0-cp36-cp36m-win32.whl; cx_Oracle-8.3.0-cp36-cp36m-win_amd64.whl; cx_Oracle-8.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl; cx_Oracle-8.3.0-cp37-cp37m-win32.whl; cx_Oracle-8.3.0-cp37-cp37m-win_amd64.whl; cx_Oracle-8.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl; cx_Oracle-8.3.0-cp38-cp38-win32.whl; cx_Oracle-8.3.0-cp38-cp38-win_amd64.whl; cx_Oracle-8.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl; cx_Oracle-8.3.0-cp39-cp39-win32.whl; cx_Oracle-8.3.0-cp39-cp39-win_amd64.whl

Tags

Capabilities
oracle database python driverpython oracle connectionoracle db api adaptercx_oracle database accesspython oracle client libraryoracle sql execution pythonoracle database interface
Topics
oracle-clientdatabase-driverdbapi
PyPI keywords
Oracledatabase

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “oracle db api adapter”

  • cx-Oraclecx_Oracle provides a Python interface to Oracle Database,…
  • sqlparamsConverts SQL queries between different parameter styles (named,…
  • oracledbA Python driver for connecting to Oracle Database directly,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Database packages

psycopg2-binary Worth it
PyPI · Software Development · released Apr 2026

psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.

copyleftcompiled wheel · 3.9+
271.6Mdownloads / mo
redis Worth it
PyPI · Database · released Jul 2026

Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.

Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.

MITpure Python · 3.10+
268.3Mdownloads / mo
ydb Worth it
PyPI · Database · released Jul 2026

YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.

Install it if you need to connect Python applications to YDB databases.

permissive licensepure Python · 3.10+
210.0Mdownloads / mo
snowflake-connector-python Worth it
PyPI · Software Development · released Aug 2026

Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.

Apache-2.0compiled wheel · 3.10+
193.6Mdownloads / mo
sqlparse Worth it
PyPI · Software Development · released Aug 2026

sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.

Install it if you need to manipulate, format, or analyze SQL text programmatically.

BSD-3-Clausepure Python · 3.10+
148.9Mdownloads / mo
dbt-adapters With conditions
PyPI · Database · released Jul 2026

Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.

Apache-2.0pure Python · 3.10.0+
121.3Mdownloads / mo

See also oracledb · dbt-oracle · pg8000 · oci · sqlalchemy-jdbcapi · borneo · mysql-connector · casbin-sqlalchemy-adapter · psycopg2 · mysql-connector-python-rf