Pyngres
Platform independent applications using Actian Ingres and Vector.
pyngres is a pure Python bindings project for the
Actian Ingres and Vector OpenAPI. [1] Pyngres is available for Windows, Linux, and MacOS/Darwin. It is
intended to support the development of everything from robust, high-performance
enterprise applications delivered using thin or fat clients, to embedded
Internet-of-Things (IoT) applications.
There is nothing you can do with C that you cannot do with Python using pyngres. Many things are easier and more convenient using pyngres than using the OpenAPI in C code. This makes pyngres an excellent tool for learning and prototyping, as well as application development.
Pyngres supports:
native communication using the Ingres GCA, without ODBC/JDBC/.Net
Python asyncio awaitable OpenAPI functions
asynchronous callback to Python functions (with Python object closures)
multiple concurrent Ingres sessions without multithreading
native Ingres GCA tracing
the entire Ingres SQL language, including the proprietary extensions
query plan caching
asynchronous database event (DBEVENT) notification
database message handling
2-phase commit and XA transactions
API-level tracing using loguru
all the Ingres performance diagnostic tracing capabilities, including:
execution plan (QEP) display
lock tracing
I/O tracing
log tracing
Pyngres is compatible with asyncio,
pyside6.QtAsyncio,
or with any other package having a Python asyncio-compatible event-loop. It can
therefore be used to develop rich, responsive GUI database applications as well
as back-end logic to be hosted by an application server for SaaS.