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

1124 commits

Author SHA1 Message Date
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
johnthagen fcbefc01e1
Merge branch 'master' into svn-interactive-final 2019-05-22 14:49:29 -04:00
Chris Jerdonek c34191ff75
Merge pull request #6519 from cjerdonek/vcs-subversion-fetch-new
Make VersionControl.fetch_new() an instance method
2019-05-22 11:30:08 -07:00
Chris Jerdonek 7e142bae64 Refactor out _check_link_requires_python(), and test. 2019-05-22 09:07:14 -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
johnthagen a708240d2b Document why get_remote_call_options is not needed for svn info invocation 2019-05-22 07:05:35 -04:00
Chris Jerdonek 68c105c29d Make VersionControl.fetch_new() an instance method. 2019-05-22 00:11:07 -07:00
Mike d62bef4362 Document caveats for UNC paths in uninstall and add .pth unit tests 2019-05-21 11:14:11 -07:00
johnthagen 00efe18954 Remove unnecessary get_remote_call_options() invocation for local svn info call 2019-05-21 07:13:53 -04:00
johnthagen b47bc7ad5c Properly support interactive Subversion features based on Subversion client version 2019-05-20 07:37:20 -04: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 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
johnthagen 1c07d87c9c Move Subversion.__init__() and call_vcs_version(). 2019-05-18 13:34:50 -07: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
Xavier Fernandez 6387867288
Merge pull request #6491 from DavidBord/fix-5963-fail-elegantly-incorrect-config
fix-5963: fail elegantly
2019-05-13 22:04:01 +02: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
Chris Jerdonek b4e1e48372
Merge pull request #6492 from cjerdonek/vcs-registry
Store VersionControl objects instead of classes in the VCS registry
2019-05-12 12:03:16 -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 3cfa8a76c7 Store instances in the VcsSupport registry instead of classes. 2019-05-09 22:35:26 -04:00
Chris Jerdonek 6553dd0aa5 Remove unused cls argument from VcsSupport.unregister(). 2019-05-09 20:12:52 -04:00
David Bordeynik 8f330a5959 fix-5963: fail elegantly on missing name or section in config set / unset 2019-05-09 20:33:30 +03:00
Chris Jerdonek 6217335a41 Remove unnecessary slices. 2019-05-08 19:34:55 -04:00
Chris Jerdonek 3a2a28aeb7 Fix typo. 2019-05-08 19:34:43 -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
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
Steve Dower 49b9298a44 Improve import error handling
Fix --no-index usage
Fix missing type annotation type
2019-05-07 17:01:41 -04:00
Chris Jerdonek 0573d7f81f
Merge pull request #6408 from cjerdonek/vcs-remove-url-attribute
Remove url as an attribute of VersionControl
2019-05-07 15:17:56 -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
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 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
Chris Jerdonek a163ae5af1
Fix some formatting issues in the pip-install docs (#6432) 2019-05-07 09:13:56 -04:00
Pradyun Gedam 2386806ab4
Cleanup outdated warning check code (#6467) 2019-05-07 08:17:51 -04:00
Chris Jerdonek 0ea639d644 Remove url as an instance attribute of the VersionControl class. 2019-05-06 22:59:18 -04:00
Chris Jerdonek 4cf8f4240a Refactor away Git.__init__(). 2019-05-06 22:59:18 -04:00
Masaki cf1bab093d Refactor local_version_is_older conditional
Exit conditional sooner if not local_version_is_older for faster execution

Delete whitespace
2019-05-06 16:34:50 -04:00
Masaki 8738ef401e Refactor outdated for readability
Moved local and remote pip version check conditional to a variable
2019-05-06 15:23:07 -04:00
Chris Jerdonek dc1217713e Fix freeze log debug message. 2019-05-06 14:55:16 -04:00
Donald Stufft bc1f9d92dd Bump version for release 2019-05-06 10:08:24 -04:00
Chris Jerdonek 285a23fb8f Revert "Refactor out read_pyproject_toml() and resolve_pyproject_toml()."
This reverts commit f66c1f7639.
2019-04-26 20:21:04 -07: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 1f27d9659e Revert "Fix "build_system value" to "build-system table" in pyproject.toml messages."
This reverts commit ee80bf98ff.
2019-04-26 20:18:27 -07:00
Chris Jerdonek 8d0b73fc5b
Merge pull request #6445 from cjerdonek/tweak-pyproject-messages
Fix "build_system value" to "build-system table" in pyproject.toml messages
2019-04-25 15:43:39 -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
Chris Jerdonek ee80bf98ff Fix "build_system value" to "build-system table" in pyproject.toml messages. 2019-04-25 13:12:27 -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
Donald Stufft dbf0feba8f Reopen for development 2019-04-23 22:35:01 -04:00
Donald Stufft 307410c24b Bump to 19.1 2019-04-23 22:28:44 -04:00
Donald Stufft 5db1344c23 Upgrade vendored dependencies 2019-04-23 17:54:36 -04:00
Donald Stufft 627eeecd15
Merge pull request #6319 from pquentin/progress1.5
Update progress to 1.5
2019-04-23 17:06:42 -04: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
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 20e42271f2
Merge pull request #6367 from cboylan/vendored-exceptions
Consistently catch exceptions in index.py
2019-04-03 14:39:29 -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
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
Quentin Pradet 015ceb1377
Remove helpers.py from progress vendor
Noticed by https://github.com/eli-schwartz
2019-04-01 17:50:49 +04:00
Quentin Pradet c86460d1a4
Update progress to 1.5 2019-04-01 17:50:49 +04:00
Chih-Hsuan Yen e4936da2e1
Fix handling of requests exceptions when dependencies are debundled 2019-04-01 14:56:08 +08: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 f47d012970 Refactor install_backend_dependencies() out from prep_for_dist(). 2019-03-31 01:11:30 -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 1bb21fd3ff
Merge pull request #6093 from mkurnikov/req-types-finished
Finish types for pip._internal.req, set disallow_untyped_defs flag
2019-03-23 02:16:35 -07:00
Chris Jerdonek 352ac8144e Make compare_urls() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek a829362e6a Make fetch_new() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 36909437f3 Make update_submodules() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 7a4e8b34da Make get_current_branch() a class method. 2019-03-22 00:04:55 -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
Chris Jerdonek 79b64739a9 Make get_revision_sha() a class method. 2019-03-22 00:04:50 -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 22e4be1410 Address review comment: make two methods static. 2019-03-17 00:27:09 -07:00
Chris Jerdonek 4c5d712057 Change RevOptions to accept a VersionControl subclass. 2019-03-16 01:46:32 -07:00
Chris Jerdonek 12e41eef8b Make VersionControl.get_base_rev_args() a class method. 2019-03-16 01:21:30 -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
Chih-Hsuan Yen 8ef3283fcf Ensure all pip._vendor.* modules are mapped to debundled correspondences (#6113)
With the original `vendored()` implementation and such an initialization sequence:

```
vendored("packaging")
vendored("packaging.version")
```

In `sys.modules`, `pip._vendor.packaging` is correctly connected to the debundled `packaging`, while `pip._vendor.packaging.version` is not, as the latter is `__import__`ed from the existing `pip._vendor.packaging` module. That results in the same issue as https://github.com/pypa/pip/issues/5429 - `pip._vendor.packaging.version.Version` and `packaging.version.Version` cannot be compared.

This patch attempts to fix this issue by skipping `__import__` from the vendored name. This is safe because `vendored()` is called only when `DEBUNDLED = True`, and vendored libraries are already deleted as per [debundling instructions](https://github.com/pypa/pip/blob/master/src/pip/_vendor/README.rst#debundling).
2019-03-15 10:26:35 +05:30
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 f66c1f7639 Refactor out read_pyproject_toml() and resolve_pyproject_toml(). 2019-03-12 03:32:38 -07: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
Juanjo Bazán 61e5970fa4 Fix typo (extra parenthesis). (#6316) 2019-03-06 03:43:20 -08:00
Chris Jerdonek fe793722b1 Fix a couple spinner edge cases. 2019-03-03 11:05:39 -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 f4f447ccb8 Move get_src_requirement() before the __init__ method. 2019-03-01 11:01:25 -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 1fdd7e26c5
Merge pull request #6139 from jelmer/bazaar-export-perf
Bazaar: Export directly from the remote branch.
2019-03-01 01:36:02 -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
Paul Moore 9921442d1f Reject --build-options for PEP 517 builds 2019-02-27 17:40:52 +00:00
Chris Jerdonek 8d78ff0fce Prefix warning and error log messages. 2019-02-27 03:22:26 -08:00
Maxim Kurnikov 8c70363262 add missing trailing commas on multiline imports 2019-02-25 14:24:55 +03: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
Jon Dufresne 5779f55bd4 Replace six.next() with builtin next()
The builtin has been available since Python 2.6. Makes the code slightly
more forward compatible by removing an unnecessary use of six.
2019-02-24 22:04:16 +01: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 54c0538583
Merge pull request #6294 from atugushev/patch-1
Use link.is_artifact property instead of scheme checking
2019-02-24 22:43:06 +05:30
Pradyun Gedam d4217f0cc3
Merge pull request #6129 from asottile/dead
delete some dead code
2019-02-24 22:08:16 +05:30
Maxim Kurnikov 30ce730e70 add type annotations to StashedUninstallPathSet 2019-02-23 17:01:34 +03:00
Maxim Kurnikov 2d3cd4de86 merge latest master 2019-02-23 16:58:54 +03:00
Albert Tugushev f0f31998d5 Use is_artifact prop instead of scheme checking 2019-02-23 11:55:37 +03:00
Pradyun Gedam 04f1e70427
Merge pull request #6282 from mkurnikov/update-flake8-to-3.7.6
Update flake8 to 3.7.6
2019-02-22 21:56:28 +05:30
Maxim Kurnikov c4dfdbe265 remove unused imports 2019-02-22 14:18:46 +03: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
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
Maxim Kurnikov 8fd009850a remove unused # type: ignore 2019-02-22 00:40:57 +03:00
Maxim Kurnikov 4ddfcb9227 rename variable to fix mypy redefinition error 2019-02-22 00:40:29 +03:00
Anthony Sottile 2c53b709cd Remove hidden
last reference removed in 8447f39fe1
2019-02-20 11:51:24 -08:00
Anthony Sottile 1ea2140f32 Remove _copy_dist_from_dir
introduced in 4c405a0ad3 but not referenced
2019-02-20 11:51:23 -08:00
Anthony Sottile ccdbccee95 Remove has_requirements
last reference removed in 893f0b0029
2019-02-20 11:50:59 -08:00
Anthony Sottile f388ccf1c3 Remove read_text_file
last reference removed in 52d87f2e30
2019-02-20 11:50:59 -08:00
Anthony Sottile 54247561ac Remove progress bar types
introduced in 0552ffeeda but never referenced
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
Pradyun Gedam 149cab1c62
Bump for development 2019-02-20 23:00:03 +05:30
Pradyun Gedam b1d12870b6
Bump version for release 2019-02-20 22:42:54 +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 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
Pradyun Gedam bb11c7724d
Reopen for development 2019-02-09 10:41:03 +05:30
Pradyun Gedam 5e5e4bf18d
Bump version for release 2019-02-09 06:56:14 +05:30
Pradyun Gedam 7eb79b13d0
AdjacentTempDirectory should fail on unwritable directory (#6215)
Based on #6225
2019-02-08 14:08:27 +05:30
Nick Timkovich ab53c8209c Fix error formatting
`+` has a lower precedence than the `.format`, so the formatting doesn't actually insert anything. Implicit string concatenation has higher (highest?) precedence.
2019-02-06 22:01:05 +01:00
Nick Coghlan 682cff7230 Fix #6163: Default to setuptools.build_meta:__legacy__
The main setuptools PEP 517 backend is intended for
explicit usage in `pyproject.toml`, when the project
authors can ensure that their `setup.py` runs without
that directory being implicitly on `sys.path`.

For implicit usage, setuptools now offers a separate
legacy backend that more closely mimics direct
execution of the `setup.py` script.
2019-02-06 20:57:57 +10:00
Steve Dower aba2943dac Remove unused code 2019-02-05 14:08:58 -08:00
Pradyun Gedam 61fd802b71
Improve wheel build logic to copy the correct file
* Return paths from legacy/PEP 517 build handlers
* Simplify the wheel moving logic
* Sort the result of os.listdir, to increase determinism
2019-02-05 08:35:01 +05:30
Steve Dower 53d28bae66 Added more tests and handling for short directory names 2019-02-04 14:48:41 -08:00
Steve Dower a56854dd9c Remove mismerged line 2019-02-04 11:25:13 -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
Pradyun Gedam d95b5f2d82
Merge pull request #6219 from cjerdonek/wheel-build-assertion-error
Use the ephemeral cache if we need to when autobuilding
2019-02-02 14:01:37 +05:30
Pradyun Gedam fbc92b305a
Merge pull request #6208 from Julian/python27-warning
Only show Python 2.7 EOL date on CPython.
2019-02-02 13:59:23 +05:30
Chris Jerdonek d7b256651c Simplify if logic in should_use_ephemeral_cache(). 2019-02-01 02:26:00 -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
Julian Berman 77c989f377 Only show Python 2.7 EOL date on CPython.
Other Python implementations, notably PyPy, are not EOL'ing on January
1, 2020.
2019-01-31 08:27:47 -05:00
Chris Jerdonek d619aba150 Provide a better error message for a pyproject.toml editable install.
The message looks like this:

  File "setup.py" not found. Directory cannot be installed in editable
  mode: <absolute-dir-path>
  (A "pyproject.toml" file was found, but editable mode currently
  requires a setup.py based build.)
2019-01-26 07:00:22 -08:00
Maxim Kurnikov c4cf730145 sort imports under TYPE_CHECKING alphabetically 2019-01-25 20:08:59 +03:00
Maxim Kurnikov 0c0bfe256d Merge branch 'master' into req-types-finished 2019-01-25 20:00:20 +03:00
Chris Jerdonek e5f4bbb7dd
Merge pull request #6191 from cjerdonek/long-record-lines
Allow and warn on RECORD lines with more than three elements
2019-01-24 12:22:45 -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
Pradyun Gedam 7db266687c
Check wheel build locations only when ephem cache isn't used
When the ephemeral cache is used, the build can always occur. There is
no need to check for those.
2019-01-23 09:48:06 +05:30
Pradyun Gedam 3a2546e7cc
Bump for development 2019-01-23 01:14:27 +05:30
Pradyun Gedam c38805ab59
Bump version to 19.0 2019-01-22 23:49:45 +05:30
Chris Jerdonek 9d00420c16 Use the requested log level when handling broken stdout pipe. 2019-01-21 12:45:59 -08:00
Chris Jerdonek eef02fd666 Unskip / get the end-to-end tests working for Windows. 2019-01-20 15:49:49 -08:00
Chris Jerdonek 7a9e1f344b Handle BrokenPipeError gracefully. 2019-01-20 15:49:49 -08:00
Chris Jerdonek e6d0127985 Add failing tests. 2019-01-20 15:49:49 -08:00
Jelmer Vernooij eb7d4b2178
Bazaar: Export directly from the remote branch.
This significantly improves performance, since it allows the remote
server to directly stream a tarball that just contains the requested
revision rather than the full repository contents.
2019-01-20 17:46:31 +00:00
Pradyun Gedam c90a3ff003
Update packaging to 19.0 2019-01-20 16:52:52 +05:30
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
Donald Stufft 5074327bcb
Merge pull request #6147 from dstufft/warn-on-27
Warn on Python 2.7
2019-01-19 21:53:09 -05:00
Pradyun Gedam 467ee29625
Merge pull request #6146 from pradyunsg/vendoring/jan-2019-updates
Vendoring updates for Jan 2019
2019-01-20 06:51:02 +05:30
Donald Stufft f3b9cf2e8f fix grammar, line lengths 2019-01-19 19:09:04 -05:00
Chris Jerdonek f982845aee
Merge pull request #6134 from cjerdonek/pip-no-use-pep517
Prevent the use of PIP_NO_USE_PEP517 to head off user confusion
2019-01-19 13:08:22 -08:00
Donald Stufft 71dbc9c3d5 Warn on Python 2.7 2019-01-19 14:54:07 -05:00
Pradyun Gedam 785ecf476a
Update requests to 2.21.0 2019-01-18 12:33:32 +05:30
Pradyun Gedam 45e356b1fa
Update pkg_resources to 40.6.3 (via setuptools) 2019-01-18 12:33:22 +05:30
Pradyun Gedam e772c0c9b4
Update pytoml to 0.1.20 2019-01-18 12:32:10 +05:30
Pradyun Gedam 5f2a936859
Update pep517 to 0.5.0 2019-01-18 12:31:14 +05:30
Pradyun Gedam f0de122e3d
Update idna to 2.8 2019-01-18 12:30:36 +05:30
Pradyun Gedam c42f16d707
Update distlib to 0.2.8 2019-01-18 12:29:43 +05:30
Pradyun Gedam 0071af5c8e
Update six to 1.12.0 2019-01-18 12:29:17 +05:30
Pradyun Gedam 7591a54b89
Update pyparsing to 2.3.1 2019-01-18 12:28:19 +05:30
Pradyun Gedam a90c04eee8
Update certifi to 2018.11.29 2019-01-18 12:27:32 +05:30
Pradyun Gedam 606c0edd63
Update urllib3 to 1.24.1 2019-01-18 12:26:27 +05:30
Pradyun Gedam e35524ae5d
Update colorama to 0.4.1 2019-01-18 12:24:18 +05:30
Pradyun Gedam 96a0ac24bd
Alphabetically sort the vendor requirements 2019-01-18 09:23:03 +05:30
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 35b1cc1c97
Tweak two use_pep517 identity checks. (#6135) 2019-01-14 23:25:20 -08:00
Pradyun Gedam 47d7f2b92e
Merge pull request #6123 from xavfernandez/deprecate34
Deprecate Python 3.4
2019-01-13 12:46:43 +05:30
Xavier Fernandez b268c67f84 Deprecate Python 3.4 2019-01-12 22:08:24 +01:00
Chris Jerdonek 4dc8710654
Tweak freeze comment when no version control detected. (#6128) 2019-01-12 12:44:45 -08:00
Xavier Fernandez a09913673f Redact index password from logs
Closes #6124
2019-01-10 10:47:19 +01:00
Chris Jerdonek 2a6d282984
Merge pull request #6122 from cjerdonek/make-get-src-requirement-class-method
Make VersionControl.get_src_requirement() a class method
2019-01-09 20:54:16 -08:00
Xavier Fernandez 477147091e
Merge pull request #6116 from peterlisak/bug-fix-outdated-not-required
pip list --not-required --outdated should list only outdated packages…
2019-01-09 22:15:53 +01:00
Chris Jerdonek 8d45557ff1 Make get_src_requirement() a class method. 2019-01-09 01:52:24 -08:00
Chris Jerdonek 8a036105dd Make get_revision() and get_revision_hash() class methods. 2019-01-09 01:52:19 -08:00
Chris Jerdonek 8a771d027d Make get_remote_url() a class method. 2019-01-09 01:24:16 -08:00
Chris Jerdonek 41f058b4f5 Make _get_subdirectory(), _get_svn_url_rev(), and _is_local_repository() class methods. 2019-01-09 01:24:16 -08:00
Chris Jerdonek 00ae3f594d Make VersionControl.run_command() a class method. 2019-01-09 01:24:16 -08:00
Peter Lisák 1a87e577d0 Add comments 2019-01-07 17:10:08 +01:00
Pradyun Gedam 8ff8e1fa9e
Merge pull request #6060 from pradyunsg/remove/dependency-links
Remove dependency links support
2019-01-07 08:49:13 +05:30
Chris Jerdonek e155b4778a
Merge pull request #6095 from cjerdonek/freeze-repo-with-no-remote
Address #4759: change freeze to support editable Git repos with no remote
2019-01-06 14:20:22 -08:00
Peter Lisák 4f35981085 pip list --not-required --outdated should list only outdated packages that are not dependencies of installed packages 2019-01-06 10:05:44 +01:00
Chih-Hsuan Yen 65270e53f8
Add a note in Vendoring Policies to remind of vendored() entries
To avoid future breakages like #4660, #5418 or #6056
2019-01-05 22:14:48 +08:00
Pradyun Gedam b7a4d70b25
Don't instantiate NotImplementedError 2019-01-02 17:27:34 +05:30
Pradyun Gedam f9b66cacb3
Stop passing finder to DistAbstraction.dist 2019-01-02 17:27:34 +05:30
Pradyun Gedam 71b6e95322
Remove an unused Subversion method that expects dependency links 2019-01-02 17:27:06 +05:30
Pradyun Gedam 7222cb8fdb
Remove --process-dependency-links and related support code 2019-01-02 17:27:06 +05:30
Chris Jerdonek 526ac40e63 Fix freeze to handle Git repos with no remote. 2018-12-21 01:10:06 -08:00
Chris Jerdonek 1764fbbdab Add failing tests. 2018-12-21 00:21:04 -08:00
Chris Jerdonek 2a902dd464
Merge pull request #5912 from cjerdonek/improve-get-branch
Fix get_branch() to work if the current branch shares a name with a tag
2018-12-20 20:20:12 -08:00
Chris Jerdonek 929c95833d Address review comments. 2018-12-20 17:39:08 -08:00
Maxim Kurnikov 932fb539ef finish types for pip._internal.req, disallow untyped defs 2018-12-19 19:39:35 +03:00
Pradyun Gedam 89ef777c18
Cleanup for issues fixed with mypy upgrade 2018-12-18 15:10:40 +05:30
Pradyun Gedam 22fe45d462
Fix new issues found in mypy 0.620 -> 0.650 2018-12-18 11:20:14 +05:30
Pradyun Gedam be5f4afcfc
Fix inconsistencies in mypy annotations 2018-12-17 23:56:00 +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
Maxim Kurnikov 05eb7d8e92 Add type annotations for pip._internal.req (#6063) 2018-12-17 16:43:00 +05:30
Maxim Kurnikov 410072bc8b add type annotations for pip._internal.models (#6065) 2018-12-17 16:42:36 +05:30
Maxim Kurnikov 7ee388178a Add type annotations for pip._internal.operations (#6066)
References https://github.com/pypa/pip/issues/4748, https://github.com/pypa/pip/pull/6038.
2018-12-17 16:41:47 +05:30
Chris Jerdonek 1e903eab5a Improve branch detection to work if a tag exists with the same name. 2018-12-16 12:00:42 -08:00
Chris Jerdonek cc9f03dea9 Rename get_branch() to get_current_branch(). 2018-12-16 02:08:27 -08:00
Maxim Kurnikov 7696e7e530 Add type annotations for pip._internal.download, pip._internal.wheel and pip._internal.pep425tags (#6067)
References https://github.com/pypa/pip/issues/4748, https://github.com/pypa/pip/pull/6038.
2018-12-16 14:46:39 +05:30
Pradyun Gedam 5d2d16e575
Merge pull request #6062 from mkurnikov/cli-types
Add type annotations for pip._internal.cli
2018-12-14 12:31:58 +05:30
Maxim Kurnikov 5e5904e61c Add type annotations for pip._internal.utils and pip._internal.vcs.__init__ (#6061) 2018-12-08 08:47:24 +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
Maxim Kurnikov 028848574a add type annotations for pip/_internal/cli/ 2018-12-03 15:47:11 +03:00
Eli Schwartz 7371a75595
fix un-vendored support; add missing entry for pep517 2018-11-30 14:08:54 -05:00
Pradyun Gedam fc62b5b677
Move wheel extension information to remove cycle imports 2018-11-30 12:46:08 +05:30
Pradyun Gedam 41f87fba35
Add notes for future cleanups 2018-11-30 11:43:35 +05:30
Pradyun Gedam 9781e1381e
Move an import to top of wheel.py 2018-11-30 11:43:15 +05:30
Pradyun Gedam eb602418a4
Use msgpack instead of msgpack-python 2018-11-27 18:30:03 +05:30
Paul Moore 087d8254a7
Merge pull request #5410 from wtolson/manylinux2010
Manylinux2010
2018-11-22 11:07:49 +00:00