--- id: cx-oracle version: "8.3.0" license: BSD License license_treatment: permissive maintenance: aging --- # cx-Oracle — Python interface to Oracle License: permissive · Maintenance: aging · Downloads: 3.8M/mo ## 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 above — verify before relying. cx_Oracle provides a Python interface to Oracle Database, implementing the Python database API 2.0 specification to enable queries, transactions, and data manipulation against Oracle instances. 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 pip install cx-oracle uv add cx-oracle poetry add cx-oracle ## Installing cx-Oracle 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. 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) 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. 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 - License: BSD License (permissive) - Python support: unspecified - Install friction: medium - Maintenance: aging - Downloads: 3.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags oracle database python driver, python oracle connection, oracle db api adapter, cx_oracle database access, python oracle client library, oracle sql execution python, oracle database interface, oracle-client, database-driver, dbapi [View on SkillFed](https://skillfed.io/packages/cx-oracle) · [View on PyPI](https://pypi.org/project/cx-oracle/)