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
Copy file name to clipboardExpand all lines: PyPI_Description.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,10 @@ We are making progress - The Public Preview of our driver is now available! This
8
8
9
9
### What's Included:
10
10
11
-
- Everything from alpha
12
-
- macOS Support: The mssql-python driver now supports macOS on Intel as well as ARM-based systems, enabling seamless development on Apple Silicon (M-series) devices. This milestone strengthens our cross-platform capabilities—and we’re just getting started. Linux support is on the horizon!
13
-
- Connection Pooling: We've introduced a robust and configurable connection pooling system designed to significantly enhance performance and optimize resource utilization. This feature ensures more efficient management of database connections, especially under high-load scenarios. This feature is only available on Windows as of now.
11
+
- Everything from previous releases
12
+
-**Linux Support**: The mssql-python driver now supports Linux OS (manylinux2014) - Ubuntu, Debian and RHEL, enabling seamless development on Linux based systems. Added Linux driver libraries and related logic for architecture-specific handling and ODBC driver path resolution. Support for other Linux based distros will come in subsequent releases.
13
+
-**Connection Pooling Support for MacOS and Linux**: Implemented connection pooling features for MacOS and Linux, including tests and unified code support for pooling across platforms.
14
+
Expanded Pipeline/Test Matrix: Added/expanded support for Python versions < 3.13 and enhanced database setup for testing, including LocalDB and Docker-based SQL Server.
14
15
15
16
For more information, please visit the project link on Github: https://github.com/microsoft/mssql-python
Copy file name to clipboardExpand all lines: README.md
+19-6Lines changed: 19 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,14 +20,18 @@ pip install mssql-python
20
20
brew install openssl
21
21
pip install mssql-python
22
22
```
23
+
**Linux:** mssql-python can be installed with [pip](http://pypi.python.org/pypi/pip)
24
+
```bash
25
+
pip install mssql-python
26
+
```
23
27
24
28
## Key Features
25
29
### Supported Platforms
26
30
27
-
Windowsand MacOS
28
-
31
+
Windows, MacOS and Linux (manylinux2014 - Debian, Ubuntu & RHEL)
32
+
29
33
> **Note:**
30
-
> Support for Linux is coming soon
34
+
> Support for additional Linux OSs (Alpine, SUSE Linux) will come soon
31
35
>
32
36
33
37
### DBAPI v2.0 Compliance
@@ -45,15 +49,24 @@ By adhering to the DB API 2.0 specification, the mssql-python module ensures com
45
49
### Support for Microsoft Entra ID Authentication
46
50
47
51
The Microsoft mssql-python driver enables Python applications to connect to Microsoft SQL Server, Azure SQL Database, or Azure SQL Managed Instance using Microsoft Entra ID identities. It supports various authentication methods, including username and password, Microsoft Entra managed identity, and Integrated Windows Authentication in a federated, domain-joined environment. Additionally, the driver supports Microsoft Entra interactive authentication and Microsoft Entra managed identity authentication for both system-assigned and user-assigned managed identities.
48
-
52
+
53
+
EntraID authentication is now fully supported on MacOS and Linux but with certain limitations as mentioned in the table:
54
+
55
+
| Authentication Method | Windows Support | macOS/Linux Support | Notes |
| ActiveDirectoryInteractive | ✅ Yes | ❌ No | Only works on Windows |
59
+
| ActiveDirectoryMSI (Managed Identity) | ✅ Yes | ✅ Yes | For Azure VMs/containers with managed identity |
60
+
| ActiveDirectoryServicePrincipal | ✅ Yes | ✅ Yes | Use client ID and secret or certificate |
61
+
| ActiveDirectoryIntegrated | ✅ Yes | ❌ No | Only works on Windows (requires Kerberos/SSPI) |
62
+
49
63
### Enhanced Pythonic Features
50
64
51
65
The driver offers a suite of Pythonic enhancements that streamline database interactions, making it easier for developers to execute queries, manage connections, and handle data more efficiently.
52
66
53
67
### Connection Pooling
54
68
55
-
The Microsoft mssql_python driver provides built-in support for connection pooling, which helps improve performance and scalability by reusing active database connections instead of creating a new connection for every request.
56
-
69
+
The Microsoft mssql_python driver provides built-in support for connection pooling, which helps improve performance and scalability by reusing active database connections instead of creating a new connection for every request. This feature is enabled by default. For more information, refer [Connection Pooling Wiki](https://github.com/microsoft/mssql-python/wiki/Connection#connection-pooling).
Copy file name to clipboardExpand all lines: ROADMAP.md
+4-16Lines changed: 4 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,27 +25,15 @@ In future releases, we plan to add several DBAPI enhancements, including:
25
25
-`Output` and `InputOutput` Parameters: Handling of output and input-output parameters in stored procedures.
26
26
- Optional DBAPIs: Additional optional DBAPI features to provide more flexibility and functionality for developers.
27
27
28
-
**3. Connection Pooling for MacOS and Linux Distributions**
28
+
**3. Cross-Platform Support: Additional Linux Distributions**
29
29
30
-
Connection pooling will be made available soon for MacOS and Linux distributions, allowing for efficient reuse of database connections. The feature is already available for Windows OS. This feature will significantly improve performance by reducing the overhead associated with establishing new connections for each database operation .
31
-
- Reduce Connection creation overhead
32
-
- Improve scalability via efficient reuse of connections
33
-
- Enhance multi-threaded operation performance
30
+
We are committed to providing cross-platform support for our Python driver. In the next few weeks, we will release support for additional Linux distributions viz Alpine, SUSE Linux & Oracle Linux.
34
31
35
-
**4. Cross-Platform Support: Linux Distributions**
36
-
37
-
We are committed to providing cross-platform support for our Python driver. In the next few weeks, we will release versions compatible with various Linux distributions. This will enable developers to use the driver on their preferred operating systems without any compatibility issues.
38
-
Soon, you will be able to:
39
-
- Use the driver across multiple environments and OS
40
-
- Deploy application on cloud-native platforms
41
-
- Avoid compatibility issues with system-dependent code
42
-
- Flexibility in choosing development environments
43
-
44
-
**5. Bulk Copy (BCP)**
32
+
**4. Bulk Copy (BCP)**
45
33
46
34
Bulk Copy API (BCP) support is coming soon to the Python Driver for SQL Server. It enables high-speed data ingestion and offers fine-grained control over batch operations, making it ideal for large-scale ETL workflows.
47
35
48
-
**6. Asynchronous Query Execution**
36
+
**5. Asynchronous Query Execution**
49
37
50
38
We are also working on adding support for asynchronous query execution. This feature will allow developers to execute queries without blocking the main thread, enabling more responsive and efficient applications. Asynchronous query execution will be particularly beneficial for applications that require high concurrency and low latency.
0 commit comments