1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00
Commit graph

1047 commits

Author SHA1 Message Date
Mike Hendricks
4e339f537d
Merge branch 'master' into uninstall-support-unc 2019-07-30 11:36:15 -07:00
Prabakaran Kumaresshan
f76014efac Add global options and no user config args to make_setuptools_shim_args (#6706) 2019-07-28 11:28:35 -07:00
Chris Jerdonek
6f638eb591 Add get_major_minor_version(). 2019-07-27 20:01:52 -07:00
Anthony Sottile
c3fb5cbff0 sys.version fixes for python 3.10 2019-07-27 19:59:18 -07:00
Chris Jerdonek
4cd825873b Remove get_summaries(). 2019-07-27 12:29:07 -07:00
Chris Jerdonek
1f09e67f34 Only import a Command class when it is actually needed.
This resulted in an approximate 24% speed-up of a vanilla `pip`
invocation on one system (0.477 secs before, 0.363 secs after).
2019-07-26 23:30:26 -04:00
Pradyun Gedam
2e51624bbb
Merge pull request #6764 from pradyunsg/style/isort
Change isort multi_line_output to 3
2019-07-26 23:52:24 +05:30
Hugo
8f32b8f425 Drop support for EOL Python 3.4 2019-07-23 22:49:21 +03:00
Chris Jerdonek
0a1571ba03 Fix a NoneType AttributeError when evaluating hashes. 2019-07-23 05:22:59 -04:00
Pradyun Gedam
537b0fca12
Change isort multi_line_output to 3 2019-07-22 10:15:27 +05:30
Brandt Bucher
8582f7e40f Reduce dependency on ctypes when discovering glibc version. (#6678) 2019-07-21 18:18:37 +05:30
Xavier Fernandez
645809944c
Move config files locations inside a function (#6736) 2019-07-20 22:29:24 +02:00
Pradyun Gedam
f669719c96
Rename InstallationCandidate.{location -> link} 2019-07-20 12:41:22 +05:30
Xavier Fernandez
7b58720381
Add utils.virtualenv tests (#6738)
* Add utils.virtualenv tests

* deal with missing attr
2019-07-19 21:36:11 +02:00
Chris Jerdonek
2de38044bb Pass the specifier to CandidateEvaluator.create(). 2019-07-16 01:09:14 -07:00
Chris Jerdonek
90fa087c63
Merge pull request #6714 from cjerdonek/filter-unallowed-hashes-logging
Add debug logging to filter_unallowed_hashes()
2019-07-15 16:30:07 -07:00
Chris Jerdonek
957756ac36 Remove strict_optional=False for models/target_python.py. 2019-07-14 23:07:45 -07:00
Chris Jerdonek
3cf192ff1b Add debug logging to filter_unallowed_hashes(). 2019-07-14 10:56:07 -07:00
Chris Jerdonek
0d96a49cf7 Add project_name to CandidateEvaluator. 2019-07-14 10:56:00 -07:00
Chris Jerdonek
2c36f4d8eb
Merge pull request #6699 from cjerdonek/issue-5874-hash-checking
Address #5874: Prefer candidates with allowed hashes
2019-07-14 09:10:43 -07:00
Chris Jerdonek
74504fff6c Prefer candidates with allowed hashes when sorting. 2019-07-14 02:50:51 -07:00
Chris Jerdonek
9ddc89a21d Pass the hashes when creating the CandidateEvaluator. 2019-07-14 02:50:51 -07:00
Chris Jerdonek
e80fc233ff Add filter_unallowed_hashes(). 2019-07-14 02:50:48 -07:00
Pradyun Gedam
34621bf008
Merge pull request #6701 from pradyunsg/tests/remove-makedirs
Change Path.makedirs() -> Path.mkdir(parents=True)
2019-07-13 16:53:41 +05:30
Prabakaran Kumaresshan
91b6b4ed54 Refactor SETUPTOOLS_SHIM with function make_setuptools_shim_args (#6691) 2019-07-12 01:29:41 -07:00
Pradyun Gedam
bc88399d07
Change Path.makedirs() -> Path.mkdir(parents=True) 2019-07-12 13:30:18 +05:30
Chris Jerdonek
e85a848ec8 Add Link.is_hash_allowed(). 2019-07-11 01:34:46 -07:00
Chris Jerdonek
3a2ee333a9 Add Hashes.is_hash_allowed(). 2019-07-10 20:13:24 -07:00
Chris Jerdonek
a9bf0415c5
Merge pull request #6687 from cjerdonek/add-candidate-preferences
Add PackageFinder.make_candidate_evaluator()
2019-07-10 19:58:49 -07:00
Chris Jerdonek
ddfa401dae
Merge pull request #6683 from cjerdonek/make-subprocess-error-path-display
Support non-ascii cwds in make_subprocess_output_error()
2019-07-08 13:19:43 -07:00
Chris Jerdonek
4a9e306678 Add get_applicable_candidates(), and test. 2019-07-07 14:35:56 -07:00
Chris Jerdonek
b2389bf8c7 Add CandidatePreferences and PackageFinder.make_candidate_evaluator(). 2019-07-07 14:35:50 -07:00
Chris Jerdonek
9311049de2
Merge pull request #6684 from cjerdonek/simplify-found-candidates
Simplify FoundCandidates
2019-07-06 02:04:39 -07:00
Chris Jerdonek
9d3d369834 Simplify FoundCandidates. 2019-07-06 01:08:51 -07:00
Chris Jerdonek
cf6f882392 Add test_make_found_candidates(). 2019-07-06 00:52:15 -07:00
Chris Jerdonek
77ad4764ef Support non-ascii cwds in make_subprocess_output_error(). 2019-07-06 00:26:36 -07:00
A_Rog
8e26b833d0 Parameterize test_looks_like_hash() (#6650) 2019-07-05 22:31:28 +05:30
Chris Jerdonek
005f700b94
Merge pull request #6666 from cjerdonek/add-link-evaluator
Add LinkEvaluator class
2019-07-04 17:42:50 -07:00
Chris Jerdonek
979c8405d2 Add LinkEvaluator class. 2019-07-04 16:54:29 -07:00
Chris Jerdonek
0d5a98390e
Merge pull request #6671 from cjerdonek/make-subprocess-error-non-ascii-cmd
Handle non-ascii commands in Python 2 in make_subprocess_output_error()
2019-07-04 15:43:25 -07:00
Chris Jerdonek
a6020e8553 Handle non-ascii commands in Python 2 in make_subprocess_output_error(). 2019-07-04 00:54:15 -07:00
Pradyun Gedam
d641b54436
Merge pull request #6670 from chrahunt/pathlib-refactor-2
Rename compatible functions in tests.lib.path.Path.
2019-07-03 14:38:03 +05:30
Chris Hunt
39ac9ca351 Rename compatible functions in tests.lib.path.Path. 2019-07-02 18:48:44 -04:00
Chris Jerdonek
a8510bc5e6
Merge pull request #6638 from cjerdonek/debug-command
Add a "pip debug" command
2019-07-02 02:00:02 -07:00
Chris Jerdonek
ba2c382511
Merge pull request #6660 from cjerdonek/rename-egg-info-matches
Rename _egg_info_matches()
2019-06-30 15:00:49 -07:00
Chris Jerdonek
2f1be4e6ec Rename index.py's _egg_info_matches(egg_info, canonical_name). 2019-06-30 12:51:09 -07:00
Chris Jerdonek
ae79b5bf5c Add a SelectionPreferences class. 2019-06-28 11:14:55 -07:00
Chris Jerdonek
d3b3f16871 Support yanked reasons with non-ascii characters. 2019-06-27 22:53:58 -07:00
Chris Jerdonek
8af3f21a57 Filter out yanked links earlier when allow_yanked=False. 2019-06-27 19:50:25 -07:00
Chris Jerdonek
9eab3526a8 Improve error message formatting when a subprocess command errors out. 2019-06-27 03:05:06 -07:00
Chris Jerdonek
fc46a18563
Merge pull request #6647 from cjerdonek/issue-6633-yanked-releases
Add support for "yanked" files (PEP 592)
2019-06-27 00:52:11 -07:00
Ian Wienand
0dbab23df9 Add SHA256 hash of .whl as info output (#5908)
* Add SHA256 hash of .whl as info output

Currently I'm trying to debug some issues with what appear to be
corrupt wheels.  It would be very useful to see what pip thought the
state of things was as it wrote the wheel output; if a final corrupt
distributed file is then different to what pip has saved in its build
logs, you know the problem is somewhere after pip but before
distribution.

Currently we get a log of the initial creation, then the stamp when it
gets moved in the final output location, e.g.:

 creating '/tmp/pip-wheel-71CpBe/foo-1.2.3-py2.py3-none-any.whl
 ...
 Stored in directory: /opt/wheel/workspace

A lot happens in between this, so my suggestion is we add the final
output file and it's hash before the "Stored in directory:", e.g. you
now see:

 Building wheels for collected packages: simple
   Running setup.py bdist_wheel for simple: started
   Running setup.py bdist_wheel for simple: finished with status 'done'
   Finished: simple-3.0-py3-none-any.whl sha256=39005a57a6327972575072af82e11d0817439fe6a069381f6f2a123a8c0bf1cf
   Stored in directory: /tmp/pytest-of-iwienand/pytest-18/test_pip_wheel_success0/workspace/scratch
 Successfully built simple

Despite the hash being fairly important for things like
--require-hashes, AFAICS the final hash is not put in the logs at all
currently, so I think this is generically helpful.

* Reword wheel hash details output

This rewords the output to be more like the form of the preceding
messages.  Additionally the size is added, since we have calculated it
anyway.  The output will now look like:

 Collecting simple==3.0
 Building wheels for collected packages: simple
   Building wheel for simple (setup.py): started
   Building wheel for simple (setup.py): finished with status 'done'
   Created wheel for simple: filename=simple-3.0-py3-none-any.whl size=1138 sha256=2a980a802c9d38a24d29aded2dc2df2b080e58370902e5fdf950090ff67aec10
   Stored in directory: /tmp/pytest-of-iwienand/pytest-0/test_pip_wheel_success0/workspace/scratch
 Successfully built simple
2019-06-26 02:44:43 -07:00
Chris Jerdonek
a447be4785 Update PackageFinder to support "yanked" files (PEP 592). 2019-06-26 02:32:40 -07:00
Chris Jerdonek
8666bb1a5d Start parsing the "data-yanked" attribute. 2019-06-25 03:34:42 -07:00
Chris Jerdonek
fdde0b483e Add Link.yanked_reason. 2019-06-25 03:34:38 -07:00
Chris Jerdonek
bfa976f3f1
Merge pull request #6635 from cjerdonek/link-parsed-attribute
Parse the url when creating a Link object
2019-06-23 22:39:14 -07:00
Chris Jerdonek
a36064954f Add TargetPython.format_given(). 2019-06-23 09:28:58 -07:00
Chris Jerdonek
36430e2a43
Merge pull request #6639 from sbidoul/imp_looks_like_hash-sbi
Be stricter in identiying git commit hashes
2019-06-23 08:49:11 -07:00
Stéphane Bidoul (ACSONE)
28fa08688c Be stricter in identiying git commit hashes 2019-06-23 12:00:57 +02:00
Chris Jerdonek
0ed518f0dc Fix an edge case where Link.filename can leak auth information. 2019-06-22 16:44:13 -07:00
Chris Jerdonek
b6077c5227 Move the existing Link tests to test_link.py. 2019-06-22 16:44:13 -07:00
Chris Jerdonek
0e741ef9bf Parse the url when creating a Link object. 2019-06-22 16:44:07 -07:00
Chris Jerdonek
cab7316e2b Change PackageFinder.create() to accept a SearchScope object. 2019-06-21 14:41:49 -07:00
Chris Jerdonek
7d08bb37a5 Add SearchScope class. 2019-06-18 00:47:10 -07:00
Christopher Hunt
26cdedd618 Add milliseconds to --log entry timestamps. (#6621)
Resolves #6587.
2019-06-17 14:50:41 -07:00
Chris Jerdonek
6ac468e4fd
Merge pull request #6613 from cjerdonek/requirements-file-error
Improve the error message for invalid requirements files in certain situations
2019-06-16 20:09:24 -07:00
Chris Jerdonek
e5a730a89f Improve the error message when reading a bad requirements file. 2019-06-15 10:47:24 -07:00
johnthagen
3407ccdeb6 Move Subversion arg unit tests from functional folder to unit test folder 2019-06-15 08:04:03 -04:00
Chris Jerdonek
c0bda1b906 Log when adding a trusted host from a file. 2019-06-14 01:14:36 -07:00
Chris Jerdonek
d72758394d Fully support --trusted-host inside requirements files. 2019-06-13 01:21:05 -07:00
Chris Jerdonek
4c1ccaec73 Store PackageFinder.trusted_hosts instead of secure_origins. 2019-06-12 02:18:23 -07:00
Chris Jerdonek
210dab7470 Add make_test_finder() helper function. 2019-06-11 19:18:56 -07:00
Chris Jerdonek
93769d0a9c
Merge pull request #6591 from cjerdonek/target-python-class
Add a TargetPython class.
2019-06-11 19:03:13 -07:00
Chris Jerdonek
b8d693c71e Add a TargetPython class. 2019-06-11 18:19:20 -07:00
Chris Jerdonek
5776ddd058
Merge pull request #6418 from gzpan123/master
FIX #6413 pip install <url> allow directory traversal
2019-06-11 01:11:42 -07:00
gzpan123
a4c735b14a FIX #6413 pip install <url> allow directory traversal 2019-06-11 00:22:29 -07:00
Chris Jerdonek
4bb225d486 Allow dotted version strings for --python-version. 2019-06-08 19:59:09 -07:00
Chris Jerdonek
8dbf88dff7 Update pip-download to respect --python-version. 2019-06-06 13:20:29 -07:00
Chris Jerdonek
e6b1070e14 Add normalize_version_info() with tests. 2019-06-06 13:20:26 -07:00
Chris Jerdonek
99228e503a Import path_to_url() from utils/misc.py instead of download.py. 2019-06-03 02:31:40 -07:00
Chris Jerdonek
ce46f8524e
Merge pull request #6545 from cjerdonek/vcs-imports
Remove from pip/_internal/__init__.py the vcs module imports
2019-06-03 02:10:43 -07:00
Chris Jerdonek
5c89643d3d Remove importing from vcs in pip/_internal/__init__.py.
This also renames the current vcs/__init__.py to vcs/versioncontrol.py.
2019-06-03 01:18:36 -07:00
Chris Jerdonek
798d814629 Change PackageFinder to use Tuple[int, ...] instead of List[str] for --python-version. 2019-05-28 03:05:14 -07:00
Pradyun Gedam
a1ad4b7c41
Improve deprecation warnings (#6549) 2019-05-27 16:33:45 -04:00
Pradyun Gedam
995ef743ec
Add tests for the deprecated helper 2019-05-27 13:57:31 -04:00
Chris Jerdonek
2d450936c6 Move path_to_url() from download.py to misc.py. 2019-05-26 22:51:00 -07:00
Chris Jerdonek
30855ff9b7
Merge pull request #6542 from cjerdonek/issue-5082-missing-metadata-error
Improve error message if METADATA or PKG-INFO metadata is None
2019-05-26 16:17:22 -07:00
Chris Jerdonek
cd5bd2cd52 Improve error message if METADATA or PKG-INFO metadata is None. 2019-05-26 12:35:07 -07:00
Chris Jerdonek
a9a9cfd98c Improve the debug log message when installing an incompatible wheel. 2019-05-25 23:59:32 -07:00
Pradyun Gedam
d5c4fcc39c
Rename test_{resolve -> legacy_resolve}.py 2019-05-25 12:44:45 -04:00
Pradyun Gedam
b05c66722e
Move Resolver to a legacy_resolve module 2019-05-25 12:35:31 -04:00
Pradyun Gedam
77da032c91
Make _check_dist_requires_python() parallel _check_link_requires_python(), and add more complete tests (#6528) 2019-05-25 12:09:25 -04:00
Chris Jerdonek
f82ea77217 Simplify the _check_dist_requires_python() call site. 2019-05-24 21:33:12 -07:00
Chris Jerdonek
ba53909375
Merge pull request #6522 from theacodes/add-pip-ci
Check for explicit PIP_IS_CI environment variable to report automated installs to Warehouse.
2019-05-24 13:57:09 -07:00
Thea Flowers
03ad0421ee Check for explicit `PIP_IS_CI` environment variable to report automated installs to Warehouse. 2019-05-24 13:01:04 -07:00
Chris Jerdonek
cc70cf5ba3 Move check_dist_requires_python() to resolve.py. 2019-05-23 22:58:10 -07:00
Chris Jerdonek
eeb74aeb29
Merge pull request #6518 from cjerdonek/issue-6371-ignore-requires-python
Fix #6371: make pip install respect --ignore-requires-python
2019-05-22 22:38:20 -07:00
Chris Jerdonek
5528d353d2 Add some tests of CandidateEvaluator.evaluate_link(). 2019-05-22 21:34:45 -07:00
Chris Jerdonek
ad2b07898d Fix pip-install to respect --ignore-requires-python. 2019-05-22 21:34:41 -07:00
Andreas Lutro
9eccfae10d redact passwords in output when using --find-links (#6489) 2019-05-22 23:33:41 +02:00
Chris Jerdonek
7e142bae64 Refactor out _check_link_requires_python(), and test. 2019-05-22 09:07:14 -07:00
Chris Jerdonek
4f6488cbb4 Add some tests for check_requires_python(). 2019-05-22 09:05:37 -07:00
Chris Jerdonek
b554c15b91
Merge pull request #6514 from cjerdonek/candidate-evaluator-pre-releases
Add allow_all_prereleases to CandidateEvaluator's constructor
2019-05-22 08:54:59 -07:00
Mike
d62bef4362 Document caveats for UNC paths in uninstall and add .pth unit tests 2019-05-21 11:14:11 -07:00
Chris Jerdonek
07ce2ab2b7
Merge pull request #6439 from johnthagen/svn-interactive
Subversion interactive support
2019-05-19 15:27:36 -07:00
Chris Jerdonek
7995e2d5a9 Move get_install_candidate() to PackageFinder. 2019-05-19 11:03:47 -07:00
Chris Jerdonek
1875a8e3f6
Merge pull request #6511 from cjerdonek/package-finder-create-function
Simplify PackageFinder's constructor by accepting a CandidateEvaluator
2019-05-19 09:39:32 -07:00
Chris Jerdonek
10ae49d932 Add py_version_info to CandidateEvaluator's constructor. 2019-05-18 22:40:08 +02:00
johnthagen
a83a78ef4d Add Subversion interactive support. 2019-05-18 13:34:45 -07:00
Chris Jerdonek
cad71a7117 Add PackageFinder.create(), and simplify PackageFinder(). 2019-05-17 11:55:21 -07:00
Chris Jerdonek
bc8857d6ff
Merge pull request #6484 from cjerdonek/simplify-evaluate-link
Simplify CandidateEvaluator.evaluate_link()
2019-05-12 16:13:36 -04:00
Chris Jerdonek
c54e50f50b Simplify CandidateEvaluator.evaluate_link(). 2019-05-12 15:21:14 -04:00
Donald Stufft
3596ad5cd8
Merge pull request #5952 from zooba/issue-5948
Fixes #5948 Adds keyring support
2019-05-10 08:13:55 -04:00
Chris Jerdonek
9ab91a19ff
Merge pull request #6389 from cjerdonek/issue-5518-global-option-vcs-install
Respect --global-option and --install-option for VCS installs.
2019-05-08 19:22:07 -04:00
Steve Dower
3816a747e1 Upwrap import 2019-05-08 10:58:25 -04:00
Chris Jerdonek
5be4e1481e Remove utils/packaging.py's dependence on the current environment. 2019-05-07 21:51:39 -04:00
Chris Jerdonek
919ee314fc
Merge pull request #6425 from cjerdonek/move-link-package-versions
Move _link_package_versions() to CandidateEvaluator
2019-05-07 21:42:50 -04:00
Chris Jerdonek
10c68e674b Rename _link_package_versions() to evaluate_link(). 2019-05-07 11:54:28 -04:00
Chris Jerdonek
651d6fe705 Move _link_package_versions() to CandidateEvaluator. 2019-05-07 11:46:08 -04:00
Pradyun Gedam
422d989056
Merge pull request #5931 from xrmx/fix5059
Remove last use of SafeConfigParser
2019-05-07 11:37:37 -04:00
Steve Dower
e04cb497c8 Fix mismerged import 2019-05-07 09:59:43 -04:00
Steve Dower
c63ee61027 Issue #5948: Enable keyring support
This requires keyring and any backends to be installed separately.
Once discovered, it will be used to retrieve credentials by index URL
and netloc before prompting. If the user is prompted and the
credentials work, they will (optionally) be saved to keyring against
the netloc of the requested URL.
2019-05-07 09:55:02 -04:00
ekristina
2e5b4461f4 Improve code reuse in TestSafeFileCache
Use a fixture creating a temporary directory for cache.
2019-05-04 17:11:44 -04:00
Pradyun Gedam
f6e525aa87
Update test_vcs_mercurial.py 2019-05-04 16:17:09 -04:00
Chris Jerdonek
fb2533a945 Revert "Error out if installing a pyproject.toml-style (PEP 517) project in editable mode."
This reverts commit cc2d299f76.
2019-04-26 20:19:24 -07:00
Chris Jerdonek
24688ee8e8 Revert "Require --no-use-pep517 if using editable mode with pyproject.toml."
This reverts commit 71f506e71e.
2019-04-26 20:19:05 -07:00
Chris Jerdonek
0453f79b9e Revert "Allow --no-use-pep517 to be used with editable mode in more cases."
This reverts commit f069769948.
2019-04-26 20:18:43 -07:00
Chris Jerdonek
60d3f11961
Merge pull request #6440 from nicolasbock/index_with_git
Protect `@` as safe character when cleaning URLs
2019-04-25 13:28:48 -07:00
Nicolas Bock
265b4e7e65
Protect @ as safe character when cleaning URLs
Remote URLs that contain a link to a git repository and a tag
reference will have the `@` character converted into `%40`. This is
incorrect.

Fixes: #6437

Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2019-04-25 06:26:04 -06:00
Chris Jerdonek
f069769948 Allow --no-use-pep517 to be used with editable mode in more cases. 2019-04-25 01:42:11 -07:00
Chris Jerdonek
dddd28b8de
Add CandidateEvaluator class to encapsulate sorting. (#6424) 2019-04-22 03:40:35 -07:00
Andy Freeland
bb14ff42b0 Fix NameError when handling InvalidRequirement in install_req_from_req_string (#6419)
Previously, an InvalidRequirement would raise a NameError while trying
to raise an InstallationError because `req` was not defined.

Discovered while working on #6402.
2019-04-19 02:37:33 -07:00
johnthagen
c8e9caa8a7 Add Subversion.get_vcs_version method (#6390)
Add Subversion.get_vcs_version method to return the version of the currently installed Subversion client.
2019-04-17 00:34:19 -07:00
Tzu-ping Chung
14cb4f4fb6 Isolate, reuse PackageFinder best candidate logic (#5971)
Split out how PackageFinder finds the best candidate, and reuse it in the
self version check, to avoid the latter duplicating (and incorrectly
implementing) the same logic.
2019-04-16 16:46:25 -07:00
Chris Jerdonek
32c11ee2c3 Respect --global-option and --install-option for VCS installs. 2019-04-08 02:03:17 -07:00
Nicolas Bock
913757cb53
Do not clean base_url
When the `base_url` is a `[]` protected IPv6 address, the
`_clean_link()` function converts `[` to `%5B` and `]` to `%5D`, which
renders the `base_url` invalid. For example:

```
	Starting new HTTP connection (1): fd00:0:0:236:💯8181
	http://fd00:0:0:236:💯8181 "GET /os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt HTTP/1.1" 200 None
	Setting setuptools==40.6.3 (from -c http://[fd00:0:0:236::100]:8181/os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt (line 204)) extras to: ()
	Looking in indexes: http://[fd00:0:0:236::100]:8181/simple
	Collecting setuptools==40.6.3 (from -c http://[fd00:0:0:236::100]:8181/os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt (line 204))
	  1 location(s) to search for versions of setuptools:
	  * http://[fd00:0:0:236::100]:8181/simple/setuptools/
	  Getting page http://[fd00:0:0:236::100]:8181/simple/setuptools/
	  http://fd00:0:0:236:💯8181 "GET /simple/setuptools/ HTTP/1.1" 200 376
	  Analyzing links from page http://[fd00:0:0:236::100]:8181/simple/setuptools/
	    _package_versions: link = http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00:0:0:
	236::100]:8181/simple/setuptools/)
	    _link_package_versions: link = http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00
	:0:0:236::100]:8181/simple/setuptools/)
	    Found link http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00:0:0:236::100]:8181/
	simple/setuptools/), version: 40.6.3
	  Using version 40.6.3 (newest of versions: 40.6.3)
        Could not install packages due to an EnvironmentError.
        InvalidURL: Failed to parse: %5bfd00:0:0:236::100%5d:8181
```

This change uses the vendored `urllib` library to split the host part
off of the url before URL quoting only the path part.

Fixes: #6285
Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2019-04-07 05:57:03 -06:00
Chris Jerdonek
78744e8071
Merge pull request #6370 from cjerdonek/editable-and-pep-517-optional
Fix editable-mode logic when pyproject.toml present
2019-04-06 15:31:53 -07:00
Chris Jerdonek
68bc0e0c53
Merge pull request #6339 from cjerdonek/vcs-subprocess-logging
Fix #1219: Prevent subprocess stdout and stderr from cluttering pip's stdout.
2019-04-03 14:36:44 -07:00
Pradyun Gedam
98fc29b36f
Merge pull request #6376 from cjerdonek/fix-typo-enable-test
Fix typo / enable test: "est_link_..." -> "test_link_..."
2019-04-02 23:05:03 +05:30
Chris Jerdonek
f82d87a555 Enable test by fixing typo: "est_link_..." -> "test_link_..." 2019-04-02 05:39:11 -07:00
Chris Jerdonek
71f506e71e Require --no-use-pep517 if using editable mode with pyproject.toml. 2019-03-31 05:40:08 -07:00
Caleb Martinez
ac9010e87c Allow adding a custom string to pip's User-Agent via an environment variable (#5550) 2019-03-31 02:37:02 -07:00
Chris Jerdonek
e5353f27cd
Merge pull request #6356 from cjerdonek/vcs-class-methods-2
Make VersionControl methods into class methods (part 2)
2019-03-25 16:35:26 -07:00
Chris Jerdonek
e0505bb152 Prevent subprocess stdout and stderr from cluttering pip's stdout. 2019-03-25 00:21:20 -07:00
Chris Jerdonek
55f7a712aa
Merge pull request #6331 from cjerdonek/issue-6314-editable-with-pep517
Show a nice error if editable mode is attempted with a pyproject.toml source tree
2019-03-23 17:32:22 -07:00
Chris Jerdonek
977d3f6f8c Make is_commit_id_equal() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek
31d6a4f975 Make resolve_revision() a class method. 2019-03-22 00:04:55 -07:00
Alex Loosley
d245434c02 Fix #5889: AttributeError: 'NoneType' object has no attribute 'netloc' (#6336) 2019-03-20 16:59:24 +01:00
Chris Jerdonek
4c5d712057 Change RevOptions to accept a VersionControl subclass. 2019-03-16 01:46:32 -07:00
Chris Jerdonek
e1e94530ad Make VersionControl.make_rev_args() a class method. 2019-03-16 01:15:48 -07:00
Chris Jerdonek
3ba489864b Make VersionControl.get_url_rev_and_auth() a class method. 2019-03-16 01:13:25 -07:00
Chris Jerdonek
67b384b8c7 Make VersionControl.get_netloc_and_auth() a class method. 2019-03-16 01:04:44 -07:00
Chris Jerdonek
7f6edbd252
Merge pull request #6130 from cjerdonek/move-get-src-requirement-to-base-class
Move get_src_requirement() to the VersionControl base class
2019-03-14 15:22:54 -07:00
Chris Jerdonek
cc2d299f76 Error out if installing a pyproject.toml-style (PEP 517) project in editable mode. 2019-03-14 05:49:39 -07:00
Pi Delport
5f3c56e188 Fix some typos 2019-03-12 21:54:18 +01:00
Chris Jerdonek
1599d65d36
Merge pull request #6312 from cjerdonek/subprocess-tests-and-spinner-fixes
Test call_subprocess more thoroughly; fix spinner edge cases
2019-03-11 23:19:58 -07:00
Steve Dower
293c91ee8a Configuration files may now also be stored under sys.prefix (#6268)
* Rename kinds.VENV to kinds.SITE and site_config_files to global_config_files
* Add tests for config file options
* Deprecate --venv in pip config
2019-03-07 11:14:56 +05:30
Chris Jerdonek
fe793722b1 Fix a couple spinner edge cases. 2019-03-03 11:05:39 -08:00
Chris Jerdonek
ffefa91f2f Improve the call_subprocess() tests. 2019-03-03 10:54:03 -08:00
Miro Hrončok
d48475d008 Fix utils.encoding.auto_decode() LookupError with invalid encodings
utils.encoding.auto_decode() was broken when decoding Big Endian BOM
byte-strings on Little Endian or vice versa.

The TestEncoding.test_auto_decode_utf_16_le test was failing on Big Endian
systems, such as Fedora's s390x builders. A similar test, but with BE BOM
test_auto_decode_utf_16_be was added in order to reproduce this on a Little
Endian system (which is much easier to come by).

A regression test was added to check that all listed encodings in
utils.encoding.BOMS are valid.

Fixes https://github.com/pypa/pip/issues/6054
2019-03-01 20:16:18 +01:00
Chris Jerdonek
632896d70b Move make_vcs_requirement_url() to vcs/__init__.py. 2019-03-01 11:06:24 -08:00
Chris Jerdonek
fdbfde03e1 Implement get_src_requirement() in the VersionControl base class. 2019-03-01 11:01:25 -08:00
Daniele Esposti
729404d4c5 Redact the password from the extra index URL in log messages (#6295) 2019-03-01 04:21:45 -08:00
Chris Jerdonek
a2ed253788 Whether to build wheels is no longer affected by --no-cache-dir. 2019-02-27 20:38:09 -08:00
Chris Jerdonek
8e531be255 Refactor out build_wheels(), and test. 2019-02-27 20:36:25 -08:00
Chris Jerdonek
8d78ff0fce Prefix warning and error log messages. 2019-02-27 03:22:26 -08:00
Chris Jerdonek
821247dc36
Merge pull request #6273 from cjerdonek/issue-5499-detect-ci-for-user-agent
Fix #5499: Include in pip's User-Agent whether it looks like pip is in CI
2019-02-24 14:24:55 -08:00
Chris Jerdonek
b88239918b
Merge pull request #6290 from cjerdonek/add-format-command
Add format_command_args().
2019-02-24 13:23:51 -08:00
Xavier Fernandez
c286c55d51 Tweak tests & url_to_path after review 2019-02-24 21:40:25 +01:00
Benoit Pierre
61baf5fe80 improve handling of file URIs 2019-02-24 21:40:25 +01:00
Pradyun Gedam
d4217f0cc3
Merge pull request #6129 from asottile/dead
delete some dead code
2019-02-24 22:08:16 +05:30
Maxim Kurnikov
13bb70f28a fix indentation errors 2019-02-22 14:06:08 +03:00
Chris Jerdonek
87f0539b78 Change format_command_result() to use format_command_args(). 2019-02-22 02:52:06 -08:00
Chris Jerdonek
0f6776388c Change format_command() to use shlex.quote(). 2019-02-22 02:52:06 -08:00
Chris Jerdonek
1d0645e86f Add format_command_args() with tests. 2019-02-22 02:52:02 -08:00
Chris Jerdonek
aec72bd0cd Add log divider variable. 2019-02-22 00:14:58 -08:00
Anthony Sottile
f388ccf1c3 Remove read_text_file
last reference removed in 52d87f2e30
2019-02-20 11:50:59 -08:00
Pradyun Gedam
88bcb261f7
Merge pull request #6154 from cjerdonek/show-stdout-default
Change call_subprocess()'s show_stdout default from True to False
2019-02-21 01:08:05 +05:30
Chris Jerdonek
a229f114e6 Address review comments. 2019-02-18 19:29:07 -08:00
Chris Jerdonek
14a6aaabff Include in pip's User-Agent whether it looks like pip is in CI. 2019-02-17 07:16:01 -08:00
Chris Jerdonek
ebe2417110 Fix the RECORD filename of installed files appearing in the old RECORD. 2019-02-15 02:33:02 -08:00
Chris Jerdonek
d3a1b8536a Improve logging in the case of a failed legacy build. 2019-02-14 13:57:07 -08:00
Chris Jerdonek
1b6ea51b0f Add back a test of call_subprocess() with no keyword arguments. 2019-02-12 05:11:51 -08:00
Chris Jerdonek
d2051f14bb Change the default of call_subprocess()'s show_stdout from True to False. 2019-02-12 05:11:51 -08:00
Chris Jerdonek
f048eb7a76
Merge pull request #6253 from cjerdonek/issue-6252
Fix an IndexError crash when a legacy build of a wheel fails.
2019-02-11 07:25:07 -08:00
Chris Jerdonek
6cdecce71d Fix an IndexError crash when a legacy build of a wheel fails. 2019-02-10 13:10:39 -08:00
Steve Dower
c64503e58c Fixes ordering of imports 2019-02-05 15:07:19 -08:00
Steve Dower
53d28bae66 Added more tests and handling for short directory names 2019-02-04 14:48:41 -08:00
Steve Dower
c31f19fcae Fixes #6169: AdjacentTempDirectory should fail on unwritable directory 2019-02-04 11:11:53 -08:00
Steve Dower
b5dd2791b7 Make failed uninstalls roll back more reliably and better at avoiding naming conflicts (#6225) 2019-02-03 04:39:06 -08:00
Chris Jerdonek
c4a48f28f1 Fix two incorrect os.environ accesses in test setups. 2019-02-02 17:19:24 -08:00
Chris Jerdonek
2d9d3ff90b Add more unit test cases. 2019-02-01 17:41:46 -08:00
Chris Jerdonek
6b0892eace Use the ephemeral cache if autobuilding and no cache directory is available. 2019-02-01 02:25:56 -08:00
Chris Jerdonek
806a013bc0 Add failing test for the have_directory_for_build AssertionError. 2019-02-01 02:23:58 -08:00
Chris Jerdonek
7f25059bf7 Allow and warn on RECORD lines with more than three elements. 2019-01-23 19:24:38 -08:00
Chris Jerdonek
8074db86d6 Add failing test. 2019-01-23 19:24:34 -08:00
Chris Jerdonek
e6d0127985 Add failing tests. 2019-01-20 15:49:49 -08:00
Ami Fischman
2a90808387 Prefix user_log (--log) entries with timestamp (#6142)
Why? Eases post-facto analysis of time spent in different phases of pip operation.

Historical note:
767d11e49c (diff-b670e3b192038c9ffe810c1a12c0c51fL219)
made it so that pip invocations emit zero timestamp information to the log
file. Prior to that each pip invocation's start time was written out (search
that commit's diff for [strftime]).

Result: https://gist.github.com/fischman/f570886219de5c64a3b695300195c70a

Resolves https://github.com/pypa/pip/issues/6141
2019-01-20 03:02:22 -08:00
Chris Jerdonek
5fe3157917 Change the --no-cache-dir error to use raise_option_error(). 2019-01-15 09:21:16 -08:00
Chris Jerdonek
c0cc004ca8 Raise an error if the user tries to use PIP_NO_USE_PEP517. 2019-01-15 09:21:12 -08:00
Chris Jerdonek
6a882b6d91 Fix tests. 2019-01-09 01:52:24 -08:00
Pradyun Gedam
7222cb8fdb
Remove --process-dependency-links and related support code 2019-01-02 17:27:06 +05:30
Paul Moore
c5dc6aa784
Merge pull request #6029 from zooba/issue-3055
Fixes #3055 Uninstall causes paths to exceed MAX_PATH limit
2018-12-06 09:23:29 +00:00
Tzu-ping Chung
de7fdbb7a5 Convert multi-phase tests into fixtures
Also... make the tests actually pass.
2018-12-03 13:49:25 +08:00
Tzu-ping Chung
557e7d2739 Fix test case class name
So it is actually picked up correctly by Pytest.
2018-12-03 13:49:25 +08:00
Nick Coghlan
fdaef3fe9e
Minimise diff needed to make isort happy 2018-11-22 21:49:43 +10:00
Nick Coghlan
868e898942
Adjust imports in test failing isort check 2018-11-22 21:44:32 +10:00
Paul Moore
087d8254a7
Merge pull request #5410 from wtolson/manylinux2010
Manylinux2010
2018-11-22 11:07:49 +00:00
Steve Dower
9257d58e1c Fix import ordering 2018-11-21 15:05:08 -08:00
Steve Dower
1948a7c378 Add compress_for_rename() test and preserve casing 2018-11-21 14:33:15 -08:00
Steve Dower
f4bdd28e25 Fix linting issues 2018-11-21 14:13:45 -08:00
Steve Dower
1bf93a78cb Adds test for AdjacentTempDirectory._generate_names 2018-11-21 13:53:49 -08:00
Paul Moore
4ca38e0c38 Merge with master 2018-11-11 13:49:35 +00:00
Chris Jerdonek
2dbd34724a Test Git.get_remote_url(). 2018-11-10 01:35:22 -08:00
Chris Jerdonek
8a4e2851d2
Merge pull request #5996 from cjerdonek/simplify-get-src-requirement
Change VersionControl.get_src_requirement() to accept the project name
2018-11-09 12:33:25 -08:00
Chris Jerdonek
fc1b1e4cf0
Merge pull request #5884 from cjerdonek/pip-no-cache-dir-var
Make PIP_NO_CACHE_DIR behave as it reads, and not crash pip
2018-11-08 14:19:48 -08:00
Chris Jerdonek
07900ed732 Change VersionControl.get_src_requirement() to accept the project name. 2018-11-08 04:24:05 -08:00
Chris Jerdonek
b94d719f39 Make PIP_NO_CACHE_DIR disable the cache also if given a "true" value. 2018-11-08 03:43:56 -08:00
Pradyun Gedam
28cfd7d0b7
Merge pull request #5923 from psinghsodhi/stopPrintSt
Don't print stacktrace due to invalid req
2018-11-08 13:01:56 +05:30
Pradyun Gedam
5a36f2baf9
Update and rename tests/functional/test_vcs_mercurial.py to tests/unit/test_vcs_mercurial.py 2018-11-08 13:00:16 +05:30
Pradyun Gedam
2ed581c79f
Merge pull request #5968 from cjerdonek/dry-up-parse-credentials
Use split_auth_from_netloc() inside MultiDomainBasicAuth
2018-10-30 18:45:35 +00:00
Chris Jerdonek
5c93250fa9
Merge pull request #5875 from uranusjr/egg-info-canonical
Rewrite egg_info_matches with canonicalize_name
2018-10-30 01:30:40 -07:00
Chris Jerdonek
0ecc9f0aca Add failing tests for redact_netloc(). 2018-10-29 22:13:55 -07:00
Chris Jerdonek
a434431431 Use split_auth_from_netloc() inside MultiDomainBasicAuth(). 2018-10-29 22:13:51 -07:00
Chris Jerdonek
b087f261fb Add failing tests. 2018-10-29 22:12:47 -07:00
Paul Moore
3c94d81f68 Support --python-tag for PEP 517 builds 2018-10-29 23:33:21 +01:00
Paul Moore
8fbf78d407 Phase 2 - generate metadata using PEP 517 hook 2018-10-29 23:28:23 +01:00
Benoit Pierre
744b8cf96e improve build environment
- check build requirements for conflicts
- better isolation (ignore system site packages)
- support 2 prefixes: a "normal" one, and an "overlay" one
  (with higher priority over "normal")
2018-10-29 23:17:51 +01:00
Tzu-ping Chung
033a47cbf2 More test cases 2018-10-29 15:48:43 +08:00
Prabhjyotsing Surjit Singh Sodhi
e34b19b02a Don't print stacktrace due to invalid req 2018-10-26 12:03:31 -04:00
Chris Jerdonek
951e0cba51
Fix #5868: TypeError in move_wheel_files(). (#5883) 2018-10-24 09:19:58 -07:00
Pradyun Gedam
51819cc3d8
Merge pull request #5886 from benoit-pierre/rework_tests_virtualenv_with_support_for_venv
Rework tests virtualenv, also adding support for using venv
2018-10-23 13:32:22 +05:30
Tzu-ping Chung
5d0a5761be Add (invalid) edge case inputs to tests 2018-10-22 16:48:24 +08:00
Tzu-ping Chung
ad9cbf50ca More robust egg-info/name match
The idea is to use regex to scan for character sequences that would
be canonicalized into a dash, and skip the equal amount of sequences
to the given canonical name.
2018-10-22 16:48:24 +08:00
Tzu-ping Chung
3368819156 Split, simplify, and fix egg_info_matches 2018-10-22 16:46:42 +08:00
Benoit Pierre
a4209aa0fb tests: add support for using venv for the virtual environment
Add a new testsuite option `--use-venv` to enable the use of `venv`
for creating a test virtual environment. The option is opt-in because
creating a `venv` environment does not work right when running under a
`virtualenv`; which is why `tox-venv` must be used in combination with
tox.
2018-10-21 21:43:32 +02:00
Jon Dufresne
2d545dd9c8 Prefer io.BytesIO over six; available on all supported Pythons
On all supported Pythons, the io.BytesIO is always a stream
implementation using an in-memory bytes buffer. Makes code slightly more
forward compatible by reducing use of the six module.
2018-10-19 13:52:58 +02:00
Chris Jerdonek
c72b752bf7
Improve TestUnpackArchives to also test the contents of the extracted files (#5891) 2018-10-19 03:58:51 -07:00
Tom Forbes
78371cc950 Redact basic authentication passwords from log messages (#5773)
Redact basic authentication passwords from URLs.
2018-10-19 02:06:10 -07:00
Chris Jerdonek
8dbbe165f8
Merge pull request #5838 from uranusjr/htmlpage-extract-breakdown-get-page
Refactor _get_html_page() to use exceptions for flow control
2018-10-11 12:27:17 -07:00
Tzu-ping Chung
fc53f711b9 More tests on successful scenarios, fix docstrings 2018-10-11 17:47:08 +08:00
Tzu-ping Chung
200f126584 Move HTML page tests to their own file, fix typos 2018-10-11 17:45:38 +08:00
Tzu-ping Chung
5441fc7289 Some tests for error and input correction 2018-10-11 17:45:38 +08:00
Xavier Fernandez
3832020a1f
Merge pull request #5483 from popravich/retry_fix
Handle RetryError in HTMLPage (fixes #5270)
2018-10-08 23:12:34 +02:00
Pradyun Gedam
c759504217
Merge pull request #5798 from pradyunsg/improve-configuration-handling
Improve configuration handling
2018-10-04 14:27:42 +05:30
Pradyun Gedam
3350cc4516
bodge: Allow both str and repr to be used for configuration file name
This is because Python 2's and Python 3's configparser treat the two
differently and we're reusing that message.
2018-10-03 20:23:40 +05:30
Alexey Popravka
290e3d592e split test into two 2018-10-02 13:23:34 +03:00
Alexey Popravka
5295d8b0a6 test fix: setup logging level 2018-10-02 12:53:06 +03:00
Alexey Popravka
b36d91c2a6 add failing test for HTMLPage.get_page raising RetryError 2018-10-02 12:50:57 +03:00
Pradyun Gedam
34d5af662f
Merge branch 'master' into improve-configuration-handling 2018-09-30 23:04:55 +05:30