Skip to content

Add Windows ARM64 wheels to the release pipeline #2082

Description

Hi Rich Chiodo (@rchiodo) , I'm from Microsoft and recently I'm working on improving Python ecosystem support for Windows on Arm. I want to add support for Windows ARM64 builds and tests of debugpy, but I find that wheel building, signing, and publishing happen in separate internal pipelines (

# Seperate internal pipelines are used for generating wheels, signing, and releasing to pypi.org
).

Could you please help to support this?

Feature request

Please add native Windows ARM64 (win_arm64) wheels to debugpy’s existing build, signing, and PyPI release pipeline, for supported CPython versions that provide Windows ARM64 builds.

This would let users running native ARM64 Python on Windows install a prebuilt package without compiling debugpy locally or switching to x64 Python under emulation.

Current repository configuration

A few places appear to need attention:

  • azure-pipelines/pipelines.yaml notes that wheel building, signing, and publishing happen in separate internal pipelines, so the release build matrix is not available in this repository.
  • setup.py only retains Windows native binaries for the win32 and win-amd64 platforms; ARM64 packaging would need to be included.
  • The Windows attach-helper build script currently builds only x86 and x64 binaries. ARM64 compatibility for those helpers may need separate work.

Desired outcome

  • Publish correctly tagged win_arm64 wheels through the existing release process.
  • Build and package the appropriate ARM64 native extensions.
  • Add native Windows ARM64 installation and basic debugging coverage.
  • Document any remaining limitations, particularly attaching to an existing process.

Activity

  1. rchiodo commented on Oct 8, 2026

    @rchiodo
    Contributor

    Finn Womack (@finnagin) do you know if ARM64 is possible now? I believe this wasn't enabled yet because the builds were failing but I could be remembering wrong.

  2. finnagin commented on Oct 8, 2026

    @finnagin
    Collaborator

    Rich Chiodo (@rchiodo) it's definitely possible. I think before it needed to be cross-compiled as there were not arm64 runners available in AzDo but idk if that is still the case and even if it was, it's not a blocker we would just need to do a little extra work to update the build script to allow cross-compilation for arm64 builds.

  3. rchiodo commented on Oct 8, 2026

    @rchiodo
    Contributor

    Okay I'm going to look into getting this working.

  4. finnagin commented on Oct 8, 2026

    @finnagin
    Collaborator

    Looks like they still are not available so it would just need to be cross compiled.

  5. finnagin commented on Oct 8, 2026

    @finnagin
    Collaborator

    Also, iirc it may have been attach to process that was broken in arm64. But that was the only part I think.

  6. rchiodo commented on Oct 8, 2026

    @rchiodo
    Contributor

    I thought we fixed that. Maybe just for Mac.

  7. chinazhangchao commented on Oct 9, 2026

    @chinazhangchao
    Author

    Hi Rich Chiodo (@rchiodo), thank you very much for your help. Please let me know if there’s any progress. Thanks.

  8. finnagin commented on Oct 9, 2026

    @finnagin
    Collaborator

    Hey Chao Zhang (@chinazhangchao), we've now merged #2083 which enables us to build arm64 wheels. We still need to update the internal pipelines now that this is in main but I wanted to update you on the progress.

  9. chinazhangchao commented on Oct 10, 2026

    @chinazhangchao
    Author

    8. Hey Chao Zhang (@chinazhangchao), we've now merged #2083 which enables us to build arm64 wheels. We still need to update the internal pipelines now that this is in main but I wanted to update you on the progress.

    Amazing progress! Thanks for the info.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions