pypiserver
A minimal PyPI server for use with pip/easy_install.
Decision gist · record as of 2026-08-14
Yes. pypiserver is production-stable, actively maintained, has no known vulnerabilities, and solves a real problem with minimal dependencies and low installation friction. Install it if you need a private or local package index; it's the standard lightweight choice for this use case.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; PyPy3 is supported.
- Low friction installation with a pure-Python wheel and only four runtime dependencies.
- Actively maintained with recent commits and a stable release cadence; last release 185 days ago with active repository.
License · maintenance · safety
permissive license (permissive) — Dual-licensed under zlib/libpng and MIT (both permissive); you can use and modify freely in commercial and private contexts with minimal restrictions.
last release 2026-02-10 (185 days) · last repo commit 2026-08-05 · 2,059 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 898,219 downloads/mo, #4,783 on PyPI
Alternatives
Verify before relying
pip install pypiserver
pypiserver run ~/packages- Whether the server handles authentication and authorization for multi-user deployments
- Performance characteristics when serving thousands of packages
- Whether HTTPS/TLS is supported natively or requires a reverse proxy
What it is and what it does
pypiserver is a lightweight PyPI-compatible package index that runs on your own infrastructure, allowing pip, setuptools, and twine to upload and download packages as if connecting to the official PyPI. It serves packages from regular filesystem directories and implements the same interfaces as PyPI, so standard Python packaging tools work without modification.
The server is built on bottle and supports uploading wheels, source distributions, eggs, and PGP signatures via pip, setuptools, twine, or direct file copy. It's designed for teams and organizations that need a private package repository without the complexity of the official Warehouse software, and it can be deployed standalone, behind a reverse proxy, or as a systemd service.
Use it for
- Host proprietary or internal packages for a team without uploading to public PyPI
- Create an offline package cache to speed up deployments in air-gapped environments
- Set up a staging index for testing package uploads before releasing to public PyPI
- Serve pre-built wheels for legacy or specialized dependencies in a corporate environment
- Mirror a subset of PyPI packages for faster local access during development
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
pypiserver is production-stable, actively maintained, has no known vulnerabilities, and solves a real problem with minimal dependencies and low installation friction. Install it if you need a private or local package index; it's the standard lightweight choice for this use case.
Install
pypiserver on PyPI
Before you install
Low friction installation with a pure-Python wheel and only four runtime dependencies. Actively maintained with recent commits and a stable release cadence; last release 185 days ago with active repository.
Requires Python 3.10 or later; PyPy3 is supported.
License in practice
Dual-licensed under zlib/libpng and MIT (both permissive); you can use and modify freely in commercial and private contexts with minimal restrictions.
Quickstart
pip install pypiserver
pypiserver run ~/packages
Verify before relying
- Whether the server handles authentication and authorization for multi-user deployments
- Performance characteristics when serving thousands of packages
- Whether HTTPS/TLS is supported natively or requires a reverse proxy
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagespippackagingimportlib_resourceslegacy-cgi |
| Maintenance | Actively maintained 185 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 898,219 / month, #4,783 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseLicense :: OSI Approved :: zlib/libpng LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: OS IndependentOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Build ToolsTopic :: System :: Software Distribution |
Evidence: pypiserver-2.4.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “private pypi server”
- pypiserverRuns a minimal PyPI-compatible package server that pip and setuptools…
- pip2pipip2pi creates a PyPI-compatible package repository from pip…
- keyrings.codeartifactProvides AWS CodeArtifact authentication for pip and twine by…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also distribute · setuptools · twine · pip-hello-world · distlib · rangehttpserver · servestatic · pproxy