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.
Metadata
Release files for pkgsync 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pkgsync-0.1.0.tar.gz | 9.9 kB | Without provenance | Details for pkgsync-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pkgsync-0.1.0-py2.7.egg | Legacy Egg format | - | - | Details for pkgsync-0.1.0-py2.7.egg |
Total release size: 39.3 kB
Release files / pkgsync-0.1.0.tar.gz
| Download URL | pkgsync-0.1.0.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c298cbaf44f8eb549fe888d56182df5d4fe0eec4aff0ae426a3ca259473c3fd
|
|
BLAKE2b-256 checksum How to use checksums |
58dd80c811567d3d109a71abbab0db779ea517a0c2877b104c283f46705d3553
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pkgsync-0.1.0-py2.7.egg
| Download URL | pkgsync-0.1.0-py2.7.egg |
|---|---|
| Size | 29.4 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
e3b6e6a8658af93d3489da7faa8311f510a3943df3b333afabb98709282e2908
|
|
BLAKE2b-256 checksum How to use checksums |
2f9815db637649033bf06c074f6a7af729fd7d8993e099762023e3e2f4f3cead
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pkgsync 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.