devpi vs pypiserver
devpi
devpi.netpypiserver
github.comSide by side
| Figure | devpi | pypiserver |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Package Registries | 7.4 (#21) | 8.3 (#11) |
| Spec score · Artifact repository software | 7.3 (#53) | 8.4 (#16) |
| Authentication | The documentation shows users logging in with passwords before managing their indexes. | Uploads can be protected with Apache htpasswd authentication, and API users can configure a custom authentication callable. |
| Integrations | The project documentation demonstrates a Jenkins build trigger setting on an index. | The documentation shows integration with pip, easy_install, setuptools, twine, Docker, and reverse proxies including Nginx and Traefik. |
| Intended users | The project describes user and team indexes for Python package workflows. | The project describes itself as a self-hosted package index for users who want to serve their own Python packages. |
| Purpose | devpi is a Python package index server and packaging, testing, and release tool. | pypiserver is a minimal PyPI-compatible server for uploading and downloading Python packages with pip or easy_install. |
| Support | The official site lists support contracts and paid help via [email protected]. | The maintainers direct users to GitHub Discussions and a Zulip community chat, and direct bug reports to GitHub’s bug tracker. |
Plans
In their own words
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.