PyPI
Ranked 5 of 9 package repositories by recommenders
Python's official package index, recommended for its attestations and fast malware quarantines, though critics say publishing lacks 2FA and uploads cannot be replaced.
Python's official package index, recommended for its attestations and fast malware quarantines, though critics say publishing lacks 2FA and uploads cannot be replaced.
44 people gave an opinion
- recommend it
- 16
- criticize it
- 28
- approval share
- 36%
Recommended in 10 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: not recommended
- May 2026: recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 16 people recommend itNeeds 10 or more, met.
- 0.5 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 10 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Best-in-class attestation design
“PyPI's implementation of attestations prefers the more ideal thing with respect to reducing the likelihood of local private key disclosure”
Comment from 27 Dec 2025 in “Gpg.fail” “PyPI is pretty best-in-class here and I think that they should be seen as the example for others to pursue.”
Comment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack” Quick malware quarantine response
“pypi reacted so quickly and quarantined the package in like 30 minutes”
Comment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack” “this was handled pretty well all things considered”
Comment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack” Simple, everywhere-available default
“Pypi is the only OS agnostic package manager already installed on every OS.”
Comment from 10 Jan 2026 in “Deno has made its PyPI distribution official” “today it is a more "just works" experience to use PyPi instead of conda”
Comment from 16 Sep 2026 in “Java 27” “you can just put it on PyPI which is everywhere nowadays”
Comment from 7 Nov 2025 in “How often does Python allocate?” Well regarded versus other registries
“Cargo, NPM, Composer and pypi are more than enough.”
Comment from 13 May 2026 in “I made rust's cargo copy but for CPP” “Cargo (and PyPI) is undeniably better than NPM”
Comment from 20 Aug 2026 in “Malicious Rust Crate Arrayref Runs a Build-Time Payload”
What people warn about
Each mark is one comment
Weak auth: optional 2FA, long-lived tokens
“2FA is not yet required formally logins, nor is password expiry enforced”
Comment from 31 Jul 2026 in “Investigating three real-world incidents in our cybersecurity evaluations” “Basically you enable 2FA on your account, go on the website, generate a token, store it in a .txt file and use that for the rest of your life”
Comment from 28 Mar 2026 in “Telnyx v4.87.1 and v4.87.2 are compromised by TeamPCP” “PyPI only supports 2FA for sign-in. 2FA is not a factor at all with publishing.”
Comment from 28 Mar 2026 in “Telnyx v4.87.1 and v4.87.2 are compromised by TeamPCP” Security measures seen as ineffective
“NPM, PyPI, Cargo et. al. continue to think they can short circuit that process and still ship safe software, and they verifiably cannot.”
Comment from 7 Mar 2026 in “Package Managers Need to Cool Down” “Instead Python gets absurdly ineffective workarounds that will probably inconvenience a few developers and will do zilch for users.”
Comment from 25 Jul 2026 in “PyPI Blog: Releases now reject new files after 14 days” “NPM (and cargo/PyPI et. al.) continues to think it can short circuit this requirement for human labor.”
Comment from 1 Jun 2026 in “NPM packages from RedHat have been compromised” Frequent supply-chain attacks and mishaps
“attackers are publishing "internal-package-a@999.9.9" on any public package host (NPM, PyPi, etc)”
Comment from 31 Aug 2026 in “A CVE Dispute” “it's the insanely easy to attack programming language package ecosystems, like NPM, PyPI”
Comment from 31 Oct 2026 in “Malware uses LLMs to rank victims by how much they're worth” “There were a few mishaps with PyPI and npm - including in the past week and even today.”
Comment from 31 Mar 2026 in “Android Developer Verification”
Other package repositories people recommend
The four most recommended other package repositories, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Nixpkgs | 38 | 22 | 63% | 11 | — | — |
| Arch User Repository | 34 | 74 | 31% | 5 | — | — |
| Arch User Repository | 20 | 23 | 47% | 10 | — | — |
| crates.io | 17 | 18 | 49% | 9 | — | — |
| PyPIThis page | 16 | 28 | 36% | 10 | — | — |
What people said
40 of the 59 comments that mention it, newest first. Each links to the original comment.
“it's the insanely easy to attack programming language package ecosystems, like NPM, PyPI”
“realizing it is barely a step up from copy-pasting out of stack overflow”
“Well first off I love PyPI”
“today it is a more "just works" experience to use PyPi instead of conda”
“attackers are publishing "internal-package-a@999.9.9" on any public package host (NPM, PyPi, etc)”
“Cargo (and PyPI) is undeniably better than NPM”
“this has no breaking implications for downstream index consumers”
“2FA is not yet required formally logins, nor is password expiry enforced”
“Python package management has been a horrifying embarrassment for 15 years”
“Instead Python gets absurdly ineffective workarounds that will probably inconvenience a few developers and will do zilch for users.”
“which evolved over time instead of being designed to avoid these kinds of problems”
“IPv6 BGP routing problem caused by a bad route from one of our peers”
“NPM (and cargo/PyPI et. al.) continues to think it can short circuit this requirement for human labor.”
“PyPI and Cargo are, 100%, vulnerable to this same class of compromises.”
“Cargo, NPM, Composer and pypi are more than enough.”
“There were a few mishaps with PyPI and npm - including in the past week and even today.”
“It would be a way for PyPA to brush off liability without securing anything.”
“Basically you enable 2FA on your account, go on the website, generate a token, store it in a .txt file and use that for the rest of your life”
“PyPI only supports 2FA for sign-in. 2FA is not a factor at all with publishing.”
“It should not let people download unscanned dependencies without a warning and asking the user to override”
“this was handled pretty well all things considered”
“It is not effective if it just takes a simple base64 encode to bypass.”
“pypi reacted so quickly and quarantined the package in like 30 minutes”
“The existing account to report is an unfortunate obstacle.”
“PyPI is pretty best-in-class here and I think that they should be seen as the example for others to pursue.”
“But no, they went with "trusted publishing" (i.e., publishing is triggered by CI, and will happily publish a compromized repo).”
“people making the exact mistake you describe, at scale, is the only hypothesis I ever came up with for the sheer number of downloads from PyPI”
“NPM, PyPI, Cargo et. al. continue to think they can short circuit that process and still ship safe software, and they verifiably cannot.”
“is solved by distro-agnostic packaging systems”
“One insecure buggy code generator connected to an insecure packaging "system", PyPI.”
“PyPi is keeping their index private and you'd have to scrape all data through a heavily rate-limited API.”
“Pypi is the only OS agnostic package manager already installed on every OS.”
“Yes, this makes contacting PyPI support via GitHub impossible for me. That is one of the reasons I stopped using PyPI”
“Great to see PyPi taking a more reasonable path.”
“funding pypi so that they may remove other features such as gpg signatures”
“PyPI's implementation of attestations prefers the more ideal thing with respect to reducing the likelihood of local private key disclosure”
“As PyPI does not allow replacement of artefacts (sdists, wheels, and older formats), and because there is no way to update/correct metadata”
“it's disappointing that one uploads source tarballs and wheels to PyPI instead of uploading an attested source tree”
“you should also not trust pypi, rubygems, cargo and all the other programming language package managers.”
“you can just put it on PyPI which is everywhere nowadays”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.