Skip to main content

Synchronise packages between two python software repositories

Project description

Overview

pkgsync is a tool used to move python packages from one repository to another. Say, for example you use a pypi-clone application such as chishop and you want to synchronise some packages from pypi to it, or you have multiple pypi clone applications, etc.

This makes sure that all the versions of some package on repository A are copied to repository B if they don’t already exist on B.

Benefits

pkgsync is particularly useful because it uses pkginfo to introspect packages so you don’t have to:

$ tar zxf something-1.2.3.tar.gz
$ cd something-1.2.3/
$ python setup.py sdist register upload -r privaterepo

which is flawed for being slow and often showing up issues where people have packaged their software incorrectly, with missing MANIFEST.in files, etc., plus dates change, md5sums change… in short it’s messy. Using pkgsync is less-so.

Password-Protected Repositories

Supports upload and download authentication just in case you have a password- protected private repository to copy from/to.

Old-Style Packages

Very naively support for old-style packages - packages without any setuptools metadata in them. For these packages, we attempt to use the filename to determine the package name and release, then register the package using the value ‘UNKNOWN’ for all the other setuptools metadata (as per the spec).

Usage

Default --source-url is http://pypi.python.org since that’s probably your use -case.

If --destination-username is provided and --destination-password is not, you’ll be prompted for a password.

Full command-line options documentation available by doing pkgsync --help

Example usage:

pkgsync --destination-url=https://eggsample.com --destination-username=youruser tzinfo Django celery

Full repository sync:

pkgsync --source-url=https://eggsample.com --destination-url=https://newrepo.com --destination-username=youruser --all

Development Instructions

It’s a pretty typical zc.buildout setup:

$ python bootstrap.py
$ bin/buildout

$ bin/pkginfo --help

Changelog

0.1.0 (2013-03-02)

  • Initial release.

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

pkgsync-0.1.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

pkgsync-0.1.0-py2.7.egg (29.4 kB view details)

Uploaded Source

File details

Details for the file pkgsync-0.1.0.tar.gz.

File metadata

  • Download URL: pkgsync-0.1.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pkgsync-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4c298cbaf44f8eb549fe888d56182df5d4fe0eec4aff0ae426a3ca259473c3fd
MD5 c264ffd778c274561842237d6253427a
BLAKE2b-256 58dd80c811567d3d109a71abbab0db779ea517a0c2877b104c283f46705d3553

See more details on using hashes here.

File details

Details for the file pkgsync-0.1.0-py2.7.egg.

File metadata

  • Download URL: pkgsync-0.1.0-py2.7.egg
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pkgsync-0.1.0-py2.7.egg
Algorithm Hash digest
SHA256 e3b6e6a8658af93d3489da7faa8311f510a3943df3b333afabb98709282e2908
MD5 ee6fbb8ee50e9b9d1bda8df6428090ca
BLAKE2b-256 2f9815db637649033bf06c074f6a7af729fd7d8993e099762023e3e2f4f3cead

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