Tornado PyPi server
Project description
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 works with XML-RPC of pypi.python.org.
Screenshots
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):
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:
# 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
Make sure what your package setup.py file is correct. Check reference at https://packaging.python.org/distributing/
Create at home directory .pypirc
[distutils]
index-servers =
mypypi
[mypypi]
repository=http://example.com/pypi
username=admin
password=admin
Make bundle, register package at your pypi-server and upload package:
cd your_package_root_folder
python setup.py sdist register upload -r mypypi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file pypi-server-0.4.4.tar.gz
.
File metadata
- Download URL: pypi-server-0.4.4.tar.gz
- Upload date:
- Size: 699.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4179a80c81fac1592283afd45379b63b2a02426f1984dcd987e9e0d3661d7b80 |
|
MD5 | 37bdf355a08bc28a4d643e75ab46df83 |
|
BLAKE2b-256 | 9d4e12a27e9b1d8907535c52423a7d42c5415041cfa4df23c427b9ba2766a527 |
File details
Details for the file pypi_server-0.4.4-py3-none-any.whl
.
File metadata
- Download URL: pypi_server-0.4.4-py3-none-any.whl
- Upload date:
- Size: 764.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 771eeb6577dd73775b2ece2dfb58b44f2980ec066726f413ee5bbb5f281d6f86 |
|
MD5 | 21f8d2e8a865b3fab4feaa847f65dcab |
|
BLAKE2b-256 | c7b37ccbd871c466d9669b6eb6c52a21bb540b567fd22389d64ce66537af1692 |
File details
Details for the file pypi_server-0.4.4-py2-none-any.whl
.
File metadata
- Download URL: pypi_server-0.4.4-py2-none-any.whl
- Upload date:
- Size: 764.6 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b741991bcfe4307499bf830a697f68e8c623e9641935951fdd71d36388e65d6 |
|
MD5 | 94f946f6b2667ccb6101491facde1335 |
|
BLAKE2b-256 | 40c5c9fcea4a6dc8e8718a1085daba212380a3569f59d24e5f630479c6426ca7 |