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
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
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
b8d693c71e
Add a TargetPython class.
2019-06-11 18:19:20 -07:00
Chris Jerdonek
8dbf88dff7
Update pip-download to respect --python-version.
2019-06-06 13:20:29 -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
Chris Jerdonek
a9a9cfd98c
Improve the debug log message when installing an incompatible wheel.
2019-05-25 23:59:32 -07:00
Chris Jerdonek
f82ea77217
Simplify the _check_dist_requires_python() call site.
2019-05-24 21:33:12 -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
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
4f26eba472
Add CandidateEvaluator.make_found_candidates().
2019-05-19 13:18:43 -07:00
Chris Jerdonek
7995e2d5a9
Move get_install_candidate() to PackageFinder.
2019-05-19 11:03:47 -07:00
Chris Jerdonek
33959b02d3
Use try-else inside _evaluate_link().
2019-05-19 09:59:06 -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
Chris Jerdonek
cad71a7117
Add PackageFinder.create(), and simplify PackageFinder().
2019-05-17 11:55:21 -07:00
Chris Jerdonek
c54e50f50b
Simplify CandidateEvaluator.evaluate_link().
2019-05-12 15:21:14 -04:00
Chris Jerdonek
3a2a28aeb7
Fix typo.
2019-05-08 19:34:43 -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
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
Chris Jerdonek
58ee598b03
Refine return type of _package_versions() and find_all_candidates().
2019-05-07 11:46:08 -04: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
dddd28b8de
Add CandidateEvaluator class to encapsulate sorting. ( #6424 )
2019-04-22 03:40:35 -07:00
Tzu-ping Chung
1ef8857b4d
Finder found candidates cleanup ( #6415 )
2019-04-20 01:22:46 -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
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
Clark Boylan
63ccc286a0
Consistently catch exceptions in index.py
...
In index.py we were catching requests.exceptions.RetryError and
requests.exceptions.SSLError but then also caught requests.HTTPError.
For consistency catch all of these requests exceptions using the
requests.exceptions path.
2019-04-03 11:49:07 -07:00
Pi Delport
5f3c56e188
Fix some typos
2019-03-12 21:54:18 +01:00
Daniele Esposti
729404d4c5
Redact the password from the extra index URL in log messages ( #6295 )
2019-03-01 04:21:45 -08:00
Maxim Kurnikov
7977443556
remove unused exc variable
2019-02-22 14:17:49 +03:00
Maxim Kurnikov
f77b8ca051
remove #noqa: F401
2019-02-22 14:17:07 +03:00
Pradyun Gedam
7222cb8fdb
Remove --process-dependency-links and related support code
2019-01-02 17:27:06 +05:30
Pradyun Gedam
89ef777c18
Cleanup for issues fixed with mypy upgrade
2018-12-18 15:10:40 +05:30
Maxim Kurnikov
8fc393a2d1
Add type annotations for pip._internal.pyproject, pip._internal.build_env, pip._internal.index, pip._internal.resolve ( #6072 )
2018-12-17 16:43:23 +05:30
Pradyun Gedam
fc62b5b677
Move wheel extension information to remove cycle imports
2018-11-30 12:46:08 +05:30
Benjamin Peterson
5f5415756d
Add missing spaces to log message about skipping a link due python version incompatibility. ( #5992 )
2018-11-09 12:21:13 +05:30
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
Tzu-ping Chung
033a47cbf2
More test cases
2018-10-29 15:48:43 +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