RETIRED, PyPI mirror builder
Go to file
Mike Heald 9aa8af0dcd Use pip 6.x for building the mirror
pip 1.5.1 removed options that pypi-mirror needed for
reliable downloading, and pip 1.5.0 has problems with
some proxies, so this change updates the tmp virtualenvs
to use pip>6, uses the download only option, and
parses the package names from the tarball filenames.

Also, don't use the cached downloads as an extra search
path when preparing the build virtualenvs, as older
distributions will pick up newer versions of packages
that the system can't yet install, until the pip
and virtualenv has been upgraded inside the build
virtualenv.

Change-Id: I645938aa790ba5293a8c78d3b410c3fe339f383c
2015-01-19 13:49:52 +00:00
pypi_mirror Use pip 6.x for building the mirror 2015-01-19 13:49:52 +00:00
.gitignore Add .idea to .gitignore 2013-07-22 13:10:38 +04:00
.gitreview Rename jeepyb to pypi-mirror 2013-09-09 13:43:36 -05:00
.mailmap Add gerritx project infrastructure. 2012-11-22 09:41:44 -08:00
CONTRIBUTING.md Switched documentation to point to storyboard 2014-11-12 16:40:55 +00:00
MANIFEST.in Strip out the things we don't need from jeepyb 2013-09-09 13:43:53 -05:00
README.rst Add a pointer to the DIB pypi element's README 2014-04-11 01:47:26 +02:00
requirements.txt Don't upgrade setuptools or distribute 2013-11-14 13:16:38 -05:00
setup.cfg Install some python with our package 2013-10-16 19:13:29 +00:00
setup.py Strip out the things we don't need from jeepyb 2013-09-09 13:43:53 -05:00
test-requirements.txt Bump hacking to 0.9.x series 2014-07-22 14:35:41 +02:00
tox.ini Modernize to curent build standards 2013-07-02 16:49:29 +00:00

Partial PyPI Mirrors

Sometimes you want a PyPI mirror, but you don't want the whole thing. You certainly don't want external links. What you want are the things that you need and nothing more. What's more, you often know exactly what you need because you already have a pip requirements.txt file containing the list of things you expect to download from PyPI.

pypi-mirror will build a local static mirror for you based on requirements files in git repos.

Use with diskimage-builder

The config below shows a generic sample config. If you're using this mirror in conjunction with diskimage-builder, more specific notes (including some pre-requisites and installation instructions) can be found at https://git.openstack.org/cgit/openstack/diskimage-builder/tree/elements/pypi/README.md

Configuration

A YAML configuration is needed to create a mirror. Below is an example configuration. :

cache-root: /tmp/cache

mirrors:
  - name: openstack
    projects:
      - https://git.openstack.org/openstack/requirements
    output: /tmp/mirror/openstack

  - name: openstack-infra
    projects:
      - https://git.openstack.org/openstack-infra/config
    output: /tmp/mirror/openstack-infra

Creating a mirror

The run_mirror utility creates a mirror. :

run-mirror -c mirror.yaml