You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DOC: Update text to provide a broader overview (#233)
### Work Item / Issue Reference <!-- IMPORTANT: Please follow the PR template guidelines below. For mssql-python maintainers: Insert your ADO Work Item ID below (e.g. AB#37452) For external contributors: Insert Github Issue number below (e.g. #149) Only one reference is required - either GitHub issue OR ADO Work Item. --> <!-- mssql-python maintainers: ADO Work Item --> > AB#<WORK_ITEM_ID> <!-- External contributors: GitHub Issue --> > GitHub Issue: #<ISSUE_NUMBER> ------------------------------------------------------------------- ### Summary Update the docs page for the PyPi to provide more information on why the new driver is a good choice for new development or migrating existing scripts to. <!-- ### PR Title Guide > For feature requests FEAT: (short-description) > For non-feature requests like test case updates, config updates , dependency updates etc CHORE: (short-description) > For Fix requests FIX: (short-description) > For doc update requests DOC: (short-description) > For Formatting, indentation, or styling update STYLE: (short-description) > For Refactor, without any feature changes REFACTOR: (short-description) > For release related changes, without any feature changes RELEASE: #<RELEASE_VERSION> (short-description) ### Contribution Guidelines External contributors: - Create a GitHub issue first: https://github.com/microsoft/mssql-python/issues/new - Link the GitHub issue in the "GitHub Issue" section above - Follow the PR title format and provide a meaningful summary mssql-python maintainers: - Create an ADO Work Item following internal processes - Link the ADO Work Item in the "ADO Work Item" section above - Follow the PR title format and provide a meaningful summary -->
This is a new Python driver for Microsoft SQL Server currently in Public Preview phase.
3
+
mssql-python is a new first-party SQL Server driver for Python that has all of the benefits of a fresh start while preserving a familiar experience for developers.
4
+
5
+
## What makes mssql-python different?
6
+
7
+
### Powered by DDBC – Direct Database Connectivity
8
+
9
+
Most Python SQL Server drivers, including pyodbc, route calls through the Driver Manager, which has slightly different implementations across Windows, macOS, and Linux. This results in inconsistent behavior and capabilities across platforms. Additionally, the Driver Manager must be installed separately, creating friction for both new developers and when deploying applications to servers.
10
+
11
+
At the heart of the driver is DDBC (Direct Database Connectivity) — a lightweight, high-performance C++ layer that replaces the platform’s Driver Manager.
12
+
13
+
Key Advantages:
14
+
15
+
- Provides a consistent, cross-platform backend that handles connections, statements, and memory directly.
16
+
- Interfaces directly with the native SQL Server drivers.
17
+
- Integrates with the same TDS core library that powers the ODBC driver.
18
+
19
+
### Why is this architecture important?
20
+
21
+
By simplifying the architecture, DDBC delivers:
22
+
23
+
- Consistency across platforms
24
+
- Lower function call overhead
25
+
- Zero external dependencies on Windows (`pip install mssql-python` is all you need)
26
+
- Full control over connections, memory, and statement handling
27
+
28
+
### Built with PyBind11 + Modern C++ for Performance and Safety
29
+
30
+
To expose the DDBC engine to Python, mssql-python uses PyBind11 – a modern C++ binding library, instead of ctypes. With ctypes, every call between Python and the ODBC driver involved costly type conversions, manual pointer management, resulting in slow and potentially unsafe code.
31
+
32
+
PyBind11 provides:
33
+
34
+
- Native-speed execution with automatic type conversions
35
+
- Memory-safe bindings
36
+
- Clean and Pythonic API, while performance-critical logic remains in robust, maintainable C++.
4
37
5
38
## Public Preview Release
6
39
7
-
We are making progress - The Public Preview of our driver is now available! This marks a significant milestone in our development journey. While we saw a few early adopters of our public preview release, we are introducing the following functionalities to support your applications in a more robust and reliable manner.
40
+
We are currently in **Public Preview**.
8
41
9
-
###What's Included:
42
+
## What's new in v0.10.0
10
43
11
-
- Everything from previous releases
12
44
-**SUSE Linux Support:** Added full support for SUSE and openSUSE distributions alongside existing other Linux distros support, broadening enterprise Linux compatibility.
13
45
-**Context Manager Support:** Implemented Python `with` statement support for Connection and Cursor classes with automatic transaction management and resource cleanup.
14
46
-**Large Text Streaming:** Added Data At Execution (DAE) support for streaming large text parameters (`NVARCHAR(MAX)`, `VARCHAR(MAX)`), eliminating memory constraints for bulk text `execute()` operations.
@@ -26,11 +58,6 @@ For more information, please visit the project link on Github: https://github.co
26
58
27
59
If you have any feedback, questions or need support please mail us at mssql-python@microsoft.com.
28
60
29
-
### What's Next:
30
-
31
-
As we continue to develop and refine the driver, you can expect regular updates that will introduce new features, optimizations, and bug fixes. We encourage you to contribute, provide feedback and report any issues you encounter, as this will help us improve the driver for the final release.
32
-
33
-
### Stay Tuned:
61
+
## What's Next
34
62
35
-
We appreciate your interest and support in this project. Stay tuned for more updates and enhancements as we work towards delivering a robust and fully-featured driver in coming months.
36
-
Thank you for being a part of our journey!
63
+
As we continue to develop and refine the driver, you can expect regular updates that will introduce new features, optimizations, and bug fixes. We encourage you to contribute, provide feedback and report any issues you encounter, as this will help us improve the driver ahead of General Availability.
0 commit comments