cx_Oracle is a Python extension module that enables access to Oracle Database. It conforms to the Python database API 2.0 specification with a considerable number of additions and a couple of exclusions. See the homepage for a feature list.
cx_Oracle 8 has been tested with Python versions 3.6 through 3.9. You can use cx_Oracle with Oracle 11.2, 12c, 18c, 19c and 21c client libraries. Oracle's standard client-server version interoperability allows connection to both older and newer databases. For example Oracle 19c client libraries can connect to Oracle Database 11.2. Older versions of cx_Oracle may work with older versions of Python.
See the cx_Oracle Documentation and Release Notes.
See the /samples directory and the tutorial. You can also look at the scripts in cx_OracleTools and the modules in cx_PyOracleLib.
Issues and questions can be raised with the cx_Oracle community on GitHub or on the mailing list.
See /test.
See CONTRIBUTING
cx_Oracle is licensed under a BSD license which you can find here.