Details
-
New Feature
-
Status: In Progress (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Current State:
The existing Python connector wraps the C/C++ connector, delivering optimal performance for Python applications. However, this approach has limitations:
- Requires pre-installation of the C/C++ connector before running pip install
- Only supports CPython implementations
Objective:
This task aims to provide multiple installation options to accommodate different use cases:
- Native implementation – Pure Python solution with broader compatibility across Python variants, though with reduced performance
- C/C++ wrapper – Maintains the current high-performance approach
- Wheel distribution – Pre-compiled C/C++ binaries that eliminate the need for local C/C++ connector installation
Installation Options:
Users will be able to choose their preferred installation method:
- pip install mariadb → Native pure Python implementation
- pip install mariadb[c] → C/C++ wrapper (current approach)
- pip install mariadb[binary] → Pre-compiled binaries for common operating systems
Additional Enhancement:
The connection pool package will be implemented in pure Python to ensure compatibility across all Python implementations. Users can combine installation options, for example:
pip install mariadb[c,pool] → C/C++ wrapper with connection pool support