piprepo is a tool for building and synchronizing PEP-503 compliant package repositories.
It currently supports synchronization to a local directory as well as AWS S3.
pip install piprepo
Build:
usage: piprepo build [-h] directory positional arguments: directory Local directory to build optional arguments: -h, --help show this help message and exit
Sync:
usage: piprepo sync [-h] source destination positional arguments: source Repository source destination Repository destination optional arguments: -h, --help show this help message and exit
The piprepo build
command builds a simple package index
from packages contained in the specified directory.
Download some source tarballs or wheels:
pip download -d /tmp/localrepo pyyaml pip wheel -w /tmp/localrepo pip
Or create a wheel from your source and copy it out (be sure to pip install wheel
):
python setup.py sdist bdist_wheel cp dist/*.whl /tmp/localrepo/
Build a simple package repository from downloaded packages:
piprepo build /tmp/localrepo
The piprepo sync
command builds a simple package index from
packages contained in the local source directory, and syncs
packages and index files to the specified destination.
Download some source tarballs or wheels:
pip download -d /tmp/syncrepo pyyaml pip wheel -w /tmp/syncrepo pip
Synchronize to local directory:
piprepo sync /tmp/syncrepo /tmp/newrepo
Synchronize to an S3 bucket:
piprepo sync /tmp/syncrepo s3://my-bucket/piprepo
Once you have built your repo, you can install using:
pip install my-pkg --extra-index-url file:///tmp/localrepo/simple/
Installing development requirements:
pip install -e .[dev]