Pypiserver
Minimal PyPI server for uploading & downloading packages with pip/easy_install
Install / Use
/learn @pypiserver/PypiserverREADME

pypiserver - minimal PyPI server for use with pip/easy_install
| name | description |
| :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Version | 2.4.1 |
| Date: | 2026-02-10 |
| Source | https://github.com/pypiserver/pypiserver |
| PyPI | https://pypi.org/project/pypiserver/ |
| Tests | https://github.com/pypiserver/pypiserver/actions |
| Maintainers | @ankostis, @mplanchard, @dee-me-tree-or-love, @pawamoy, Someone new? We are open for new maintainers! #397 |
| License | zlib/libpng + MIT |
| Community | https://pypiserver.zulipchat.com |
[!TIP] Reach out in Discussions, or chat with us on Zulip
pypiserver is a minimal PyPI compatible server for pip or easy_install. It is based on bottle and serves packages from regular directories. Wheels, bdists, eggs and accompanying PGP-signatures can be uploaded either with pip, setuptools, twine, pypi-uploader, or simply copied with scp.
[!Note] The official software powering PyPI is Warehouse. However, Warehouse is fairly specialized to be pypi.org's own software, and should not be used in other contexts. In particular, it does not officially support being used as a custom package index by users wishing to serve their own packages.
pypiserver implements the same interfaces as PyPI, allowing standard Python packaging tooling such as pip and twine to interact with it as a package index just as they would with PyPI, while making it much easier to get a running index server.
pypiserver
Table of Contents
- pypiserver - minimal PyPI server for use with pip/easy_install
- pypiserver
- Quickstart Installation and Usage
- Client-Side Configurations
- Using the Docker Image
- Alternative Installation Methods
- Recipes
- Sources
- Known Limitations
- Similar Projects
- Related Software
- Licensing
Quickstart Installation and Usage
<!-- -->[!IMPORTANT] pypiserver works with Python 3.10+ and PyPy3.
<!-- -->[!WARNING] Older Python versions may still work, but they are not tested.
For legacy Python versions, use pypiserver-1.x series.
Note that these are not officially supported, and will not receive bugfixes or new features.
[!TIP]
The commands below work on a unix-like operating system with a posix shell.
The '~' character expands to user's home directory.If you're using Windows, you'll have to use their "Windows counterparts".
The same is true for the rest of this documentation.
-
Install pypiserver with this command
pip install pypiserver # Or: pypiserver[passlib,cache] mkdir ~/packages # Copy packages into this directory.[!TIP] See also Alternative Installation methods
-
Copy some packages into your ~/packages folder and then get your pypiserver up and running
pypi-server run -p 8080 ~/packages & # Will listen to all IPs. -
From the client computer, type this
# Download and install hosted packages. pip install --extra-index-url http://localhost:8080/simple/ ... # or pip install --extra-index-url http://localhost:8080 ... # Search hosted packages. pip search --index http://localhost:8080 ... # Note that pip search does not currently work with the /simple/ endpoint.[!TIP] See also Client-side configurations for avoiding tedious typing.
-
Enter pypi-server -h in the cmd-line to print a detailed usage message
<!-- NB: this text should be updated if the help message changes -->usage: pypi-server [-h] [-v] [--log-file FILE] [--log-stream STREAM] [--log-frmt FORMAT] [--hash-al
