semvec/pypi-packages huggingface dataset:
cx_oracle_on_ctypes 0.1.dev0
Ctypes-based Python interface to Oracle, compatible with cx_Oracle
License: BSD
Keywords: Oracle ctypes cx_Oracle

cx_oracle_on_ctypes
===================

What
----

cx_Oracle re-written in Python, using ctypes to interface with Oracle native code. 100% API-compatible with cx_Oracle.

Why?!
-----

cx_Oracle is great code, but as many CPython extensions, it is not compatible with other Python implementations. I rewrote it in Python to be able to use PyPy and possibly Jython and IronPython. Also, ctypes is the recommended way to integrate C code with PyPy, as it can benefit from the JIT and no CPython emulation must be done.

How good is it?
---------------

Most of the Oracle datatypes are implemented and most of tests from cx_Oracle pass. Django works. Tested with Oracle 10 and 11.
The performance is not as good as cx_Oracle yet, but it improves fast as PyPy's JIT improves.

Installation
------------

As in cx_Oracle, you need the binary library from Oracle ( the instant client will suffice ) and you need to setup the environment variables so that Python can find it. As an example, take a look into https://github.com/lameiro/cx_oracle_on_ctypes/blob/master/test/setup_test_env_10.sh and adapt accordingly.

To install the python module, just put the cx_Oracle dir in your PYTHONPATH.

License
-------

3-clause BSD, like cx_Oracle. See http://opensource.org/licenses/BSD-3-Clause

Differences
-----------

cx_oracle_on_ctypes is 100% API compatible with cx_Oracle. If you find any missing functionality, even if it is not in the DB-API specification, report a bug.

Contributing
------------

Feedback and patches are welcome. Send them through the issue tracker or by e-mail.


Changelog
=========


0.1 (unreleased)
----------------

- Add packaging-files like ``setup.py``, ``setup.cfg``, ``MANIFEST.in``
  [WouterVH]

- Fix thread-safety issues with the DescriptorManager.
  Fixes https://github.com/lameiro/cx_oracle_on_ctypes/issues/8
  [lameiro / K0Te]

- Fix ``StatementError: 'module' object has no attribute 'Binary'`` in SqlAlchemy.
  Fixes https://github.com/lameiro/cx_oracle_on_ctypes/issues/6
  [lameiro]

- Support ``kwargs`` for sid and service name. Fixes sqlalchemy ``create_engine``.
  Fixes https://github.com/lameiro/cx_oracle_on_ctypes/issues/5
  [lameiro / muxueqz]

- Compatibility with oracle 12.
  Fixes https://github.com/lameiro/cx_oracle_on_ctypes/issues/4
  [lameiro]

- Fix type in ``OCILobIsTemporary``-function-call.
  Fixes https://github.com/lameiro/cx_oracle_on_ctypes/issues/2
  [K0Te]

- Fix error on windows.
  Fixes https://github.com/lameiro/cx_oracle_on_ctypes/issues/2
  [lameiro]

- Initial implementation
  [lameiro]

Contributors
============

.. Append your name if you have contributed to this package.

- Leandro Lameiro <lameiro@gmail.com>
- K0Te <juravel2@gmail.com>
- Pei-Lun Lee <ypcat6@gmail.com>
- Wouter Vanden Hove <wouter.vanden.hove@bics.com>