9. piw-add¶
The piw-add script is used to manually add new packages (and versions of packages) to the system. This script must be run on the same node as the piw-master script.
9.1. Synopsis¶
piw-add [-h] [--version] [-c FILE] [-q] [-v] [-l FILE] [-y] [-s REASON]
[--unskip] [-d TEXT] [-a NAME] [-r TIMESTAMP] [--yank]
[--unyank] [--import-queue ADDR]
package [version]
9.2. Description¶
- package¶
The name of the package to add
- version¶
The version of the package to add; if omitted, adds the package only
- -h, --help¶
Show this help message and exit
- --version¶
Show program’s version number and exit
- -c FILE, --configuration FILE¶
Specify a configuration file to load
- -q, --quiet¶
Produce less console output
- -v, --verbose¶
Produce more console output
- -l FILE, --log-file FILE¶
Log messages to the specified file
- -y, --yes¶
Run non-interactively; never prompt during operation
- -s REASON, --skip REASON¶
Mark the package or version with a skip reason to prevent build attempts
- --unskip¶
Remove a skip reason for the package or version to enable build attempts
- -d TEXT, --description TEXT¶
The package description; defaults to retrieving the description from PyPI
- -a ALIAS, --alias ALIAS¶
Any package aliases to use; may be specified multiple times
- -r TIMESTAMP, --released TIMESTAMP¶
The version’s release date (can only be provided for a new version, cannot be updated); defaults to now
- --yank¶
Mark the version as yanked (can only be applied to a new version - use piw-remove to yank a known version
- --unyank¶
Mark a known version as not yanked
- --import-queue ADDR¶
The address of the queue used by piw-add (default: (ipc:///tmp/piw-import); this should always be an ipc address
9.3. Usage¶
This utility is intended to permit administrators to tweak the content of the database to correct issues that arise from either incorrect scraping of the PyPI history, inadvertent mistakes made with piw-remove, or other inconsistencies found in the database.
The utility can be run in a batch mode with --yes
but still requires
invoking once per addition required (you cannot define multiple packages or
versions in a single invocation).
The return code will be 0 if the package (or version) was successfully added to the database. If anything fails, the return code will be non-zero and the database should remain unchanged.
The utility should only ever be run directly on the master node (opening the import queue to other machines is a potential security risk).