Packagecloud vs pypiserver
Packagecloud
packagecloud.iopypiserver
github.comSide by side
| Figure | Packagecloud | pypiserver |
|---|---|---|
| Price from | $89/mo | Free |
| Free plan | Yes | Yes |
| Free trial | Yes | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 9 | 1 |
| Spec score · Artifact repository software | 8.9 (#5) | 8.4 (#16) |
| Deployment | The About page says Packagecloud is available in the cloud and on-premises, including behind a corporate firewall or inside a perimeter network. | The project publishes Docker images for main branch pushes and dev, alpha, beta, and final releases. |
| Integrations | Listed CI integrations include CircleCI, Travis CI, Jenkins, Buildkite, and GitHub Actions; build tool integrations include Maven, Leiningen, Gradle, and SBT. | The documentation shows integration with pip, easy_install, setuptools, twine, Docker, and reverse proxies including Nginx and Traefik. |
| Package formats | Documentation lists RPM, DEB, Debian source packages, Java packages, Python distributions, RubyGems, Node.js, Alpine packages and generic files as supported. | It supports wheels, source distributions, eggs, and accompanying PGP signatures. |
| Support | The site lists support by email at [email protected] and says Enterprise+ customers should contact [email protected]. | The maintainers direct users to GitHub Discussions and a Zulip community chat, and direct bug reports to GitHub’s bug tracker. |
Plans
Packagecloud
- FreeFree
- FreeFree
- Starter$89 a month
- Starter$89 a month
- Pro$150 a month
- Pro$150 a month
- Enterprise$699 a month
- Enterprise$699 a month
- Enterprise+Priced on request
In their own words
Packagecloud
Packagecloud stores and distributes software packages through an automated service, available in the cloud or on-premises. It supports formats including npm, APT/Debian, Maven, Yum/RPM, RubyGems, and Python packages; Alpine, Helm, and Docker repositories are also listed. Users can manage packages through a graphical interface, command-line tools, or an API, with access control and collaboration features. Listed CI integrations include CircleCI, Travis CI, Jenkins, Buildkite, and GitHub Actions, while build-tool integrations include Maven, Leiningen, Gradle, and SBT. On-premises deployments can run behind a corporate firewall or inside a perimeter network. Packagecloud says its websites and microservices use SSL/TLS encryption, and that it is SOC 2 compliant. Audit and penetration test reports are available to customers on request under a signed NDA. It also says it complies with HIPAA standards and can sign a Business Associate Agreement. The free plan includes 10 GB bandwidth and 2 GB storage. Paid plans start with Starter at $89 a month, and paid plans have 14-day trials. Bandwidth and storage overage charges may apply on paid plans.
pypiserver
pypiserver is a minimal, self-hosted package index for uploading and downloading Python packages with tools such as pip and easy_install. It serves packages from regular directories, including wheels, bdists, eggs and PGP signatures, and scans those directories recursively. Packages can be uploaded with pip, setuptools, twine or pypi-uploader, or copied to the server with scp. Upload access can be protected with an Apache htpasswd file; API users can configure custom authentication callables. The maintainers advise password protection for uploads, and the documentation recommends a reverse proxy to provide HTTPS. pypiserver can run as a WSGI application, with documented integrations for Docker, nginx, Apache, gunicorn and Paste. It provides a health endpoint that returns HTTP 200 when the service is running, with an option to configure the endpoint. The current version supports Python 3.10+ and PyPy3. It is free at free and is listed for Linux, macOS, Windows, API and self-hosted use. Its API covers the operations needed by common package tools rather than the full PyPI API; documentation uploads are accepted but not saved to disk.