Skip to main content

Tornado PyPi server

Project description Latest Version

Fast asynchronous pypi server implementation.

What is this? - is a global package repository of the python packages. This package is a self-hosted pypi service with caching functionallity from the global pypi.

HTTP proxy can’t works with XML-RPC of


screenshots/packages.png?raw=true screenshots/users.png?raw=true screenshots/create_user.png?raw=true


Supports right now:

  • Caching packages from global-pypi
  • Serving own packages (registering and updating)
  • Password authentication for registering and uploading
  • Supported Databases:
    • Postgresql
    • Mysql (mariadb)
    • sqlite3 (only for development)



Use docker image and following docker-compose.yml (uses postgresql):

version: '2'

    image: postgres
      POSTGRES_PASSWORD: pypi-server
      POSTGRES_USER: pypi-server
      POSTGRES_DB: pypi-server
      - ./postgresql:/var/lib/postgresql/data

    image: mosquito/pypi-server:latest
      - db
    restart: always
      - 8080:80
      - ./packages:/usr/lib/pypi-server
      # Database URL. Use `sqlite3:///` or `mysql://` when needed
      DB: "postgres://pypi-server:pypi-server@db/pypi-server"

      ## By default random
      #SECRET: changeme

      ## Override standard port
      #PORT: 80

      ## Set "X-Headers" (e.g. X-Forwarded-For)
      #PROXY_MODE: 1

      ## Set 0 when you want to disable proxying from global pypi
      #PYPI_PROXY: 1

      ## Tread-pool size (default cpu_count * 2)
      #POOL_SIZE: 4

      ## Maximum proxy clients count
      #MAX_CLIENTS: 25

      ## PYPI server url


Use prepared Centos 7 rpm from releases.

Manual installation:

# Install compillers
yum groupinstall -y "Development tools"

# Install dependency headers
yum install -y python-pip python-devel libxml2-devel libxslt-devel libffi-devel

# Install the database library headers (if you use postgresql)
yum install -y libpqxx-devel

Debian (Ubuntu)

Use prepared deb files from releases.

Manual installation:

# Install compillers
apt-get install -y build-essential
apt-get install -y python-dev python-pip libxml2-dev libxslt-dev libffi-dev
apt-get install -y libpq-dev

Install pypi-server:

pip install pypi-server

If you want to support postgres or mysql database:

pip install 'pypi-server[postgres]' # or 'pypi-server[mysql]'

Default admin login password is: admin admin

How upload your own package

  1. Make sure what your package file is correct. Check reference at
  2. Create at home directory .pypirc
index-servers =

  1. Make bundle, register package at your pypi-server and upload package:
cd your_package_root_folder
python sdist register upload -r mypypi

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pypi-server, version 0.4.7
Filename, size File type Python version Upload date Hashes
Filename, size pypi_server-0.4.7-py2-none-any.whl (725.1 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size pypi_server-0.4.7-py3-none-any.whl (725.1 kB) File type Wheel Python version 3.5 Upload date Hashes View hashes
Filename, size pypi-server-0.4.7.tar.gz (418.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page