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
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:
- Try it out: Check-out the mssql-python driver and integrate it into your projects.
- Share your thoughts: Open issues, suggest features, and contribute to the project.
- 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!
0 comments
Be the first to start the discussion.