Skip to content

[Bug] Missing wheels (bad requirement) for broker support on Python 3.13 #823

Closed

Description

@qris

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:

  1. Install Python 3.13
  2. 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.

Activity

  1. rayluo commented on May 16, 2025

    @rayluo
    Contributor

    We will get to this in the near future. Please click the Watch button in this repo's github homepage, so that you can subscribe the notification for new release(s).

    Meanwhile, you can also directly install the latest commit by pip install https://github.com/AzureAD/microsoft-authentication-library-for-python/archive/refs/heads/dev.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions