Commit Graph

366 Commits

Author SHA1 Message Date
Pradyun Gedam 2e5715e3bb
Move installation order computation into Resolver 2018-01-24 17:17:24 +05:30
Pradyun Gedam 01b2b856b6
Move installation order code out of RequirementSet 2018-01-24 17:17:24 +05:30
Pradyun Gedam 1ea3f89ff9
Merge pull request #4992 from pradyunsg/vendor/disable-appdirs-loading-c-library
Disable vendored appdirs loading C library
2018-01-24 16:35:35 +05:30
Pradyun Gedam 25afbd3f99
Remove stub for appdirs 2018-01-24 15:37:09 +05:30
Pradyun Gedam a91e545900
Do not load win32com on Windows 2018-01-24 15:36:22 +05:30
Pradyun Gedam beffa5d35d
Merge pull request #4982 from pradyunsg/misc/error-out-on-input
Handle stdin correctly when calling subprocesses
2018-01-24 10:10:42 +05:30
Paul Moore 81fb5159d0
Merge pull request #4764 from pradyunsg/cache/ephem-wheel-cache
Do wheel installs from VCS/directories using ephemeral caching
2018-01-23 22:08:14 +00:00
Pradyun Gedam 4c147397ea
Merge branch 'master' into cache/ephem-wheel-cache 2018-01-24 02:15:21 +05:30
Pradyun Gedam 5ea50d2d8b
Move PEP 518 info fetching into InstallRequirement 2018-01-23 22:10:07 +05:30
Pradyun Gedam cb6aa5be26
Use a property 2018-01-23 22:08:38 +05:30
Pradyun Gedam 470d48ad6e
Move BuildEnvironment out of wheel.py 2018-01-23 22:08:21 +05:30
Pradyun Gedam 3acb90fb8e
Error out on encoding issues while loading configuration (#4976) 2018-01-23 21:56:20 +05:30
Pradyun Gedam 547f92d0c2
Only allow the finder to use wheels as build reqs 2018-01-23 01:35:24 +05:30
Anubhav Patel cd2e4e9bde
Updated get_terminal_size to check for shutil.get_terminal_size first.
Updated get_terminal_size to check for existence of shutil.get_terminal_size function first.
2018-01-22 20:52:58 +05:30
Pradyun Gedam 1c36fbc6c1
Handle stdin correctly when calling subprocesses 2018-01-21 16:47:00 +05:30
Pradyun Gedam 055dcb8daf
Assign is_direct outside RequirementSet 2018-01-21 16:17:37 +05:30
Pradyun Gedam 01c985a663
Reduce classes with pycompile attribute 2018-01-21 16:16:43 +05:30
Pradyun Gedam b1cb27d34e
Reduce classes with target_dir attribute 2018-01-21 16:16:42 +05:30
Pradyun Gedam de7d42feb9
Reduce classes with use_user_site attribute 2018-01-21 16:16:19 +05:30
GOTO Hayato 4f8541972f The parameter include_editables of pip.get_installed_distributions() is desribed as editables in the docstring (#4975)
Fix the mismatched parameter name in get_installed_distributions().
2018-01-20 11:18:37 +00:00
Pradyun Gedam 5958c947b6
Add a verbosity attribute to basecommand 2018-01-20 16:29:22 +05:30
Pradyun Gedam 2e7e1a972d
Merge pull request #4926 from pradyunsg/tests/rename-basic-tests
Rename a few tests to add the word "basic"
2018-01-20 08:44:49 +05:30
Segev Finer bca2f4ed59 Add auto completion of short options
Fixes #4954
2018-01-06 11:00:41 +02:00
Anuj Godase f038fe47bd Add a note about temporary directories to --build help text (#4944)
Document that an initial build occurs in a temporary directory, even when --build is specified.
2018-01-01 23:46:50 +05:30
Pradyun Gedam 46267a285a
Sigh. mypy. 2017-12-27 17:21:00 +05:30
OMOTO Kenji 39b4f3b3ad Fixed issue #4917 and Upgraded vendored distro to v1.2.0
Fixed UnicodeDecodeError on Linux which system encoding is not UTF-8.
2017-12-26 10:25:42 +09:00
Pradyun Gedam 729990c986
Round 1 of Cleanups (#4844)
* misc: fix typo
* misc: 🎨 cleanup parenthesis
* misc: 🎨 minor simplifications
* tests: fix test_console_to_str_warning
2017-12-25 15:23:27 +05:30
Pradyun Gedam ad27fd3afb
🎨 Make linters happy 2017-12-23 17:33:52 +05:30
Pradyun Gedam f30aea2c01
Merge branch 'master' of github.com:pradyunsg/pip into vendoring/enable-c-libs 2017-12-23 17:18:33 +05:30
Giftlin Rajaiah 7bb73f60ad Fix local variable 'base_url' referenced before assignment (#4914)
Fixes #4908
2017-12-17 20:12:39 +05:30
Pradyun Gedam e31d784b41
Rename a few tests to add the word "basic"
This essentially allows me to do an overall check general check by running the tests using pytest's `-k basic` syntax. Given that I like running tests often and that, in general, I make typos more often than changes that break core functionality, I think this will reduce cycle times for me.
2017-12-16 23:43:46 +05:30
Pradyun Gedam 10af4ed9cb
Import OpenSSL only if not on Windows 2017-12-16 18:12:25 +05:30
Pradyun Gedam 3756e8a53b
Slightly cleanup vendoring information 2017-12-16 18:08:28 +05:30
Pradyun Gedam 9b4af01a29
Merge branch 'master' into vendoring/enable-c-libs 2017-12-16 18:05:37 +05:30
Donald Stufft b0a762a8f6
Merge pull request #4920 from asottile/no_need_for_distro_patch
Drop vendoring patch for distro
2017-12-15 06:55:19 -05:00
Anthony Sottile 9762eb02e3 Upgrade syntax in src/pip/_internal
Changes were automated via https://github.com/asottile/pyupgrade

See #4921
2017-12-14 21:59:22 -08:00
Anthony Sottile 6bf55db7c0 Drop vendoring patch for distro
- python2.6 is no longer supported by pip

```bash
git apply --reverse tasks/vendoring/patches/distro.patch
git rm tasks/vendoring/patches/distro.patch
```
2017-12-14 20:46:06 -08:00
Gabriel Curio ce674d2ca1 Fix unassigned variable.
In the event of an error, 'req' will be unassigned. This will cause another error in the exception.

Replace 'req' with 'name.'
2017-12-02 15:50:03 +01:00
Pradyun Gedam cd14240529
Merge branch 'master' into cache/ephem-wheel-cache 2017-12-01 19:16:27 +05:30
Pradyun Gedam 8f4f15a5a9
Merge pull request #4881 from pradyunsg/misc/trailing-commas-imports
isort: Include trailing commas
2017-11-24 07:34:14 +05:30
Pradyun Gedam 353a13ddff
isort: Include trailing commas 2017-11-21 13:23:59 +05:30
Pradyun Gedam 5a8b11cbe4
Improve --no-color and test for it (#4866)
* Improve the --no-color test
* Let the logger decide to not color things
* misc: Move handler name outside dict
2017-11-20 17:18:13 +05:30
Xavier Fernandez 9ff3c18bf2
Merge pull request #4529 from mwilliamson/download-platform-no-deps
Allow download with specific platform and --no-deps
2017-11-17 23:28:16 +01:00
Pradyun Gedam 01d97e71f0
Merge branch 'master' into cache/ephem-wheel-cache 2017-11-17 12:32:40 +05:30
Pradyun Gedam 24fd884672
Decouple WheelBuilder from RequirementSet (#4860) 2017-11-16 15:16:21 +05:30
Anthony Sottile 3651dd8687 Update comment now that `-d` is not an install option (#4851) 2017-11-12 19:53:18 +05:30
Pradyun Gedam 945196e5f0
Merge branch 'master' into vendoring/enable-c-libs 2017-11-07 15:38:07 +05:30
Min RK b1f949a816 handle missing trailing newline in uninstall_pth 2017-11-05 16:12:29 +01:00
Pradyun Gedam 0c684a3b0d
User-Agent reflects the version of openssl used to connect 2017-11-05 16:25:05 +05:30
Pradyun Gedam b9feb191a9
Merge pull request #4642 from pradyunsg/feature/idempotent-uninstall 2017-11-05 15:32:32 +05:30
Oz N Tiram 4370a5a37b Add a global option to disable colors (#4739)
* Add a global option to disable colors

 This is a fix for issue #2449

 All it does is simply add a global option --no-color

 Internally it switches ColorizedStreamHandler to StreamHandler if
 this flag is detected.

* Fix lint errors

 * not sure it makes the code more readable though ...

* Fix typo

* Choose logging class before assigning

 * As requested per review
 * Make the code shorter and easier to follow

* Be polite to followers, add commas

* Add functional test for the --no-color output

* Better detection of windows

* Fix fragile tests - can't trust script --quiet

 * The version found in Travis-CI does not respect this flag
   It added a prefix line and suffix line found if one does not
   add the flag --quiet (script from util-linux 2.26.2).

   As such the out  put is:

     Script started on Fri 27 Oct 2017 07:17:30 AM CEST
     \x1b[31mCannot uninstall requirement noSuchPackage, not installed\x1b[0m\n

     Script done on Fri 27 Oct 2017 07:17:31 AM CEST

  With this change, the test should pass, and is hopefully more stable.

* Simplify testing for color or no-color
2017-11-05 15:23:57 +05:30
Pradyun Gedam 88924a4006
Fix a mistake in merge 2017-11-04 13:15:24 +05:30
Pradyun Gedam 032009380f
Merge branch 'master' into pr/4612 2017-11-04 12:45:15 +05:30
Pradyun S. Gedam 8222d788f6
Switch pip uninstall behaviour to be idempotent
pip uninstall no longer aborts if a package is not installed; instead
it prints a warning that the package is not installed and it is
skipping the uninstallation of it for this reason.
2017-11-03 22:28:24 +05:30
Pradyun S. Gedam e8bdaa76e5
Use return values instead of attributes 2017-11-03 22:28:24 +05:30
Pradyun Gedam 87d2735487
Merge pull request #4819 from pradyunsg/vendoring/late-oct-2017
* Update distlib to 0.2.6
* Update six to 1.11.0
* Update pkg_resources (via setuptools) to 36.6.0.
2017-11-03 20:08:43 +05:30
Calvin Smith 4e97d3d5f9 Freeze not installed (#4292, #4293) 2017-10-31 11:13:46 +05:30
Pradyun Gedam 058f3b695f
Update pkg_resources (via setuptools) to 36.6.0. 2017-10-28 18:46:21 +05:30
Pradyun Gedam bb2c490ca1
Update six to 1.11.0 2017-10-28 18:45:31 +05:30
Pradyun Gedam f2cf472d91
Update distlib to 0.2.6 2017-10-28 18:44:48 +05:30
Mathieu Bridon 62875be050 Record installed files in a deterministic order
Installed files are recorded by Pip in the order the underlying tool
(Distutils, Setuptools, ...) recorded them.

Unfortunately, at least Setuptools doesn't record them in a
deterministic order in the case of a directory being installed, as it
uses os.walk to find the list of files.

We could fix all those underlying tools to record their files in a
deterministic order in all situations. But fixing it once here in Pip
for all tools is certainly simpler and more future-proof.

This makes the installation more reproducible, and therefore more
verifiable.
2017-10-26 22:29:19 +02:00
Pradyun Gedam a39f36aba1
🎨 2017-10-25 16:07:21 +05:30
Pradyun Gedam e36bb6d5c3 Merge branch 'master' into cache/ephem-wheel-cache 2017-10-24 15:44:43 +05:30
Bartek Ogryczak 62a695c4b9 More HTTP status codes to retry on (#4473)
* Add `--retry-status <HTTP code>` to allow specifying custom HTTP staus codes to retry on.
This is useful for AWS S3 or Cloudflare, which at times return codes other than 503 for
itermitent failures.

* stripping option related code, hardcoding the statuses

* Reword the news file

* changing ndash to regular ascii dash
2017-10-24 10:55:42 +02:00
Chris Jerdonek b112292068 Address issue #1139: make --force-reinstall not require --upgrade (#4432)
* Add failing tests for issue #1139 re: --force-reinstall.

* Address issue #1139: make --force-reinstall not require --upgrade.

* Address review comments.

* Address @xavfernandez's review comments.

This makes the new tests not require network access.
2017-10-24 00:03:20 +02:00
Pradyun Gedam d4e2d7ec2a
Merge branch 'master' into cache/ephem-wheel-cache 2017-10-22 22:43:03 +05:30
Pradyun Gedam 8f68f387f0 Remove Circular dependency between Resolver and Preparer (#4636)
RequirementPreparer no longer takes Resolver as argument in any of its methods and directly takes the reference of the values it actually needs.
2017-10-22 22:34:14 +05:30
Pradyun Gedam 3ec643caf8
Fix message printing for local directories 2017-10-20 15:03:23 +05:30
Pradyun Gedam 1c6a450643
Merge branch 'master' of github.com:pypa/pip into cache/ephem-wheel-cache 2017-10-20 13:51:22 +05:30
Michael Williamson 2d97891497 Allow downloading of sdists for specific platform with --no-deps 2017-10-12 09:30:28 +01:00
Dustin Ingram ff5b2013a0 Use correct executable name for completion command (#4755) 2017-10-12 10:59:53 +05:30
Benoit Pierre 2243562b0e Fix install warning message about mismatched versions 2017-10-08 00:18:52 +02:00
Pradyun Gedam c81e8ac105 Normalize case before comparing (#4770) 2017-10-07 13:15:06 +01:00
Benoit Pierre d8e6654f8d fix un-vendored support; add missing entries (#4661) 2017-10-07 09:58:33 +05:30
Benoit Pierre 961737ab98 Fix integration tests on Windows (#4769) 2017-10-06 20:51:42 +01:00
Pradyun Gedam 02c219e2c4 Merge pull request #4728 from scop/escseq
Python 3.6 invalid escape sequence deprecation fixes
2017-10-06 17:11:45 +05:30
Chris Jerdonek 28061a71c5 Fix test after rebasing another time. 2017-10-05 13:35:14 -07:00
Chris Jerdonek 2a30db5994 Use guard clause. 2017-10-05 10:42:04 -07:00
Chris Jerdonek 4ed70c03d9 Address review comments. 2017-10-05 10:42:04 -07:00
Chris Jerdonek f22c9b265f Change the default revision from origin/master to master. 2017-10-05 10:42:04 -07:00
Chris Jerdonek 15d058edf0 Start using Git.get_revision_sha(). 2017-10-05 10:42:04 -07:00
Chris Jerdonek 85dc157147 Add Git.get_revision_sha() with tests. 2017-10-05 10:40:55 -07:00
Chris Jerdonek 6cbc134ba1 Remove the unused is_ref_commit(). 2017-10-05 10:40:55 -07:00
Chris Jerdonek b8ba25c79f Remove the unused get_refs(). 2017-10-05 10:40:55 -07:00
Chris Jerdonek da30b7007d Address @pradyunsg's review comment. 2017-10-05 02:32:54 -07:00
Chris Jerdonek d646aaca72 Choose a better name, and other clean-ups. 2017-10-05 02:32:54 -07:00
Chris Jerdonek d1b9441595 Change check_version() to accept a commit hash / id. 2017-10-05 02:32:54 -07:00
Chris Jerdonek 3e4f8089d1 Fix check_version() (the tests now pass). 2017-10-05 02:32:54 -07:00
Chris Jerdonek c66ecc73ab Address issue #4507: don't warn when installing from a commit hash (#4674)
* Add failing test for issue #4507.

* Add looks_like_hash() with tests.

* Add news file.

* Address issue #4507 by using looks_like_hash().

* Tweak warning text.

* Fix test after rebasing.

* Remove extra line.
2017-10-05 00:16:10 +02:00
Donald Stufft ae7bbee3f6 Merge pull request #4765 from pradyunsg/misc/remove-platform-glibc
Stop depending on platform.libc_ver()
2017-10-04 13:49:01 -04:00
Pradyun S. Gedam 9ac0220ceb Stop depending on platform.libc_ver() 2017-10-04 21:01:22 +05:30
Pradyun S. Gedam 165b10b9db Rework Wheel Caching 2017-10-04 18:53:55 +05:30
Pradyun S. Gedam b96618bedc Revert unrelated change 2017-10-04 18:53:55 +05:30
Pradyun S. Gedam ebf06ceb9d Merge master 2017-10-04 16:58:31 +05:30
Chris Jerdonek 6a0d3aa66e Update for mypy. 2017-10-02 15:37:03 -07:00
Chris Jerdonek 3498b19a8b Address issue #1130: make pip ignore GIT_DIR and GIT_WORK_TREE. 2017-10-02 15:35:30 -07:00
Antony Lee d339351a41 Autocomplete installed dists in `pip show ...`. (#4749)
* Autocomplete installed dists in `pip show ...`.

* 🎨 Assign to a variable to satisfy linters
2017-10-02 22:56:17 +02:00
Pradyun Gedam fc7ca26489 Warn user when installing scripts outside PATH (#4553) 2017-10-02 17:54:37 +01:00
Chris Jerdonek 3e56733df4 Add a RevOptions class (#4707)
* Add the RevOptions class, and test.

* Start using the RevOptions class.

* Add news file.

* Update for mypy.

* Fix test after rebasing.

* Address @xavfernandez's review comments.
2017-10-02 00:21:11 +02:00
Dustin Ingram 8d96363882 Don't assume master branch exists when reinstalling editable package from Git (#4450)
* Add failing test

* Don't assume master branch is default

* Don't expect output to stderr

* Use the 'short ref' instead of the 'full ref'
2017-09-30 00:30:30 +02:00
Ville Skyttä 8fb2b6318f Python 3.6 invalid escape sequence deprecation fixes
https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior
2017-09-15 23:35:45 +03:00
Donald Stufft 6e2391a92c Merge pull request #4712 from dstufft/upgrade
Upgrade our Vendored Dependencies
2017-09-07 16:19:47 -04:00
Donald Stufft 13a3f1d52a Upgrade requests 2017-09-07 15:54:22 -04:00
Donald Stufft d1379fa336 Merge pull request #4684 from pradyunsg/misc/remove-redundant-import
Remove a redundant import
2017-09-07 12:55:03 -04:00
Donald Stufft b14a62f36e Upgrade cachecontrol, setuptools, and pytoml 2017-09-07 12:47:05 -04:00
Pradyun S. Gedam c6cce8509d Remove a redundant import
The linters missed it. Funny.
2017-09-07 16:50:13 +05:30
Pradyun S. Gedam 1240a81b50 Get rid of successfully_installed attr 2017-09-07 00:06:26 +05:30
Pradyun S. Gedam e2b2f70ebb isort all imports 2017-09-02 17:02:48 +05:30
Pradyun S. Gedam 93d9f20df8 Remove a useless section 2017-09-02 16:59:37 +05:30
Pradyun S. Gedam da57810742 type: Any partials in cmdoptions 2017-09-02 16:52:19 +05:30
Pradyun S. Gedam ec26f0a024 Import from inner packages
mypy doesn't seem to recognize the imports from pip._internal.req for some reason. This is a quick hacky patch for that. If someone is reading this, you probably want to look into why that's happening.

Also, Hi to you, a person from the future!
2017-09-02 16:52:00 +05:30
Pradyun S. Gedam d9a44310f7 Move mypy stubs as well 2017-09-02 16:18:28 +05:30
Pradyun S. Gedam d40881894e Add imports I'd missed 2017-09-02 16:10:48 +05:30
Pradyun S. Gedam d37868ff04 Move the typing file 2017-09-02 16:07:39 +05:30
Pradyun S. Gedam 11451c54ec Merge branch 'master' into mypy/infrastructure 2017-09-02 16:06:48 +05:30
Donald Stufft 95bcf8c5f6 Move all internal APIs to pip._internal 2017-08-31 14:53:00 -04:00