32-bit
burnuser scopewww.python.org · publisher domain- File name
- python-3.13.15.exe
- SHA-256
- 741c07276eb2d57e7ee012d643f021c58cb38d11c5389be46c15d41d1a10b447
- Product code
- {2145b92e-336e-4965-a518-cefc517f0da8}
by Python Software Foundation · PSF-2.0
Python is a programming language that lets you work more quickly and integrate your systems more effectively.
These URLs are the ones Python Software Foundation declares in its own manifest. We do not proxy or shorten them, and we do not host a copy.
More than one architecture below. Check which one your Windows is if you are not sure.
Run this against the file on disk. If the output does not match the hash below, the file is not what Python Software Foundation published. Delete it.
Windows · PowerShell
Get-FileHash "python-3.13.15-amd64.exe" -Algorithm SHA256macOS · Linux
shasum -a 256 "python-3.13.15-amd64.exe"Expected output
edec09c4853aeae9ac36efb8c9f95b6b8e2fee65eee56d9767a8b7c69c574403
Got a different hash, or one you cannot place? Paste it into the hash checker and it will tell you which program and version it belongs to, past releases included.
Every guide on this tells you to hunt for the product code with Get-WmiObject or in the registry. You do not need to: it is published in the installer manifest, and it is printed below.
Product code · 32-bit
{2145b92e-336e-4965-a518-cefc517f0da8}
Uninstall, with the usual prompts
msiexec /x {2145b92e-336e-4965-a518-cefc517f0da8}Silent, for deployment
msiexec /x {2145b92e-336e-4965-a518-cefc517f0da8} /qn /norestartProduct code · 64-bit
{bdda61aa-57d0-45c8-ae92-fa67d560e32f}
Uninstall, with the usual prompts
msiexec /x {bdda61aa-57d0-45c8-ae92-fa67d560e32f}Silent, for deployment
msiexec /x {bdda61aa-57d0-45c8-ae92-fa67d560e32f} /qn /norestartProduct code · ARM64
{ac652937-7f4f-4b3f-ab94-ad91ba318f1a}
Uninstall, with the usual prompts
msiexec /x {ac652937-7f4f-4b3f-ab94-ad91ba318f1a}Silent, for deployment
msiexec /x {ac652937-7f4f-4b3f-ab94-ad91ba318f1a} /qn /norestartThe codes above belong to Python 3.13 3.13.15, the version in our index. If you have an older release installed, its code is different and this command will report that the product is not installed. In that case run Get-Package -Name "Python*" in PowerShell to read the code of what you actually have.
This removes the program as the publisher packaged it. Settings and files created after installation, typically under AppData, are deliberately left behind by the uninstaller and have to be deleted by hand if you want them gone.
Reinstalling and hitting error 1638? That is this same product code, and the command above is the fix.
Product codes for every program we index, with the msiexec switches and how to read the code off your own machine.
| Signal | Finding | Points |
|---|---|---|
| SHA-256 hash published | 3 of 3 installers ship a SHA-256 hashWithout a published hash there is no way to prove the file you downloaded is the file the publisher built. | 30 / 30 |
| Binary provenance | 3 on the publisher's own domainThe strongest signal against a repackaged installer: the file should come from the publisher, not from a mirror nobody vouches for. | 35 / 35 |
| Served over HTTPS | 3 of 3 over HTTPSAn installer fetched over plain HTTP can be modified in transit. | 15 / 15 |
| Release recency | last release about 0 months agoSoftware that has not shipped in years accumulates unpatched vulnerabilities. | 15 / 15 |
| Licence declared | PSF-2.0A declared licence tells you what you are actually allowed to do with the software. | 5 / 5 |
Extensions Python 3.13 registers itself to handle.
Yes, in the sense we can actually verify: the installer downloads from python.org, which is a domain we have tied to Python Software Foundation.
Every one of the 3 installers on this page comes with the SHA-256 Python Software Foundation declared, so you do not have to take our word for it: hash the file you downloaded and compare.
What this does not tell you is whether the software itself is any good, or whether you want what it does once installed. A publisher can ship something you would rather not run and the download is still authentic. We answer the question we can measure and leave the other one to you.
If Windows says “Windows protected your PC” when you run it, that is SmartScreen reporting reputation, not a malware verdict — it shows up on perfectly legitimate software from small publishers and on releases that are simply new. The reverse matters more: no warning does not mean the file was checked.
How the 100/100 score is calculated · why the source matters more than the reputation
Windows ships with a package manager, and this program is in it. The identifier below is the one Microsoft's repository uses, which is also where the download URL and hash on this page come from.
Install
winget install --id Python.Python.3.13 --exactUpgrade later
winget upgrade --id Python.Python.3.13Why --exact: without it winget matches on name as well as identifier, and a search that returns more than one package makes it stop and ask rather than install. Pinning the identifier is what makes the command safe to put in a script.
Not installing anything, or getting an error back? The commands that actually come up covers upgrading everything at once, what --include-unknown is for, and why winget can be missing from a machine that should have it.
The version history of Python 3.13, each release with the download URL the publisher declared at the time and the SHA-256 to check it against. Useful when an update breaks something and you need to downgrade to a build that worked.
We do not host any of these files and never re-upload them, which is the difference between this and an old-version download site.
012F050539353E6521AC7976A6B63E232102977E1DFCC747CA7FB743357AE8D1
C54D9B9BBB8A36E6489363DDD01139707FD781D72F1F9E90C7EC65D0061368E0
3090F98038F332CEECA0BA40D77B7A4D94A4A25B7107E6CF341547E91D983F18
78D4C435A410662E87D33C20FDBC9421F3AC019B2049C798B2B86DB21C1A08DB
3C9C81D80F91C002CED86D645422D81432C68C7D9B6B0E974768CA2E449A4D00
7925FC1D40DC75379AE70EDE7A6217FAF5549BB93CA89A3EA519185D8BC657BF
9203D78E635E4F348D62F574A01CC58C7A1BA87D30252F5E0E1F5C0330667A6E
96159FCB523AE404B707186A75B4104EE23851E476A5E838E14584CF1E03F981
A4476454ABCC329B04D330A296995CCE5530544D3D2FC006D89F17AE9437FB8C
41B14012C34303B5F66F6F0E7D8FF3A4DB1E4DD7CA662CAF7D6035223A74ED44
30D4654B3EAC7DDFDF2682DB4C8DCB490F3055F4F33C6906D6B828F680152101
7052EAA658B3CBA0CD39AFDB05A30E89CA84824FF37A4E4A78D4731AE62564AA
BDBFAEB8A236F785E643850520C665095A9A1AE15F5E537D8C9413F2677C84F7
AB30CD76655C6C91243B4F4D5A8499020F6503AA58E92B3E2E94AE4AF7353257
0BD671C0C1CE279EB7D6D6CB370583899723A0B1A2B5D55EF3464BA865CCA8F7
2EA6D14D994602C83306E39D792E74637612240CFA77096DA1AC5BA9BACF613C
200DDFF856BBFF949D2CC1BE42E8807C07538ABD6B6966D5113A094CF628C5C5
576FEACD21FA3F68953540308918E1A8C54C7C8B3D5B6E1CC931082A99DBD591
7FAE02F38EA0907EDEB3D9B501883E11F2ED38E9A8459F048A35DCD6E05D9036
F17F216F057ED805B653F80A607C0D97D52884B4ED00380ACABF199F0C025B14
DE8E3AC07C4FE547722CC8D7E0996987D69CB2670C9AA2FBBEFCDA60E4A2F749
E31949F61D00AB398C93B21739209477B750B1F5716318E996062816AC2CFCD9
B12E2E82461AC8E51FC43289050BC8EB937A32D84CE4D242E2C88258C37CF2BB
B51BD85374AE87286339CB92E1479710B71D084356419DC3B12FB888599DFA68
B9996C0765BD2A05D52DEADEA0469997437A99C60F5573E2CAB76EEBCC9FD74B
5EDCE6F0597A9B250C72790DC076649B06C1DC4754F3C68D7C284A1F10C33F36
479502C60D40BA554A2A78E9C4159CF10E2C531F864A245006BF093D3B2B642F
A288ADA6F394CC934C2E279B7B0CD5A51C0A4E69134D3CFC79839EDC6BF27A7F
C1CB40978B28F696B111C36034A1BDEDA17D25E35C74A08EF5E5FF405A63FC20
0BFE8E690F34765B5C26328781FA722741E9A2170FBB754F73DD1FCAD6C271D4
B3FECE33B3402D563DA434E938CE5CE52332BDAEDA50696AA31886E8B0486BA6
94F53BB832539EA02D6CE581D7C1FCC36228E04A611B8DCFE797AD4BBC0A45C1
2A91C47D028F5DE2746C95967516767321F702706A449454C2B060BBD406C769
502F4B3C7E81C6799F45F3D35DEEABD5C577A36550289E428633E9DBCE7B9D5E
698F2DF46E1A3DD92F393458EEA77BD94EF5FF21F0D5BF5CF676F3D28A9B4B6C
6CEFFED3B67F5E2DBCC0833ADBE629D61228965B360BB2C026E30D9C6D4AF97E
91DB843DC0CED6A760EF4BA242CC8B9A0A48C227E799AEAC0410FD418E248445
9AAA1075D0BD3E8ABD0623D2D05DE692FF00780579E1B232F259028BAC19BB51
181C1B4682AA6C674B0B12567DBC5687625AB232322A8B248220B19B17B895FF
F9EF49FC0B41AD9DC5759992A1F455E27F13AD4037CFC1961D859773CA96E7BA
6B33FA9A439A86F553F9F60E538CCABC857D2F308BC77C477C04A46552ADE81F
AC801819A5EED2203E19A2F75AD37458EB5EEECA69BD4916DC5134160880CA92
A9BE7082CCD3D0B947D14A87BCEADB1A3551382A68FCB64D245A2EBCC779B272
78156AD0CF0EC4123BFB5333B40F078596EBF15F2D062A10144863680AFBDEFC
DC5B98EBDE3FAD20D5B9220BFFF71884942EC924F4C13A7D9C999AF3075F1AD7
Publishers take old builds offline without warning, so a link here can stop working even though the hash stays correct forever. If you already have the file, the hash is what matters: it tells you whether what you have is what they published.
Every Python 3.13 version with a published manifest, newest first. The most recent ones are listed above with their file names and hashes.
Matched on the categories Python Software Foundation and others declare in their own manifests, so the grouping is theirs rather than ours. Each one has its official URL and hash on the same terms as this page.
Not related to Python 3.13 — just other entries, each with its own official URL and published hash.