mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
* Add --require-hashes option. This is handy in deployment scripts to force application authors to hash their requirements. It is also a convenient way to get pip to show computed hashes for a virgin, unhashed requirements file. Eventually, additions to `pip freeze` should fill a superset of this use case. * In --require-hashes mode, at least one hash is required to match for each requirement. * Option-based requirements (--sha256=...) turn on --require-hashes mode implicitly. * Internet-derived URL-based hashes are "necessary but not sufficient": they do not satisfy --require-hashes mode when they match, but they are still used to guard against transmission errors. * Other URL-based requirements (#md5=...) are treated just like flag-based ones, except they don't turn on --require-hashes. * Complain informatively, with the most devastating errors first so you don't chase your tail all day only to run up against a brick wall at the end. This also means we don't complain that a hash is missing, only for the user to find, after fixing it, that we have no idea how to even compute a hash for that type of requirement. * Complain about unpinned requirements when hash-checking mode is on, lest they cause the user surprise later. * Complain about missing hashes. * Complain about requirement types we don't know how to hash (like VCS ones and local dirs). * Have InstallRequirement keep its original Link around (original_link) so we can differentiate between URL hashes from requirements files and ones downloaded from the (untrustworthy) internet. * Remove test_download_hashes, which is obsolete. Similar coverage is provided in test_utils.TestHashes and the various hash cases in test_req.py. |
||
---|---|---|
.. | ||
__init__.py | ||
test_appdirs.py | ||
test_basecommand.py | ||
test_cmdoptions.py | ||
test_compat.py | ||
test_download.py | ||
test_finder.py | ||
test_index.py | ||
test_locations.py | ||
test_options.py | ||
test_proxy.py | ||
test_req.py | ||
test_req_file.py | ||
test_req_uninstall.py | ||
test_unit_outdated.py | ||
test_utils.py | ||
test_vcs.py | ||
test_wheel.py |