dmpython
Python interface to Dameng
What it is and what it does
dmPython is the official Python driver for Dameng databases, maintained by Dameng and built on the Python DB API 2.0 standard. It allows Python applications to connect directly to Dameng databases and execute SQL queries, retrieve results, and manage transactions through a familiar cursor-based interface. The driver is distributed as compiled wheels for most platforms, eliminating the need for DPI configuration in typical installations.
The package handles core database operations including connection management, SQL execution, parameter binding, and result fetching. It supports advanced features like stored procedure calls, large object handling (BLOB/CLOB), and output parameters. Recent versions have added support for boolean types, IPv6 connections, multi-tenant connections, and improved handling of special characters in passwords and bulk data operations.
Use it for:
- Connect Python applications to Dameng databases for OLTP or reporting workloads using standard DB API patterns
- Build data pipelines that extract, transform, and load data from Dameng into Python data science workflows
- Integrate Dameng as a backend for Django or SQLAlchemy-based web applications via dialect packages
- Execute parameterized queries and stored procedures from Python with proper escaping and type handling
- Manage large result sets and binary data (BLOB/CLOB) retrieval from Dameng tables
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
dmPython is a native Python driver for connecting to Dameng databases, implementing the Python DB API 2.0 specification to enable direct database access from Python applications.
Yes. dmPython is actively maintained, has no known vulnerabilities, installs cleanly via wheels, and is the official driver for Dameng database access from Python. Install it if you need to connect Python applications to Dameng databases. Be aware that SSL encryption support depends on libssl 1.1+ being available or properly configured on your system.
Install
dmpython on PyPI
pip
pip install dmpythonuv
uv add dmpythonpoetry
poetry add dmpythonInstalling dmpython
Before you install
Installation is straightforward via wheel packages with no runtime dependencies. The package is actively maintained with recent releases and supports multiple Python versions (3.7–3.14). Medium install friction reflects that source installations require DPI environment configuration, though wheel installs do not.
License in practice
Licensed under the Python Software Foundation License (permissive), allowing use in most projects without significant restrictions.
Quickstart
pip install dmPython
import dmPython
conn = dmPython.connect('SYSDBA/Dmsys_123@localhost:5236/sch1')
cursor = conn.cursor()
cursor.execute("SELECT * FROM DUAL;")
result = cursor.fetchall()
Source installations require DPI (Dameng DPI interface) environment configuration; wheel installations do not. SSL encryption module (libssl 1.1+) may need to be available or LD_LIBRARY_PATH configured to point to the bundled dmssl directory.
Verify before relying
- Whether sqlalchemy and django dialect support (dmSQLAlchemy, dmDjango) are included or require separate installation
- Specific Python version minimum requirement (classifiers list Python 2 and 3 but requires_python is unspecified)
- Full scope of supported Dameng database versions and compatibility matrix
Package facts
| License | Python Software Foundation License (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 28 days since the last release |
| First released | |
| Downloads | 387,161/month — #7,045 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dmpython-2.5.38-cp310-cp310-manylinux2010_x86_64.manylinux_2_12_x86_64.whl; dmpython-2.5.38-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; dmpython-2.5.38-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; dmpython-2.5.38-cp310-cp310-win_amd64.whl; dmpython-2.5.38-cp311-cp311-manylinux2010_x86_64.manylinux_2_12_x86_64.whl; dmpython-2.5.38-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; dmpython-2.5.38-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; dmpython-2.5.38-cp311-cp311-win_amd64.whl; dmpython-2.5.38-cp312-cp312-manylinux2010_x86_64.manylinux_2_12_x86_64.whl; dmpython-2.5.38-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; dmpython-2.5.38-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; dmpython-2.5.38-cp312-cp312-win_amd64.whl; dmpython-2.5.38-cp313-cp313-manylinux2010_x86_64.manylinux_2_12_x86_64.whl; dmpython-2.5.38-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; dmpython-2.5.38-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; dmpython-2.5.38-cp313-cp313-win_amd64.whl; dmpython-2.5.38-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; dmpython-2.5.38-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; dmpython-2.5.38-cp314-cp314-win_amd64.whl; dmpython-2.5.38-cp37-cp37m-manylinux2010_x86_64.manylinux_2_12_x86_64.whl
Keywords: Dameng
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
pydynamodbPyDynamoDB is a DB API 2.0 client for Amazon…
permissive · top 15,000 on PyPI
pyathenajdbcPyAthenaJDBC wraps the Amazon Athena JDBC…
permissive · top 15,000 on PyPI
JayDeBeApiJayDeBeApi bridges Python to Java JDBC database…
copyleft · top 5,000 on PyPI
hdbcliA PEP 249-compliant Python database driver for…
unclear · top 5,000 on PyPI
teradatasqlalchemyProvides a SQLAlchemy dialect that enables…
unclear · top 5,000 on PyPI
sqlalchemy-firebirdProvides a SQLAlchemy 2.0+ dialect for…
permissive · top 15,000 on PyPI
sqlalchemy-pytdsProvides a SQLAlchemy dialect for connecting to…
permissive · top 5,000 on PyPI
intersystems-irispythonProvides Python bindings to connect to and…
unclear · top 15,000 on PyPI
pyodpspyodps is a Python SDK for accessing Aliyun…
permissive · top 5,000 on PyPI
PyMySQLPyMySQL is a pure-Python MySQL and MariaDB…
permissive · top 1,000 on PyPI