Skip to content

Python driver for Oracle Database conforming to the Python DB API 2.0 specification. This is the renamed, new major release of cx_Oracle

License

Notifications You must be signed in to change notification settings

oracle/python-oracledb

Repository files navigation

python-oracledb

python-oracledb is a Python programming language extension module allowing Python programs to connect to Oracle Database. Python-oracledb is the new name for Oracle's popular cx_Oracle driver.

The module conforms to the Python Database API 2.0 specification with a considerable number of additions and a couple of minor exclusions, see the feature list.

Synchronous and concurrent coding styles are supported.

Installation

Run python -m pip install oracledb

See python-oracledb Installation.

Dependencies and Interoperability

  • Python versions 3.8 through 3.13.

    Prebuilt packages are available for these Python versions on Windows, on macOS and on Linux.

    Source code is also available.

  • Oracle Client libraries are optional.

    Thin mode: By default python-oracledb runs in a 'Thin' mode which connects directly to Oracle Database.

    Thick mode: Some advanced Oracle Database functionality is currently only available when optional Oracle Client libraries are loaded by python-oracledb. Libraries are available in the free Oracle Instant Client packages. Python-oracledb can use Oracle Client libraries 11.2 through 21c.

  • Oracle Database

    Thin mode: Oracle Database 12.1 (or later) is required.

    Thick mode: Oracle Database 9.2 (or later) is required, depending on the Oracle Client library version. Oracle Database's standard client-server version interoperability allows connection to both older and newer databases. For example when python-oracledb uses Oracle Client 19c libraries, then it can connect to Oracle Database 11.2 or later.

Documentation

See the python-oracledb Documentation and Release Notes.

Samples

Examples can be found in the /samples directory and the Python and Oracle Database Tutorial.

Help

Questions can be asked in Github Discussions.

Problem reports can be raised in GitHub Issues.

Tests

See /tests

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

See LICENSE, THIRD_PARTY_LICENSES, and NOTICE.