Skip to main content
PYPI Server
===========

.. image:: https://travis-ci.org/mosquito/pypi-server.svg?branch=master
:target: https://travis-ci.org/mosquito/pypi-server

.. image:: https://img.shields.io/pypi/v/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/
:alt: Latest Version

.. image:: https://img.shields.io/pypi/wheel/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/

.. image:: https://img.shields.io/pypi/pyversions/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/

.. image:: https://img.shields.io/pypi/l/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/


Fast asynchronous pypi server implementation.

What is this?
-------------

pypi.python.org - 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 work with XML-RPC of pypi.python.org.

Screenshots
-----------

.. image:: screenshots/packages.png?raw=true
:scale: 50 %

.. image:: screenshots/users.png?raw=true
:scale: 50 %

.. image:: screenshots/create_user.png?raw=true
:scale: 50 %


Features
--------

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)


Installation
------------

Docker
++++++

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

.. code-block:: yaml

version: '2'

services:
db:
image: postgres
environment:
POSTGRES_PASSWORD: pypi-server
POSTGRES_USER: pypi-server
POSTGRES_DB: pypi-server
volumes:
- ./postgresql:/var/lib/postgresql/data

pypi_server:
image: mosquito/pypi-server:latest
links:
- db
restart: always
ports:
- 8080:80
volumes:
- ./packages:/usr/lib/pypi-server
environment:
# 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
#PYPY_SERVER: https://pypi.python.org


Centos
++++++

Use prepared Centos 7 rpm from `releases`_.

Manual installation:

.. code-block:: bash

# 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:

.. code-block:: bash

# 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:

.. code-block:: bash

pip install pypi-server


If you want to support postgres or mysql database:

.. code-block:: bash

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

Default admin login \ password is: admin \ admin


How to upload your own package
---------------------------

1. Make sure that your package setup.py file is correct. Check reference at https://packaging.python.org/distributing/

2. Create at home directory .pypirc

.. code-block::

[distutils]
index-servers =
mypypi

[mypypi]
repository=http://example.com/pypi
username=admin
password=admin

3. Make bundle, register package at your pypi-server and upload package:

.. code-block:: bash

cd your_package_root_folder
python setup.py sdist register upload -r mypypi


.. _releases: https://github.com/mosquito/pypi-server/releases/
.. _docker image: https://hub.docker.com/r/mosquito/pypi-server/
.. _docker-compose.yml: https://github.com/mosquito/pypi-server/blob/master/docker-compose.yml

Metadata

Release files for pypi-server 0.4.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypi-server 0.4.8
File Size Uploaded
pypi-server-0.4.8.tar.gz 417.0 kB Details

Release files / pypi-server-0.4.8.tar.gz

Download URL pypi-server-0.4.8.tar.gz
Size 417.0 kB
Tags Source
SHA-256 checksum
How to use checksums
aa52c8a80ba57e231a95e53c8a58191f7a5c82b3ae04676e23a809569cc809f8
BLAKE2b-256 checksum
How to use checksums
b6635bdd1e83aabbddc4b22bf4fdab59c63208c5b160c6b7e5b84e60bfe4a3a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/33.1.1 requests-toolbelt/0.8.0 tqdm/4.20.0 CPython/3.6.5

Release history Release notifications | RSS feed

This release

0.4.8 This release

1 release file

0.4.7

3 release files

0.4.6

1 release file

0.4.4

3 release files

0.4.3

1 release file

0.3.30

1 release file

0.3.29

1 release file

0.3.28

1 release file

0.3.27

1 release file

0.3.26

1 release file

0.3.25

1 release file

0.3.24

1 release file

0.3.23

1 release file

0.3.22

1 release file

0.3.19

1 release file

0.3.18

1 release file

0.3.17

1 release file

0.3.16

1 release file

0.3.15

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.22

2 release files

0.1.21

1 release file

0.1.20

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page