Skip to content

Commit b305d47

Browse files
committed
RELEASE: 0.7.0
1 parent 94d5387 commit b305d47

File tree

5 files changed

+32
-30
lines changed

5 files changed

+32
-30
lines changed

PyPI_Description.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ We are making progress - The Public Preview of our driver is now available! This
88

99
### What's Included:
1010

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.
1415

1516
For more information, please visit the project link on Github: https://github.com/microsoft/mssql-python
1617

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@ pip install mssql-python
2020
brew install openssl
2121
pip install mssql-python
2222
```
23+
**Linux:** mssql-python can be installed with [pip](http://pypi.python.org/pypi/pip)
24+
```bash
25+
pip install mssql-python
26+
```
2327

2428
## Key Features
2529
### Supported Platforms
2630

27-
Windows and MacOS
28-
31+
Windows, MacOS and Linux (manylinux2014 - Debian, Ubuntu & RHEL)
32+
2933
> **Note:**
30-
> Support for Linux is coming soon
34+
> Support for additional Linux OSs (Alpine, SUSE Linux) will come soon
3135
>
3236
3337
### DBAPI v2.0 Compliance
@@ -45,15 +49,24 @@ By adhering to the DB API 2.0 specification, the mssql-python module ensures com
4549
### Support for Microsoft Entra ID Authentication
4650

4751
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 |
56+
|----------------------|----------------|---------------------|-------|
57+
| ActiveDirectoryPassword | ✅ Yes | ✅ Yes | Username/password-based authentication |
58+
| 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+
4963
### Enhanced Pythonic Features
5064

5165
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.
5266

5367
### Connection Pooling
5468

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).
5770

5871
## Getting Started Examples
5972
Connect to SQL Server and execute a simple query:

ROADMAP.md

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,15 @@ In future releases, we plan to add several DBAPI enhancements, including:
2525
- `Output` and `InputOutput` Parameters: Handling of output and input-output parameters in stored procedures.
2626
- Optional DBAPIs: Additional optional DBAPI features to provide more flexibility and functionality for developers.
2727

28-
**3. Connection Pooling for MacOS and Linux Distributions**
28+
**3. Cross-Platform Support: Additional Linux Distributions**
2929

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.
3431

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)**
4533

4634
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.
4735

48-
**6. Asynchronous Query Execution**
36+
**5. Asynchronous Query Execution**
4937

5038
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.
5139
- No blocking of the main thread

eng/pipelines/build-whl-pipeline.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ jobs:
376376
manylinuxTag: 'manylinux2014_x86_64'
377377
py310_arm64:
378378
shortPyVer: '310'
379-
targetArch: 'aarch64'
379+
targetArch: 'arm64'
380380
dockerPlatform: 'linux/arm64'
381381
manylinuxTag: 'manylinux2014_aarch64'
382382

@@ -388,7 +388,7 @@ jobs:
388388
manylinuxTag: 'manylinux2014_x86_64'
389389
py311_arm64:
390390
shortPyVer: '311'
391-
targetArch: 'aarch64'
391+
targetArch: 'arm64'
392392
dockerPlatform: 'linux/arm64'
393393
manylinuxTag: 'manylinux2014_aarch64'
394394

@@ -400,7 +400,7 @@ jobs:
400400
manylinuxTag: 'manylinux2014_x86_64'
401401
py312_arm64:
402402
shortPyVer: '312'
403-
targetArch: 'aarch64'
403+
targetArch: 'arm64'
404404
dockerPlatform: 'linux/arm64'
405405
manylinuxTag: 'manylinux2014_aarch64'
406406

@@ -412,7 +412,7 @@ jobs:
412412
manylinuxTag: 'manylinux2014_x86_64'
413413
py313_arm64:
414414
shortPyVer: '313'
415-
targetArch: 'aarch64'
415+
targetArch: 'arm64'
416416
dockerPlatform: 'linux/arm64'
417417
manylinuxTag: 'manylinux2014_aarch64'
418418

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def finalize_options(self):
7979

8080
setup(
8181
name='mssql-python',
82-
version='0.6.0',
82+
version='0.7.0',
8383
description='A Python library for interacting with Microsoft SQL Server',
8484
long_description=open('PyPI_Description.md', encoding='utf-8').read(),
8585
long_description_content_type='text/markdown',

0 commit comments

Comments
 (0)