This package includes the Denodo Dialect for SQLAlchemy, which offers an easy way to connect to Denodo databases from SQLAlchemy https://www.sqlalchemy.org/
Denodo documentation and software resources are available at https://community.denodo.com
This dialect supports Denodo 8.0 and higher.
Pre-requisites
Python 3.9 or newer is needed.
This dialect requires the following Python modules:
- SQLAlchemy 1.4.36 or higher. SQLAlchemy 2.0.x is recommended.
- psycopg2 version 2.9.6 or higher.
These Python modules are also required dependencies in order to use Denodo Virtual DataPort's Flight SQL interface (available since Denodo 9.1):
- SQLAlchemy 2.0.0 or higher.
- adbc-driver-flightsql version 1.3.0.
- pyarrow version 19.0.0.
Required dependencies will be installed automatically, in order to install dependencies for Flight SQL
the flightsql extras package needs to be installed:
pip install denodo-sqlalchemy[flightsql]
Alternatively, dependency packages can be installed manually:
pip install sqlalchemy~=2.0.0
pip install psycopg2-binary>=2.9.6
pip install adbc-driver-flightsql~=1.3.0
pip install pyarrow~=19.0.0
Important: note also that psycopg2 has its own requirements for installation which need to be satisfied: https://www.psycopg.org/docs/install.html#prerequisites
Installation
The Denodo Dialect for SQLAlchemy can be installed from the public PyPI repository using pip:
pip install --upgrade denodo-sqlalchemy
Or (only for Denodo 9.1+):
pip install --upgrade denodo-sqlalchemy[flightsql]
pip automatically installs all required dependencies.
Usage
To connect to Denodo VDP Server with SQLAlchemy, the following URL pattern can be used:
denodo://<username>:<password>@<host>:<port[9996]>/<database>
This will create a connection using the default driver psycopg2, so it is equivalent to:
denodo+psycopg2://<username>:<password>@<host>:<port[9996]>/<database>
In order to create a connection using Flight SQL, you would need:
denodo+flightsql://<username>:<password>@<host>:<port[9994]>/<database>
Please note that Flight SQL connections assume SSL is enabled at the server. If not, you would need to add the use_encryption parameter set to False, like:
engine = sqlalchemy.create_engine("denodo+flightsql://<username>:<password>@<host>:<port[9994]>/<database>", connect_args={"use_encryption":"false"})
Metadata
Release files for denodo-sqlalchemy 2.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| denodo_sqlalchemy-2.0.5.tar.gz | 29.8 kB | Without provenance | Details for denodo_sqlalchemy-2.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| denodo_sqlalchemy-2.0.5-py3-none-any.whl | Python 3 | none | any | Details for denodo_sqlalchemy-2.0.5-py3-none-any.whl |
Total release size: 70.9 kB
Release files / denodo_sqlalchemy-2.0.5.tar.gz
| Download URL | denodo_sqlalchemy-2.0.5.tar.gz |
|---|---|
| Size | 29.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa379e2055c4448c1b6bf51cd81ab66170d96e1bc9a1e67246446e642160a339
|
|
BLAKE2b-256 checksum How to use checksums |
76c5775a485b8fecd0ce12d0ccf4ab346016a3034f51efb8a3add8c25d38f0b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / denodo_sqlalchemy-2.0.5-py3-none-any.whl
| Download URL | denodo_sqlalchemy-2.0.5-py3-none-any.whl |
|---|---|
| Size | 41.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
119736dd3915de84a70697020e4d74bf99a61fa05e162228f3d82876f2b247bf
|
|
BLAKE2b-256 checksum How to use checksums |
fef7b2ddd43a81fe424912b90831683c6f0dbb8d76342df9d2cea769f6fa33bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for denodo-sqlalchemy 2.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.