Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Package Registries
  3. pypiserver

pypiserver

What it is

pypiserver is a free, open-source package index that lets users host Python packages on their own server and access them with tools such as pip and twine. It serves files from regular directories, including wheels, bdists, eggs, and accompanying PGP signatures. Packages can be added with pip, setuptools, twine, or pypi-uploader, or copied to the server with scp. Upload access can use an Apache htpasswd file, and API users can configure custom authentication callables. The maintainers advise protecting package uploads with a password. The service can run as a WSGI application, and its documentation covers Docker, nginx, Apache, gunicorn, Paste, and other WSGI servers. A default health endpoint returns HTTP 200 when the service is up. The current version supports Python 3.10+ and PyPy3. Its API covers the operations needed by common package tools, rather than the full PyPI API. The documentation also says accepted documentation uploads are not saved to disk. For HTTPS, the project recommends placing pypiserver behind a reverse proxy.

For and against

For

  • Works with pip and twine as a package index.
  • Supports wheels, bdists, eggs, and PGP signatures.
  • Offers several package upload methods.
  • Includes a health endpoint for checking service status.
  • Can run as a WSGI application.

Against

  • Implements only part of the PyPI API.
  • Accepted documentation uploads are not saved to disk.
  • The current version supports Python 3.10+ and PyPy3.
  • Package uploads should be password-protected.

The verdict

pypiserver provides a focused, self-hosted index for serving Python packages through familiar packaging tools. Its limited API and unsaved documentation uploads are important constraints to consider when planning a deployment.

Who it suits

pypiserver suits developers or teams who want to maintain a self-hosted index for their Python packages. It may fit deployments using standard packaging tools and a regular directory for package files.

Plans and prices

pypiserver

Free

Open-source package server; self-hosted; minimal PyPI-compatible API

Every plan, in full

On the record

API and servers
Its API returns a WSGI application that can be run with supported or user-chosen WSGI servers.github.com · read 10 Oct 2026
API limit
pypiserver implements only enough of the PyPI API for easy_install, pip install, and search, rather than the full API.github.com · read 9 Oct 2026
Authentication
Uploads can be protected with Apache htpasswd authentication, and API users can configure a custom authentication callable.github.com · read 10 Oct 2026
Clients
Standard Python packaging tools including pip and twine can use it as a package index.github.com · read 9 Oct 2026
Deployment
The project publishes Docker images for main branch pushes and dev, alpha, beta, and final releases.github.com · read 10 Oct 2026
Docker
Official Docker images are built for main pushes and development, prerelease, and final releases.github.com · read 9 Oct 2026
Documentation limitation
It accepts documentation uploads but does not save them to disk.github.com · read 9 Oct 2026
Health checks
It provides a default /health endpoint that returns HTTP 200 when the service is up and supports a configurable endpoint.github.com · read 9 Oct 2026
HTTPS
The documentation recommends putting pypiserver behind a reverse proxy to provide HTTPS.github.com · read 9 Oct 2026
Integrations
The documentation shows integration with pip, easy_install, setuptools, twine, Docker, and reverse proxies including Nginx and Traefik.github.com · read 10 Oct 2026
Intended users
The project describes itself as a self-hosted package index for users who want to serve their own Python packages.github.com · read 9 Oct 2026
License
The project’s remaining code is distributed under the zlib/libpng license, and its bundled Bottle copy is MIT-licensed.github.com · read 10 Oct 2026
Limitations
It does not implement the full PyPI API and documents that it accepts documentation uploads but does not save them to disk.github.com · read 10 Oct 2026
Package formats
It supports wheels, source distributions, eggs, and accompanying PGP signatures.github.com · read 10 Oct 2026
Platform support
The README includes Windows service instructions using NSSM and systemd service instructions for Linux.github.com · read 10 Oct 2026
Purpose
pypiserver is a minimal PyPI-compatible server for uploading and downloading Python packages with pip or easy_install.github.com · read 10 Oct 2026
PyPI compatibility
It implements the PyPI interfaces needed for standard packaging tools such as pip and twine to use it as a package index.github.com · read 10 Oct 2026
Python support
The current version works with Python 3.10+ and PyPy3; older Python versions are not tested and the 1.x series is unsupported.github.com · read 10 Oct 2026

Alternatives to pypiserver

Every alternative, ranked