Hacker ApprovedDepartments

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%
Each figure is one person. RecommendsCriticizes

Recommended in 10 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. 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.

PyPI compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Nixpkgs382263%11——
Arch User Repository347431%5——
Arch User Repository202347%10——
crates.io171849%9——
PyPIThis page162836%10——
See all 9 package repositories, ranked

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”

CriticizesComment from 31 Oct 2026 in “Malware uses LLMs to rank victims by how much they're worth”

“realizing it is barely a step up from copy-pasting out of stack overflow”

CriticizesComment from 25 Oct 2026 in “Broccoli2Shell: Brotli decoder RCE in Node.js, Python and more”

“Well first off I love PyPI”

RecommendsComment from 24 Oct 2026 in “Evolving Threat: http2shell is an RCE in Node, Python, and more”

“today it is a more "just works" experience to use PyPi instead of conda”

RecommendsComment from 16 Sep 2026 in “Java 27”

“attackers are publishing "internal-package-a@999.9.9" on any public package host (NPM, PyPi, etc)”

MixedComment from 31 Aug 2026 in “A CVE Dispute”

“Cargo (and PyPI) is undeniably better than NPM”

MixedComment from 20 Aug 2026 in “Malicious Rust Crate Arrayref Runs a Build-Time Payload”

“this has no breaking implications for downstream index consumers”

RecommendsComment from 11 Aug 2026 in “PyPI: The HTML representation of the index API is frozen”

“2FA is not yet required formally logins, nor is password expiry enforced”

MixedComment from 31 Jul 2026 in “Investigating three real-world incidents in our cybersecurity evaluations”

“Python package management has been a horrifying embarrassment for 15 years”

CriticizesComment from 25 Jul 2026 in “PyPI Blog: Releases now reject new files after 14 days”

“Instead Python gets absurdly ineffective workarounds that will probably inconvenience a few developers and will do zilch for users.”

CriticizesComment from 25 Jul 2026 in “PyPI Blog: Releases now reject new files after 14 days”

“which evolved over time instead of being designed to avoid these kinds of problems”

MixedComment from 25 Jul 2026 in “PyPI Blog: Releases now reject new files after 14 days”

“IPv6 BGP routing problem caused by a bad route from one of our peers”

CriticizesComment from 21 Jun 2026 in “Google Hits 50% IPv6”

“NPM (and cargo/PyPI et. al.) continues to think it can short circuit this requirement for human labor.”

CriticizesComment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”

“PyPI and Cargo are, 100%, vulnerable to this same class of compromises.”

CriticizesComment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”

“Cargo, NPM, Composer and pypi are more than enough.”

RecommendsComment from 13 May 2026 in “I made rust's cargo copy but for CPP”

“There were a few mishaps with PyPI and npm - including in the past week and even today.”

CriticizesComment from 31 Mar 2026 in “Android Developer Verification”

“It would be a way for PyPA to brush off liability without securing anything.”

CriticizesComment from 28 Mar 2026 in “Telnyx v4.87.1 and v4.87.2 are compromised by TeamPCP”

“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”

CriticizesComment 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.”

CriticizesComment from 28 Mar 2026 in “Telnyx v4.87.1 and v4.87.2 are compromised by TeamPCP”

“It should not let people download unscanned dependencies without a warning and asking the user to override”

CriticizesComment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack”

“this was handled pretty well all things considered”

RecommendsComment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack”

“It is not effective if it just takes a simple base64 encode to bypass.”

CriticizesComment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack”

“pypi reacted so quickly and quarantined the package in like 30 minutes”

RecommendsComment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack”

“The existing account to report is an unfortunate obstacle.”

MixedComment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack”

“PyPI is pretty best-in-class here and I think that they should be seen as the example for others to pursue.”

RecommendsComment from 26 Mar 2026 in “My minute-by-minute response to the LiteLLM malware attack”

“But no, they went with "trusted publishing" (i.e., publishing is triggered by CI, and will happily publish a compromized repo).”

CriticizesComment from 25 Mar 2026 in “LiteLLM Python package compromised by supply-chain attack”

“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”

MixedComment from 18 Mar 2026 in “Launch an autonomous AI agent with sandboxed execution in 2 lines of code”

“NPM, PyPI, Cargo et. al. continue to think they can short circuit that process and still ship safe software, and they verifiably cannot.”

CriticizesComment from 7 Mar 2026 in “Package Managers Need to Cool Down”

“is solved by distro-agnostic packaging systems”

RecommendsComment from 21 Feb 2026 in “Reproducible and traceable configuration for Conan C and C++ package manager”

“One insecure buggy code generator connected to an insecure packaging "system", PyPI.”

CriticizesComment from 26 Jan 2026 in “ChatGPT Containers can now run bash, pip/npm install packages and download files”

“PyPi is keeping their index private and you'd have to scrape all data through a heavily rate-limited API.”

CriticizesComment from 13 Jan 2026 in “Package managers keep using Git as a database, it never works out”

“Pypi is the only OS agnostic package manager already installed on every OS.”

RecommendsComment from 10 Jan 2026 in “Deno has made its PyPI distribution official”

“Yes, this makes contacting PyPI support via GitHub impossible for me. That is one of the reasons I stopped using PyPI”

CriticizesComment from 8 Jan 2026 in “NPM to implement staged publishing after turbulent shift off classic tokens”

“Great to see PyPi taking a more reasonable path.”

RecommendsComment from 8 Jan 2026 in “NPM to implement staged publishing after turbulent shift off classic tokens”

“funding pypi so that they may remove other features such as gpg signatures”

CriticizesComment from 2 Jan 2026 in “Web Browsers have stopped blocking pop-ups”

“PyPI's implementation of attestations prefers the more ideal thing with respect to reducing the likelihood of local private key disclosure”

RecommendsComment from 27 Dec 2025 in “Gpg.fail”

“As PyPI does not allow replacement of artefacts (sdists, wheels, and older formats), and because there is no way to update/correct metadata”

CriticizesComment from 27 Dec 2025 in “How uv got so fast”

“it's disappointing that one uploads source tarballs and wheels to PyPI instead of uploading an attested source tree”

CriticizesComment from 23 Dec 2025 in “Debian's Git Transition”

“you should also not trust pypi, rubygems, cargo and all the other programming language package managers.”

CriticizesComment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected”

“you can just put it on PyPI which is everywhere nowadays”

RecommendsComment from 7 Nov 2025 in “How often does Python allocate?”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.