Skip to main content

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

Release files for iw.eggproxy 0.1.0

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

Source distribution (sdist)

Source distribution for iw.eggproxy 0.1.0
File Size Uploaded
iw.eggproxy-0.1.0.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iw.eggproxy 0.1.0
File Interpreter ABI Platform
iw.eggproxy-0.1.0-py2.4.egg Legacy Egg format - - Details

Total release size: 33.8 kB

Release files / iw.eggproxy-0.1.0.tar.gz

Download URL iw.eggproxy-0.1.0.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c554c79ef3ba48d2b652ccff9eabdb49cb25871030bf20eddab457070dff1918
BLAKE2b-256 checksum
How to use checksums
e7f51fc0511ac35518ec723c7bc9a000aefe290e898f661af11a1a443fed363f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / iw.eggproxy-0.1.0-py2.4.egg

Download URL iw.eggproxy-0.1.0-py2.4.egg
Size 20.4 kB
Tags Egg
SHA-256 checksum
How to use checksums
b24b7774ef7dcf3c9bb960b475a2531b1f0368dec6e249c8119c3b6fe1a6eb21
BLAKE2b-256 checksum
How to use checksums
bc545fe0430679aea317ad5f5a122c4f4e50197a08641ed5791f818337923f74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 release files

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