Skip to main content

An egg proxy for apache and mod_python

Project description

What is iw.eggproxy ?

iw.eggproxy is a module for apache mod_python. Its purpose is to serve as a pypi proxy.

The main idea is to mirror locally on demand. At first run it will download pypi index and build a page of links. When a software asks for a specific package, version, … it will be downloaded by iw.eggproxy, if needed. All files are eventually served by apache, as static content. iw.eggproxy just takes care of checking if it must (and can) be downloaded first.

How to use iw.eggproxy ?

You need mod_python 3.3 for apache. It will not work with previous versions.

Debian Etch users: Etch provides 3.2, so users of Etch must get the source package from “Lenny” (testing) and rebuild it with dpkg-buildpackage. Please have a look at the related section in this document to get some help.

Configuration file:

Currently its location is fixed to /etc/apache2/eggproxy.conf:

[default]
eggs_directory = /path/to/pypi
index = http://pypi.python.org/simple

# update information for files older than 24h
update_interval = 24

Apache setup for http://servername/pypi:

Alias /pypi "/path/to/pypi"
<Directory "/path/to/pypi">
    Order allow,deny
    Allow from all
    SetHandler mod_python
    PythonFixupHandler iw.eggproxy.apache_handler::fixup_handler
    PythonInterpreter main_interpreter
    PythonOption URLPrefix /pypi
    PythonPath "sys.path+['/path/to/iw.eggproxy']"
</Directory>

Apache must be able to write to “/path/to/pypi”! (usually Apache user is www-data). For updating proxied egg information you must add the script eggproxy_update into the crontab of this user.

mod_python update on Debian Etch:

Quick build instructions from debian “lenny” sources:

$ sudo apt-get build-dep libapache2-mod-python
$ sudo apt-get install fakeroot

Visit http://packages.debian.org/sources/lenny/libapache2-mod-python and grab the files with these extensions:

  • .dsc

  • .orig.tar.gz

  • .diff.gz

$ wget http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-python/libapache2-mod-python_3.3.1-3.dsc
$ wget http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-python/libapache2-mod-python_3.3.1.orig.tar.gz
$ wget http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-python/libapache2-mod-python_3.3.1-3.diff.gz
$ tar xpvzf libapache2-mod-python_3.3.1.orig.tar.gz
$ cd mod_python-3.3.1/
$ gzip -dc ../libapache2-mod-python_3.3.1-3.diff.gz |patch -p1
$ chmod +x debian/rules
$ dpkg-buildpackage -rfakeroot -b
$ cd ..

you should have the following files:

  • libapache2-mod-python_3.3.1-3_i386.deb

  • libapache2-mod-python-doc_3.3.1-3_all.deb

The last step is calling dpkg:

$ sudo dpkg -i libapache2-mod-python_3.3.1-3_i386.deb

Project details


Download files

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

Source Distribution

iw.eggproxy-0.2.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

iw.eggproxy-0.2.0-py2.4.egg (21.1 kB view details)

Uploaded Source

File details

Details for the file iw.eggproxy-0.2.0.tar.gz.

File metadata

  • Download URL: iw.eggproxy-0.2.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for iw.eggproxy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 440af1378d06414733441a5c2b92d200a4de99528c54971832559bcb41690489
MD5 d1596803186c22897fa4a155ff428837
BLAKE2b-256 fa452ca5ec53a3ed04bd97e56ad68c2f146137eb97533f7bc8137e25e54630f6

See more details on using hashes here.

File details

Details for the file iw.eggproxy-0.2.0-py2.4.egg.

File metadata

File hashes

Hashes for iw.eggproxy-0.2.0-py2.4.egg
Algorithm Hash digest
SHA256 795d7bca8739e27bd9f491a639525d93593c95f6b6b5a2b1146ca6537a898898
MD5 398e5dbe9ab49e99a72275c5cdf8b5cb
BLAKE2b-256 90a18ca6566170cd698a92dcef061f09b1de7c49c0855b2accd3835372e0ba9f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page