python-oracledb
python-oracledb is a Python programming language extension module
allowing Python programs to connect to Oracle Database. It is the
renamed, new major release of the 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 11.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.