July 14th, 2025
heart2 reactions

Announcing Full Cross-Platform Support for the mssql-python Driver

Sumit Sarabhai
Engineering Manager

c1014e61 a66d 4807 ab58 655671044f49 image

After the successful release of Public Preview of mssql-python driver, we’re thrilled to announce a major milestone for the mssql-python driver: full support for all three major operating systems—Windows, macOS, and Linux. This release marks a significant leap forward in our mission to provide seamless, performant, and Pythonic connectivity to Microsoft SQL Server and the Azure SQL family. 

Try it here: mssql-python 

We invite Python community to join us and contribute in shaping the future of Python connectivity with SQL Server!

Linux Joins the Party 

With this release, Linux support is officially live, completing our cross-platform vision. Whether you’re developing on Ubuntu, Red Hat or Debian, the mssql-python driver now offers native compatibility and a streamlined installation experience. This was made possible through deep integration work and iterative testing across distros.

Note:

  • Support for other distros (Alpine and SUSE Linux) is going to be released soon.
  • Support for server editions of Linux OSs will also be releasing soon!

Connection Pooling for All Platforms 

We’ve also rolled out Connection Pooling support across Windows, macOS, and Linux. This feature dramatically improves performance and scalability by reusing active database connections. It’s enabled by default and has already shown significant gains in internal benchmarks. 

Important:

Our latest performance benchmark results show mssql-python outperforming pyodbc by up to 2.2× across core SQL operations, fetch patterns, and connection pooling—stay tuned for a deep dive into the numbers and what’s driving this performance leap in our upcoming blogs!

EntraID Support for MacOS and Linux

EntraID authentication is now fully supported on MacOS and Linux but with certain limitations as mentioned in the table:

Authentication Method macOS/Linux Support Notes
ActiveDirectoryPassword ✅ Yes Username/password-based authentication
ActiveDirectoryInteractive ❌ No Only works on Windows
ActiveDirectoryMSI (Managed Identity) ✅ Yes For Azure VMs/containers with managed identity
ActiveDirectoryServicePrincipal ✅ Yes Use client ID and secret or certificate
ActiveDirectoryIntegrated ❌ No Only works on Windows (requires Kerberos/SSPI)

Note:

ActiveDirectoryInteractive for Linux and MacOS will be supported in future releases of the driver. Please stay tuned! 

Unified Codebase, Smarter Engineering 

Behind the scenes, we’ve unified the mssql-python driver’s codebase across platforms. This includes hardened DDBC bindings using smart pointers for better memory safety and maintainability. It will become easier for the community members to help us grow this driver. These efforts ensure that the driver behaves consistently across environments and is easier to maintain and extend.

Backward Compatibility with Python ≥ 3.10 

All three platforms now support Python versions starting from 3.10, ensuring backward compatibility and broader adoption. Whether you’re running legacy scripts or modern workloads, the driver is ready to support your stack. 

Seamless Installation 

Thanks to our recent work on packaging and dependency management, installing the mssql-python driver is now simpler than ever. Users can get started with a single pip install command—no admin privileges, no pre-installed driver manager is required.

Windows and Linux: mssql-python can be installed with pip:

pip install mssql-python

MacOS: For MacOS, the user must install openssl before mssql-python can be installed with pip:

brew install openssl
pip install mssql-python

Who Benefits — Explained by Scenario

Audience How They Benefit Scenario
Python Developers Seamless setup and consistent behavior across Windows, macOS, and Linux A developer working on a cross-platform data ingestion tool can now use the same driver codebase without OS-specific tweaks.
Data Engineers & Analysts Connection pooling and EntraID support improve performance and security A data engineer running ETL jobs on Azure VMs can authenticate using managed identity and benefit from faster connection reuse.
Open Source Contributors Unified codebase makes it easier to contribute and maintain A contributor can now submit a patch without worrying about platform-specific regressions.
Enterprise Teams Backward compatibility and secure authentication options A team migrating legacy Python 3.10 scripts to Azure SQL can do so without rewriting authentication logic.
PyODBC Users Frictionless migration path to a modern, actively maintained driver A team using PyODBC can switch to mssql-python with minimal changes and gain performance, security, and cross-platform benefits.

Why It Matters — Impact Highlights

Impact Area Why It Matters Real-World Value
Cross-Platform Development Eliminates OS-specific workarounds Teams can standardize their SQL connectivity stack across dev, test, and prod environments.
Enterprise Readiness EntraID support and connection pooling are built-in Organizations can deploy secure, scalable apps with minimal configuration.
Community Growth Easier onboarding and contribution pathways New contributors can quickly understand and extend the driver, accelerating innovation.
Performance & Scalability Connection reuse reduces latency and resource usage Apps with high query volumes see measurable performance improvements.
Migration Enablement Supports drop-in replacement for PyODBC and other drivers Developers can modernize their stack without rewriting business logic.

What’s Next 

Here’s a sneak peek at what we’re working on for upcoming releases: 

  • Linux Support – additional distros (Alpine and SUSE) will be supported in next few releases. 
  • Support for Bulk Copy for accelerated data transfer
  • Support for complex SQL Server data types  

Try It and Share Your Feedback! 

Ready to test the latest features? We invite you to: 

  1. Try it out: Check-out the mssql-python driver and integrate it into your projects. 
  2. Share your thoughts: Open issues, suggest features, and contribute to the project. 
  3. Join the conversation: GitHub Discussions | SQL Server Tech Community

Use Python Driver with Free Azure SQL Database

You can use the Python Driver with the free version of Azure SQL Database!

Deploy Azure SQL Database for free

Deploy Azure SQL Managed Instance for free

Perfect for testing, development, or learning scenarios without incurring costs.

 

We look forward to your feedback and collaboration! 

 

Author

Sumit Sarabhai
Engineering Manager

I’m a data enthusiast with deep roots in SQL Server and performance engineering. I’m an Engineering Manager with the Azure SQL team, leading the development of client drivers for SQL Server—focused on building high-performance, cross-platform connectivity for developers worldwide.

0 comments