The production release of the Oracle Database Programming Interface for C (ODPI-C), which gives more streamlined access to C and C++ developers to Oracle Database, has been launched on GitHub.

The open-source wrapper is aimed primarily at language interface developers, allowing users to quickly call more common features of the Oracle Call Interface (OCI), the main C API for Oracle Database. But the company says that its conciseness makes it a flexible and accessible tool.

The library is being used internally by Oracle for the Python cx_Oracle 6 interface and has already been implemented in Python, Node.js, Go and Rust interfaces and in custom applications.

ODPI-C aims to simplify memory and resource management when binding and defining data with a reference counting mechanism that stops applications from destroying resources that are in-use.

The project was an effort by the Oracle Database Data Access team, who maintain OCI and additional APIs for Oracle Database. ODPI-C was led by developer Anthony Tuininga, who also leads development of the cx_Oracle interface for Python.

Version 6 of cx_Oracle features support for the new ODPI-C abstraction layer. Notable changes include compatibility with Python Wheels and improvements to scalability, all made possible by ODPI-C.

The ODPI-C source code is available under the Apache 2.0 and Oracle UPL licenses for direct inclusion in the code base of an interface or other project.

It has been tested on Windows, Linux and OS X, with a minimum requirement of Visual Studio 2008, GCC 4.4 and Xcode 6, respectively.

About Ian C. Schafer