Open
Description
Describe the bug
Until 4eb7bd1, msal[broker]
requires pymsalruntime < 0.18, for which wheels are only published up to Python 3.12, so for Python 3.13 it wants to build from source, which many can't do (including me on my work computer).
Since that commit, pymsalruntime 0.18.1 is acceptable, for which wheels for Python 3.13 are available.
Please could we have a new release including this commit, or at least relaxing the maximum version restriction on pymsalruntime?
To Reproduce
Steps to reproduce the behavior:
- Install Python 3.13
- pip install "msal[broker]>=1.20,<2" (as seen here)
Expected behavior
As seen with Python 3.12:
C:\Temp>py312\Scripts\pip.exe install "msal[broker]>=1.20,<2"
Collecting msal<2,>=1.20 (from msal[broker]<2,>=1.20)
Using cached msal-1.32.3-py3-none-any.whl.metadata (11 kB)
...
Collecting pymsalruntime<0.18,>=0.14 (from msal[broker]<2,>=1.20)
Using cached pymsalruntime-0.17.1-cp312-cp312-win_amd64.whl.metadata (274 bytes)
...
Successfully installed PyJWT-2.10.1 certifi-2025.4.26 cffi-1.17.1 charset-normalizer-3.4.2 cryptography-44.0.3 idna-3.10 msal-1.32.3 pycparser-2.22 pymsalruntime-0.17.1 requests-2.32.3 urllib3-2.4.0
What you see instead
Using Python 3.13 instead:
C:\Temp>py313\Scripts\pip.exe install "msal[broker]>=1.20,<2"
Collecting msal<2,>=1.20 (from msal[broker]<2,>=1.20)
Using cached msal-1.32.3-py3-none-any.whl.metadata (11 kB)
Collecting requests<3,>=2.0.0 (from msal<2,>=1.20->msal[broker]<2,>=1.20)
Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting PyJWT<3,>=1.0.0 (from PyJWT[crypto]<3,>=1.0.0->msal<2,>=1.20->msal[broker]<2,>=1.20)
Using cached PyJWT-2.10.1-py3-none-any.whl.metadata (4.0 kB)
Collecting cryptography<47,>=2.5 (from msal<2,>=1.20->msal[broker]<2,>=1.20)
Using cached cryptography-44.0.3-cp39-abi3-win_amd64.whl.metadata (5.7 kB)
Collecting pymsalruntime<0.18,>=0.14 (from msal[broker]<2,>=1.20)
Downloading pymsalruntime-0.14.2.tar.gz (1.3 MB)
---------------------------------------- 1.3/1.3 MB 9.6 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
...
Building wheels for collected packages: pymsalruntime
Building wheel for pymsalruntime (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pymsalruntime (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
...
building 'pymsalruntime.pymsalruntime' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
**The MSAL Python version you are using**
Paste the output of this
`python -c "import msal; print(msal.__version__)"`
Additional context
On Windows of course :)
Related to #774.