CPAN vs PyPI
CPAN
cpan.orgPyPI
pypi.orgSide by side
| Figure | CPAN | PyPI |
|---|---|---|
| Price from | Free | $5/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 4 |
| Spec score · Package Registries | 8.1 (#12) | 8.8 (#6) |
Plans
PyPI
- Community organizationFree
- Community OrganizationFree
- Company organization$5 a month
- Corporate Organization$5 a month
In their own words
CPAN
CPAN is a free archive of Perl software and documentation, with ways to find, download, and install modules. Its homepage lists 33,464,960 modules in 47,830 distributions from 14,750 authors; the archive has been online since October 1995. Visitors can search through MetaCPAN or browse modules, authors, and recent uploads. Modules can be installed with CPAN.pm, and manual installation instructions are available. Dependencies can require other modules, a particular version, or a C compiler. The site also provides Perl source archives and instructions for compiling and installing Perl. Authors submit uploads through PAUSE, which inspects, validates, and indexes them before they propagate to CPAN and its mirrors. For existing package namespaces, PAUSE indexes uploads only from the owner or an authorized maintainer. Its documentation says uploaded modules are tested across dozens of architectures by CPAN Testers. The Ports page lists Perl support for over 100 platforms, including Windows, macOS, and Linux. CPAN is backed by a CDN. The FAQ says CPAN handles questions about its own operation, not debugging users’ code.
PyPI
PyPI is a repository for software written in Python, available through its website and APIs. It helps users find and install packages shared by the Python community, while package authors publish projects and releases. A release may include source archives and binary wheels for different hardware, operating systems, and formats. APIs include RSS feeds for new packages and releases. PyPI is maintained by the Python Software Foundation and the Python community. Accounts require two-factor authentication, and a verified email address is needed to register a project or upload a release file. Trusted Publishing uses OpenID Connect short-lived identity tokens, with PyPI API tokens valid for 15 minutes. Default limits are 100 MB per file and 10 GB per project. Organizations provide shared profiles, teams, permissions, trusted publishing, and history. Community organizations are free; Company organizations cost $5 a month.