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
mssql-python declares azure-identity>=1.12.0 as a hard runtime dependency on both PyPI and the microsoft conda channel, but only imports it lazily inside the Entra ID auth paths (auth.py, db_connection.py). SQL auth and Kerberos users never load it.
On PyPI this costs seven small pure-Python wheels. On conda it is far worse: the conda-forge azure-core and msal_extensions recipes declare runtime dependencies the wheels do not (flask, pygobject, libsecret), so azure-identity cascades into ~60 packages and ~350 MB of celery, boto3, cairo and X11 libraries. Installing mssql-python 1.16.0 into a minimal linux-64 env grows it from ~860 MB to ~1.2 GB.
The feedstock problem is not yours to fix, but the only robust fix on your side is to not require azure-identity unconditionally.
Request
Move azure-identity to an extra, matching the existing pyarrow extra:
PyPI: pip install mssql-python[azure]
conda: drop azure-identity from run: and document it as a user-installed add-on, or publish a mssql-python-azure metapackage
The lazy imports are already in place. The Entra code paths just need a clear ImportError pointing at the extra when it is missing.
Environment: linux-64, conda-forge + microsoft channels, mssql-python 1.16.0.
Activity
github-actions commentedon Oct 23, 2026
Hi oscarrobertson, thank you for opening this issue!
Our team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.
If you have additional information to share, please feel free to update the issue.
Thank you for your patience!
oscarrobertson commentedon Oct 23, 2026
Related conda-forge feedstock issues
The conda bloat comes from two feedstocks, both already reported:
flaskandsixare test-only, not runtime conda-forge/azure-core-feedstock#71 —flask ==2.2.5andsixare test-only but sit inrun:. Fix is ready in PR FIX: Fixing Level 3 and level 4 compiler warnings. #72 (CI green, two lines), unreviewed since Aug 2026. (I can already see Jahnvi Thakkar (@jahnvi480) chasing on that!)pygobjectandlibsecretare hardrun:deps on non-Windows, though upstream only importsgilazily inside the libsecret backend. Open since Feb 2024, no response.Even if both land,
azure-identityis still a hard dependency mostmssql-pythonusers never exercise, so the extra is worth doing regardless.