Skip to content

Commit 6953b97

Browse files
committed
feat: Add windows arm64 python toolchains
The changelog for astral-sh/python-build-standalone release 20250630 says: * Add ARM64 Windows builds for Python 3.11+ Lets use them! Signed-off-by: Austin Schuh <[email protected]>
1 parent 2b5e6f5 commit 6953b97

File tree

3 files changed

+83
-59
lines changed

3 files changed

+83
-59
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ END_UNRELEASED_TEMPLATE
6767
* 3.12.11
6868
* 3.14.0b2
6969
* (toolchain) Python 3.13 now references 3.13.5
70+
* (toolchain) Updated the following toolchains to 20250702 to support aarch64 windows
71+
* 3.11.13
72+
* 3.12.11
73+
* 3.14.0b3
7074

7175
{#v0-0-0-fixed}
7276
### Fixed
@@ -91,6 +95,7 @@ END_UNRELEASED_TEMPLATE
9195
* (gazelle) New directive `gazelle:python_generate_pyi_deps`; when `true`,
9296
dependencies added to satisfy type-only imports (`if TYPE_CHECKING`) and type
9397
stub packages are added to `pyi_deps` instead of `deps`.
98+
* (toolchain) Add toolchains for aarch64 windows
9499

95100
{#v0-0-0-removed}
96101
### Removed

python/versions.bzl

Lines changed: 77 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -467,17 +467,18 @@ TOOL_VERSIONS = {
467467
"strip_prefix": "python",
468468
},
469469
"3.11.13": {
470-
"url": "20250612/cpython-{python_version}+20250612-{platform}-{build}.tar.gz",
470+
"url": "20250702/cpython-{python_version}+20250702-{platform}-{build}.tar.gz",
471471
"sha256": {
472-
"aarch64-apple-darwin": "e272f0baca8f5a3cef29cc9c7418b80d0316553062ad3235205a33992155043c",
473-
"aarch64-unknown-linux-gnu": "c6959d0c17fc221a9acc56e4827f3fe7386b610402055950e4b767b3b6871a40",
474-
"ppc64le-unknown-linux-gnu": "22ab07e9bd167e2a7852a7b11b31cd91d090f3658e2ffc5bc6428751942cb1b9",
475-
"riscv64-unknown-linux-gnu": "4ca57a3e139cf47803909a88f4f3940d9ecfde42d8089a11f42074859bc9a122",
476-
"s390x-unknown-linux-gnu": "23cbd87fe9549ddda635ba9fb36b3622b5c939a10a39b25cd8c2587bb65e62ef",
477-
"x86_64-apple-darwin": "e2a3e2434ba140615f01ed9328e063076c8282a38c11cab983bdcd5d1bd582da",
478-
"x86_64-pc-windows-msvc": "cc28397fa47d28b98e1dc880b98cb061b76c88116b1d6028e04443f7221b30da",
479-
"x86_64-unknown-linux-gnu": "4dd2c710a828c8cfff384e0549141016a563a5e153d2819a7225ccc05a1a17c7",
480-
"x86_64-unknown-linux-musl": "130c6b55b06c92b7f952271fabedcdcfc06ac4717c133e0985ba27f799ed76b6",
472+
"aarch64-apple-darwin": "01167ac2c7336ff48a96e8dba30d92f29822a98e5ef27959178498b5a0de61da",
473+
"aarch64-unknown-linux-gnu": "42c99f013117255edcbe7a367694941f1ac096fd9e9a7d7c0d18d09551181930",
474+
"ppc64le-unknown-linux-gnu": "154ad77f7f552ab5f2ae07446eaccf6651db85db7403388c4439c6e43139d05e",
475+
"riscv64-unknown-linux-gnu": "e800cd1651bf2ce0be28541377228258fbe9a9a1fe87633d5fc8c6cb47262525",
476+
"s390x-unknown-linux-gnu": "5c6ce40240d92d9a3af4d49364205ce57bd4e73ba5274abcd3f20b85a0a88df9",
477+
"x86_64-apple-darwin": "b5955f7a951f8aa8755b35a1b3175968fc2b4bff54b9edffc6225c791305c4e6",
478+
"x86_64-pc-windows-msvc": "b68b7314e15f5d479acce2e9385a47f6ed978edc838dbb104175db889b349818",
479+
"aarch64-pc-windows-msvc": "ea81e436ac20b894f2070468f3323e69d4cb1a0e4e12bc14bb702a861f7a323d",
480+
"x86_64-unknown-linux-gnu": "e04944e70637f9d82022c9a41ae31de306b0d5bbd3fb64b9eb3261b8b5e0b30c",
481+
"x86_64-unknown-linux-musl": "69aeea0c21b994874d8481c39b9ba2683cbc7f6ec9cff964e1ea821f5ae4fc31",
481482
},
482483
"strip_prefix": "python",
483484
},
@@ -590,17 +591,18 @@ TOOL_VERSIONS = {
590591
"strip_prefix": "python",
591592
},
592593
"3.12.11": {
593-
"url": "20250612/cpython-{python_version}+20250612-{platform}-{build}.tar.gz",
594+
"url": "20250702/cpython-{python_version}+20250702-{platform}-{build}.tar.gz",
594595
"sha256": {
595-
"aarch64-apple-darwin": "c6d4843e8af496f034176908ae3384556680284653a4bff45eff07e43fe4ae34",
596-
"aarch64-unknown-linux-gnu": "19e8d91b8c5cdb41c485e0d7daa726db6dd64c9a459029f738d5e55ad8da7c6f",
597-
"ppc64le-unknown-linux-gnu": "32f489b4142ced7a3b476e25ac91ada4dc8aada1e771718a3aa9a0c818500a45",
598-
"riscv64-unknown-linux-gnu": "0c1a3e976a117bf40ce8d75ad4806166e503d554263a9051f7606dbeb01d91ee",
599-
"s390x-unknown-linux-gnu": "ee1a8451aaf49af330884553e2850961539b0563404c26241265ab0f0c929001",
600-
"x86_64-apple-darwin": "7e3468bde68650fb8f63b663a24c56d0bb3353abd16158939b1de0ad60dab195",
601-
"x86_64-pc-windows-msvc": "7b93afa91931dbc37b307a81b8680b30193736b5ef29a44ef6452f702c306e7a",
602-
"x86_64-unknown-linux-gnu": "8e8bb0dbc815fb0b3912e0d8fc0a4f4aaac002bfc1f6cb0fcd278f2888f11bcf",
603-
"x86_64-unknown-linux-musl": "b7464442265092259ee5f2e258c09cace4958f6b8733cff5e32bf8d2d6556a2a",
596+
"aarch64-apple-darwin": "5f8e9480d0981268961e63729de1c9b037cabfe030949943be293f0d3e3e7703",
597+
"aarch64-unknown-linux-gnu": "a63c9d7d712ca33e2fc57d9bf3ebf98c8f574f23b3eeeed44faf3b4b08d8a9b8",
598+
"aarch64-pc-windows-msvc": "4d3736640d8916da6d69060e90cad607903e4f1d8dc0f284fd475f04f312712e",
599+
"ppc64le-unknown-linux-gnu": "76dc3accfc8515fe7e11b5f1af26734bc7c0a075890a9c85dc1c7b6d0421ebbc",
600+
"riscv64-unknown-linux-gnu": "d80dd210da941583c3166ff5a762bfd3f3211ecb2968eee8ec497548ef970682",
601+
"s390x-unknown-linux-gnu": "a7d0778ae32c1d882eb3354877c31298010cde2107ecf60b7b75dcabe7ddd8ad",
602+
"x86_64-apple-darwin": "f7a7a70fc7199cc37fd04bc1375b4cd7f44fb05128965e72b589fe112029cab8",
603+
"x86_64-pc-windows-msvc": "19bdfa7362faf6869c376976e0296b597ce2d70e68ea7b357c6f68c79ad9aa9e",
604+
"x86_64-unknown-linux-gnu": "0919f8b5311765b4cf1342371724d7bf2a6eaf51f15f5cb2b9ad5fd0ee54271c",
605+
"x86_64-unknown-linux-musl": "64308b6133ae57de6d7c84b9caf6b084d1ccabf4b617c8a88a08fa57da66df16",
604606
},
605607
"strip_prefix": "python",
606608
},
@@ -761,25 +763,27 @@ TOOL_VERSIONS = {
761763
},
762764
},
763765
"3.13.5": {
764-
"url": "20250612/cpython-{python_version}+20250612-{platform}-{build}.{ext}",
766+
"url": "20250702/cpython-{python_version}+20250702-{platform}-{build}.{ext}",
765767
"sha256": {
766-
"aarch64-apple-darwin": "d7867270b8c7be69ec26a351afb6bf24802b1cd9818e8426bd69d439a619bf2d",
767-
"aarch64-unknown-linux-gnu": "685971ded0af96d1685941243ae1853c70c482b6f858dd86818760776d9c3cb9",
768-
"ppc64le-unknown-linux-gnu": "ee15fcf2b64034dba13127aa37992edacf2efe1b2bb3d62ffd45eb9bea7b2d83",
769-
"riscv64-unknown-linux-gnu": "c0f160ef9ab39c0f0e5baa00b1ecc3fff322c4ccbf1f04646c74559274ad5fc1",
770-
"s390x-unknown-linux-gnu": "49131a3d16c13aea76f9ef5ce57fc612a3062fc866f6fcf971e0de8f8a9b8a8f",
771-
"x86_64-apple-darwin": "d881b0226f1bef59b480c713126c54430a93ea21e5b39394c66927a412dd9907",
772-
"x86_64-pc-windows-msvc": "8f4d4c7d270406be1f8f93b9fd2fd13951e4da274ba59d170f411a20cb1725b3",
773-
"x86_64-unknown-linux-gnu": "f50dc28cfe99eccdadd4e74c2384607f7d5f50fc47447a39a4e24a793c07a9eb",
774-
"x86_64-unknown-linux-musl": "c4bc1cda684320455d41e56980adbacbda269c78527f3ee926711d5d0ff33834",
775-
"aarch64-apple-darwin-freethreaded": "a29cb4ef8adcd343e0f5bc5c4371cbc859fc7ce6d8f1a3c8d0cd7e44c4b9b866",
776-
"aarch64-unknown-linux-gnu-freethreaded": "0ef13d13e16b4e58f167694940c6db54591db50bbc7ba61be6901ed5a69ad27b",
777-
"ppc64le-unknown-linux-gnu-freethreaded": "66545ad4b09385750529ef09a665fc0b0ce698f984df106d7b167e3f7d59eace",
778-
"riscv64-unknown-linux-gnu-freethreaded": "a82a741abefa7db61b2aeef36426bd56da5c69dc9dac105d68fba7fe658943ca",
779-
"s390x-unknown-linux-gnu-freethreaded": "403c5758428013d5aa472841294c7b6ec91a572bb7123d02b7f1de24af4b0e13",
780-
"x86_64-apple-darwin-freethreaded": "52aeb1b4073fa3f180d74a0712ceabc86dd2b40be499599e2e170948fb22acde",
781-
"x86_64-pc-windows-msvc-freethreaded": "9da2f02d81597340163174ee91d91a8733dad2af53fc1b7c79ecc45a739a89d5",
782-
"x86_64-unknown-linux-gnu-freethreaded": "33fdd6c42258cdf0402297d9e06842b53d9413d70849cee61755b9b5fb619836",
768+
"aarch64-apple-darwin": "66577414e9f4b0caa116a8e15fa50306db91bce13d49278079bb22adaeefb1fa",
769+
"aarch64-unknown-linux-gnu": "272a8817921856d7ac47f44c076fb62fbaf5649aa1d97b2d67a3a6adee969ff0",
770+
"ppc64le-unknown-linux-gnu": "7bfa9fed4b3a1e37b4879d51d82bce521bd999ec450c91f7787188ce1cafd76c",
771+
"riscv64-unknown-linux-gnu": "deebdf17f7c153708b88ef2ae8b643635a02a9e9bdf4f0435e8c6cd15b37b248",
772+
"s390x-unknown-linux-gnu": "38c10133adfc9ebe9d2e74f7047ab6763b05c978be2dc772e1deb2978504084f",
773+
"x86_64-apple-darwin": "0682afbb238b4762b8f5e383fe19cc52969c780871016c50d4cb7088a536167c",
774+
"x86_64-pc-windows-msvc": "f11f915437250657019c71adb81ec523d2932c2c3ea4441b592aa3bdce0e7ef7",
775+
"aarch64-pc-windows-msvc": "f2de020035f125a47aee320f722b0ced19862ba1e1412392791cffa9cb174d0c",
776+
"aarch64-pc-windows-msvc-freethreaded": "97041594d903d6a1de1e55e9a3e5c613384aa7b900a93096f372732d9953f52a",
777+
"x86_64-unknown-linux-gnu": "9f5d5260f333fcb5372ec681851d92ddac79a33362aa85626b6cc96ffe75eeef",
778+
"x86_64-unknown-linux-musl": "7856fd505e311d1a4c24e429ac5ef0ff6ca7a2005c3a7eff1fe204524a6f45aa",
779+
"aarch64-apple-darwin-freethreaded": "52e582cc89d654c565297b4ff9c3bd4bed5c3e81cad46f41c62485e700faf8bd",
780+
"aarch64-unknown-linux-gnu-freethreaded": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
781+
"ppc64le-unknown-linux-gnu-freethreaded": "c65c75edb450de830f724afdc774a215c2d3255097e0d670f709d2271fd6fd52",
782+
"riscv64-unknown-linux-gnu-freethreaded": "716e6e3fad24fb9931b93005000152dd9da4c3343b88ca54b5c01a7ab879d734",
783+
"s390x-unknown-linux-gnu-freethreaded": "27276aee426a51f4165fac49391aedc5a9e301ae217366c77b65826122bb30fc",
784+
"x86_64-apple-darwin-freethreaded": "5aed6d5950514004149d514f81a1cd426ac549696a563b8e47d32f7eba3b4be3",
785+
"x86_64-pc-windows-msvc-freethreaded": "39e19dcb823a2ed47d9510753a642ba468802f1c5e15771c6c22814f4acada94",
786+
"x86_64-unknown-linux-gnu-freethreaded": "f5eb29604c0b7afa2097fca094a06eb7a1f3ca4e194264c34f342739cae78202",
783787
},
784788
"strip_prefix": {
785789
"aarch64-apple-darwin": "python",
@@ -798,29 +802,33 @@ TOOL_VERSIONS = {
798802
"s390x-unknown-linux-gnu-freethreaded": "python/install",
799803
"x86_64-apple-darwin-freethreaded": "python/install",
800804
"x86_64-pc-windows-msvc-freethreaded": "python/install",
805+
"aarch64-pc-windows-msvc": "python/install",
806+
"aarch64-pc-windows-msvc-freethreaded": "python/install",
801807
"x86_64-unknown-linux-gnu-freethreaded": "python/install",
802808
},
803809
},
804-
"3.14.0b2": {
805-
"url": "20250612/cpython-{python_version}+20250612-{platform}-{build}.{ext}",
810+
"3.14.0b3": {
811+
"url": "20250702/cpython-{python_version}+20250702-{platform}-{build}.{ext}",
806812
"sha256": {
807-
"aarch64-apple-darwin": "35c02e465af605eafd29d5931daadce724eeb8a3e7cc7156ac046991cb24f1c1",
808-
"aarch64-unknown-linux-gnu": "8c877a1b50eb2a9b34ddac5d52d50867f11ddc817f257eba4cbbc999a9edf2ea",
809-
"ppc64le-unknown-linux-gnu": "735bad9359eb36b55b76d9c6db122fe4357951d7850324c76e168055ca70e0a0",
810-
"riscv64-unknown-linux-gnu": "d4140196c052ba5832a439f84f6ca5b136bb16bceb8c5a52f5167a2c3f8b73b1",
811-
"s390x-unknown-linux-gnu": "2f440257e02d0a4fb4e93fcbb95b9066ec42bd56a2f03de05f55636e5afcb4b9",
812-
"x86_64-apple-darwin": "5144890b991e63fb73e2714c162c901c3b6f289ae0ef742df3673ab9824c844a",
813-
"x86_64-pc-windows-msvc": "903cfb0ae1766a572dcf62835ef24d3250a512974dcf785738ac0d6c06c9db5b",
814-
"x86_64-unknown-linux-gnu": "1c73b90a8febbd36fc973d7361a1be562e88437d95570721b701f03e59835600",
815-
"x86_64-unknown-linux-musl": "9cdd3983abfca2151661c25cb0fae50a30c8961e07d07ba643edab5be277ae09",
816-
"aarch64-apple-darwin-freethreaded": "1ae31adfed2a8425f08a945869d3bfd910e97acd150465de257d3ae3da37dc7c",
817-
"aarch64-unknown-linux-gnu-freethreaded": "f5fcf5e8310244ccd346aab2abdc2650ffb900a429cfb732c4884e238cba1782",
818-
"ppc64le-unknown-linux-gnu-freethreaded": "c1177510c359494b6a70601d9c810cdfc662f834c1d686abd487eb89d7a577ef",
819-
"riscv64-unknown-linux-gnu-freethreaded": "cb0f2d86b20f47c70a9c8647b01a35ab7d53cbcbde9ab89ffc8aacafb36cc2e4",
820-
"s390x-unknown-linux-gnu-freethreaded": "f38f126b31a55f37829ee581979214a6d2ac8a985ed7915b42c99d52af329d9f",
821-
"x86_64-apple-darwin-freethreaded": "4e022b8b7a1b2986aa5780fae34b5a89a1ac5ed11bea0c3349e674a6cb7e31c1",
822-
"x86_64-pc-windows-msvc-freethreaded": "35abc125304ec81a7be0d7ac54f515e7addd7dcba912882210d37720eaab1d7e",
823-
"x86_64-unknown-linux-gnu-freethreaded": "61383d43f639533a5105abad376bc497cc94dde8a1ed294f523d534c8cd99a8e",
813+
"aarch64-apple-darwin": "14af7a0c0a50f82cf75f79f4c02dc31c73c74032930a8337f83f3ae3bee4660f",
814+
"aarch64-unknown-linux-gnu": "013e2081c3e7e61932210ede84c9f05a4f6533f807287bab141d8abe77087ffd",
815+
"ppc64le-unknown-linux-gnu": "2118b6b9baad4f4283246b281183254620d18d8c95991dc5db810ab07ff41cee",
816+
"riscv64-unknown-linux-gnu": "7d11ccad5bff3085d8b3e725179d7e1f93cc8e4fb83391cb49bc4b29cf877153",
817+
"s390x-unknown-linux-gnu": "e3c90fb8cfe897ac96bb0b0d5de9f4512646b8ebd5c8b3123d9e31a96a0eac3c",
818+
"x86_64-apple-darwin": "8e9d640e5e7c49f8c67dfd2330bdd814f4c5de685abefbe91c639c0e0844c2bd",
819+
"x86_64-pc-windows-msvc": "cdab7856e2495ab4ed666354e9391435c8e45512e841ef8452da69a6e96caa96",
820+
"aarch64-pc-windows-msvc": "000fbc010e844bcd64330badb295da7b5b08b427357f463afc7e600988f7ecc6",
821+
"x86_64-unknown-linux-gnu": "00328c48cc07076a5b083575654761cdb07bc8b3bba864d3a225062722485bac",
822+
"x86_64-unknown-linux-musl": "a2fed85bc3d5415d2318a2eeb0cb9e6effb81667870ae568a08756838ad4926e",
823+
"aarch64-apple-darwin-freethreaded": "d19213021f5fd039d7021ccb41698cc99ca313064d7c1cc9b5ef8f831abb9961",
824+
"aarch64-unknown-linux-gnu-freethreaded": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
825+
"ppc64le-unknown-linux-gnu-freethreaded": "1f093e0c3532e27744e3fb73a8c738355910b6bfa195039e4f73b4f48c1bc4fc",
826+
"riscv64-unknown-linux-gnu-freethreaded": "73162a5da31cc1e410d456496114f8e5ee7243bc7bbe0e087b1ea50f0fdc6774",
827+
"s390x-unknown-linux-gnu-freethreaded": "045017e60f1298111e8ccfec6afbe47abe56f82997258c8754009269a5343736",
828+
"x86_64-apple-darwin-freethreaded": "26ec6697bbb38c3fa6275e79e110854b2585914ca503c65916478e7ca8d0491b",
829+
"x86_64-pc-windows-msvc-freethreaded": "8de6235b29396e3b25fc3ade166c49506171ec464cda46987ef9641dd9a44071",
830+
"aarch64-pc-windows-msvc-freethreaded": "331816d79cd78eaadba5ae6cdd3a243771199d0ca07057e7a452158dd4a7edcc",
831+
"x86_64-unknown-linux-gnu-freethreaded": "081f0147d8f4479764d6a3819f67275be3306003366eda9ecb9ee844f2f611be",
824832
},
825833
"strip_prefix": {
826834
"aarch64-apple-darwin": "python",
@@ -830,6 +838,7 @@ TOOL_VERSIONS = {
830838
"riscv64-unknown-linux-gnu": "python",
831839
"x86_64-apple-darwin": "python",
832840
"x86_64-pc-windows-msvc": "python",
841+
"aarch64-pc-windows-msvc": "python",
833842
"x86_64-unknown-linux-gnu": "python",
834843
"x86_64-unknown-linux-musl": "python",
835844
"aarch64-apple-darwin-freethreaded": "python/install",
@@ -839,6 +848,7 @@ TOOL_VERSIONS = {
839848
"s390x-unknown-linux-gnu-freethreaded": "python/install",
840849
"x86_64-apple-darwin-freethreaded": "python/install",
841850
"x86_64-pc-windows-msvc-freethreaded": "python/install",
851+
"aarch64-pc-windows-msvc-freethreaded": "python/install",
842852
"x86_64-unknown-linux-gnu-freethreaded": "python/install",
843853
},
844854
},
@@ -852,7 +862,7 @@ MINOR_MAPPING = {
852862
"3.11": "3.11.13",
853863
"3.12": "3.12.11",
854864
"3.13": "3.13.5",
855-
"3.14": "3.14.0b2",
865+
"3.14": "3.14.0b3",
856866
}
857867

858868
def _generate_platforms():
@@ -950,6 +960,14 @@ def _generate_platforms():
950960
os_name = WINDOWS_NAME,
951961
arch = "x86_64",
952962
),
963+
"aarch64-pc-windows-msvc": platform_info(
964+
compatible_with = [
965+
"@platforms//os:windows",
966+
"@platforms//cpu:aarch64",
967+
],
968+
os_name = WINDOWS_NAME,
969+
arch = "aarch64",
970+
),
953971
"x86_64-unknown-linux-gnu": platform_info(
954972
compatible_with = [
955973
"@platforms//os:linux",
@@ -1035,6 +1053,7 @@ def get_release_info(platform, python_version, base_url = DEFAULT_RELEASE_BASE_U
10351053
"s390x-unknown-linux-gnu": "lto",
10361054
"x86_64-apple-darwin": "pgo+lto",
10371055
"x86_64-pc-windows-msvc": "pgo",
1056+
"aarch64-pc-windows-msvc": "pgo",
10381057
"x86_64-unknown-linux-gnu": "pgo+lto",
10391058
}[p],
10401059
)

tests/python/python_tests.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ def _test_toolchain_ordering(env):
326326
"3.11": "3.11.13",
327327
"3.12": "3.12.11",
328328
"3.13": "3.13.5",
329-
"3.14": "3.14.0b2",
329+
"3.14": "3.14.0b3",
330330
"3.8": "3.8.20",
331331
"3.9": "3.9.23",
332332
})

0 commit comments

Comments
 (0)