com.googler.python 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/package.json +4 -2
  2. package/python3.4.2/lib/python3.4/site-packages/pip/__init__.py +1 -277
  3. package/python3.4.2/lib/python3.4/site-packages/pip/__main__.py +19 -7
  4. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/__init__.py +246 -0
  5. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/basecommand.py +373 -0
  6. package/python3.4.2/lib/python3.4/site-packages/pip/{baseparser.py → _internal/baseparser.py} +240 -224
  7. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/build_env.py +92 -0
  8. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cache.py +202 -0
  9. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cmdoptions.py +609 -0
  10. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/__init__.py +79 -0
  11. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/check.py +42 -0
  12. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/completion.py +94 -0
  13. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/configuration.py +227 -0
  14. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/download.py +233 -0
  15. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/freeze.py +96 -0
  16. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/hash.py +57 -0
  17. package/python3.4.2/lib/python3.4/site-packages/pip/{commands → _internal/commands}/help.py +36 -33
  18. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/install.py +477 -0
  19. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/list.py +343 -0
  20. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/search.py +135 -0
  21. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/show.py +164 -0
  22. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/uninstall.py +71 -0
  23. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/wheel.py +179 -0
  24. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/compat.py +235 -0
  25. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/configuration.py +378 -0
  26. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/download.py +922 -0
  27. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/exceptions.py +249 -0
  28. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/index.py +1117 -0
  29. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/locations.py +194 -0
  30. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/__init__.py +4 -0
  31. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/index.py +15 -0
  32. package/python3.4.2/lib/python3.4/site-packages/pip/{_vendor/requests/packages/urllib3/contrib → _internal/operations}/__init__.py +0 -0
  33. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/check.py +106 -0
  34. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/freeze.py +252 -0
  35. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/prepare.py +378 -0
  36. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/pep425tags.py +317 -0
  37. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/__init__.py +69 -0
  38. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_file.py +338 -0
  39. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_install.py +1115 -0
  40. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_set.py +164 -0
  41. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_uninstall.py +455 -0
  42. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/resolve.py +354 -0
  43. package/python3.4.2/lib/python3.4/site-packages/pip/{status_codes.py → _internal/status_codes.py} +8 -6
  44. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/__init__.py +0 -0
  45. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/appdirs.py +258 -0
  46. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/deprecation.py +77 -0
  47. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/encoding.py +33 -0
  48. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/filesystem.py +28 -0
  49. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/glibc.py +84 -0
  50. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/hashes.py +94 -0
  51. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/logging.py +132 -0
  52. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/misc.py +851 -0
  53. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/outdated.py +163 -0
  54. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/packaging.py +70 -0
  55. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/setuptools_build.py +8 -0
  56. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/temp_dir.py +82 -0
  57. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/typing.py +29 -0
  58. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/ui.py +421 -0
  59. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/__init__.py +471 -0
  60. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/bazaar.py +113 -0
  61. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/git.py +311 -0
  62. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/mercurial.py +105 -0
  63. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/subversion.py +271 -0
  64. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/wheel.py +817 -0
  65. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/__init__.py +109 -8
  66. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/appdirs.py +604 -0
  67. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
  68. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/_cmd.py +60 -0
  69. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/adapter.py +134 -0
  70. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
  71. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
  72. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +133 -0
  73. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +43 -0
  74. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
  75. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/controller.py +373 -0
  76. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/filewrapper.py +78 -0
  77. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/heuristics.py +138 -0
  78. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/serialize.py +194 -0
  79. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/wrapper.py +27 -0
  80. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__init__.py +3 -0
  81. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__main__.py +2 -0
  82. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests → certifi}/cacert.pem +1765 -2358
  83. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/core.py +37 -0
  84. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/__init__.py +39 -32
  85. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
  86. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/big5prober.py +47 -42
  87. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/chardistribution.py +233 -231
  88. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetgroupprober.py +106 -0
  89. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
  90. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
  91. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/chardetect.py +85 -0
  92. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
  93. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/compat.py +34 -34
  94. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/cp949prober.py +49 -44
  95. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/enums.py +76 -0
  96. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escprober.py +101 -0
  97. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escsm.py +246 -0
  98. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
  99. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
  100. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euckrprober.py +47 -42
  101. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwfreq.py +387 -428
  102. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwprober.py +46 -41
  103. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312freq.py +283 -472
  104. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312prober.py +46 -41
  105. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/hebrewprober.py +292 -283
  106. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jisfreq.py +325 -569
  107. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jpcntx.py +233 -219
  108. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langbulgarianmodel.py +228 -229
  109. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langcyrillicmodel.py +333 -329
  110. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langgreekmodel.py +225 -225
  111. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhebrewmodel.py +200 -201
  112. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhungarianmodel.py +225 -225
  113. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langthaimodel.py +199 -200
  114. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/langturkishmodel.py +193 -0
  115. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/latin1prober.py +145 -139
  116. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
  117. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/mbcsgroupprober.py +54 -54
  118. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
  119. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sbcharsetprober.py +132 -0
  120. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/sbcsgroupprober.py +73 -69
  121. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
  122. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
  123. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/utf8prober.py +82 -76
  124. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/version.py +9 -0
  125. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/__init__.py +7 -7
  126. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansi.py +102 -50
  127. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansitowin32.py +236 -190
  128. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/initialise.py +82 -56
  129. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/win32.py +156 -137
  130. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/winterm.py +162 -120
  131. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/__init__.py +23 -23
  132. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -6
  133. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -41
  134. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/shutil.py +761 -761
  135. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -84
  136. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +788 -788
  137. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -2607
  138. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/compat.py +1117 -1064
  139. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/database.py +1318 -1301
  140. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/index.py +516 -488
  141. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/locators.py +1292 -1194
  142. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/manifest.py +393 -364
  143. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/markers.py +131 -190
  144. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/metadata.py +1068 -1026
  145. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/resources.py +355 -317
  146. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py +415 -323
  147. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  148. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  149. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/util.py +1755 -1575
  150. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/version.py +736 -721
  151. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  152. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  153. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/wheel.py +984 -958
  154. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distro.py +1104 -0
  155. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/__init__.py +35 -23
  156. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{ihatexml.py → _ihatexml.py} +288 -285
  157. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{inputstream.py → _inputstream.py} +923 -881
  158. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{tokenizer.py → _tokenizer.py} +1721 -1731
  159. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/__init__.py +14 -12
  160. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/_base.py +37 -37
  161. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/datrie.py +44 -44
  162. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/py.py +67 -67
  163. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{utils.py → _utils.py} +124 -82
  164. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/constants.py +2947 -3104
  165. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -20
  166. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/{_base.py → base.py} +12 -12
  167. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -65
  168. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -93
  169. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -205
  170. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +896 -12
  171. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -38
  172. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/html5parser.py +2791 -2713
  173. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
  174. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
  175. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
  176. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -44
  177. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -76
  178. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/{_base.py → base.py} +417 -377
  179. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +236 -227
  180. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +340 -337
  181. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +366 -369
  182. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -57
  183. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{_base.py → base.py} +252 -200
  184. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -46
  185. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +130 -138
  186. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{lxmletree.py → etree_lxml.py} +213 -208
  187. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{genshistream.py → genshi.py} +69 -69
  188. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/__init__.py +2 -0
  189. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/codec.py +118 -0
  190. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/compat.py +12 -0
  191. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/core.py +387 -0
  192. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/idnadata.py +1585 -0
  193. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/intranges.py +53 -0
  194. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/package_data.py +2 -0
  195. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/uts46data.py +7634 -0
  196. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/ipaddress.py +2419 -0
  197. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/__init__.py +347 -0
  198. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/linklockfile.py +73 -0
  199. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/mkdirlockfile.py +84 -0
  200. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/pidlockfile.py +190 -0
  201. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/sqlitelockfile.py +156 -0
  202. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/symlinklockfile.py +70 -0
  203. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/__init__.py +66 -0
  204. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/_version.py +1 -0
  205. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/exceptions.py +41 -0
  206. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/fallback.py +971 -0
  207. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__about__.py +21 -0
  208. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__init__.py +14 -0
  209. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_compat.py +30 -0
  210. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_structures.py +70 -0
  211. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/markers.py +301 -0
  212. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/requirements.py +130 -0
  213. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/specifiers.py +774 -0
  214. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/utils.py +63 -0
  215. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/version.py +441 -0
  216. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{pkg_resources.py → pkg_resources/__init__.py} +3125 -2762
  217. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pkg_resources/py31compat.py +22 -0
  218. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/__init__.py +127 -0
  219. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/bar.py +88 -0
  220. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/counter.py +48 -0
  221. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/helpers.py +91 -0
  222. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/spinner.py +44 -0
  223. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pyparsing.py +5720 -0
  224. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/__init__.py +3 -0
  225. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/core.py +13 -0
  226. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/parser.py +374 -0
  227. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/writer.py +127 -0
  228. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__init__.py +123 -77
  229. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__version__.py +14 -0
  230. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
  231. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py +525 -388
  232. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/api.py +152 -120
  233. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/auth.py +293 -193
  234. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/certs.py +18 -24
  235. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/compat.py +73 -115
  236. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/cookies.py +542 -454
  237. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/exceptions.py +122 -75
  238. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/help.py +120 -0
  239. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/hooks.py +34 -45
  240. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/models.py +948 -803
  241. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages.py +16 -0
  242. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py +737 -637
  243. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/status_codes.py +91 -88
  244. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/structures.py +105 -127
  245. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/utils.py +904 -673
  246. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/retrying.py +267 -0
  247. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/six.py +891 -646
  248. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/__init__.py +97 -0
  249. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/_collections.py +319 -0
  250. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/connection.py +373 -0
  251. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/connectionpool.py +905 -710
  252. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  253. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  254. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +593 -0
  255. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +343 -0
  256. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/appengine.py +296 -0
  257. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/contrib/ntlmpool.py +112 -120
  258. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +455 -0
  259. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +810 -0
  260. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/socks.py +188 -0
  261. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/exceptions.py +246 -0
  262. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/fields.py +178 -177
  263. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/filepost.py +94 -100
  264. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/__init__.py +5 -4
  265. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  266. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +53 -0
  267. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ordered_dict.py +259 -260
  268. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/six.py +868 -0
  269. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/__init__.py +19 -13
  270. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/_implementation.py +157 -105
  271. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/poolmanager.py +440 -0
  272. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/request.py +148 -141
  273. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/response.py +626 -0
  274. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/__init__.py +54 -0
  275. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/connection.py +130 -0
  276. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/request.py +118 -0
  277. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/response.py +81 -0
  278. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/retry.py +401 -0
  279. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/selectors.py +581 -0
  280. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/ssl_.py +341 -0
  281. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/timeout.py +242 -234
  282. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/url.py +230 -162
  283. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/wait.py +40 -0
  284. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
  285. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/labels.py +231 -0
  286. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
  287. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/tests.py +153 -0
  288. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
  289. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/__init__.py +0 -16
  290. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/markers.py +0 -119
  291. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/sanitizer.py +0 -271
  292. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/__init__.py +0 -16
  293. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py +0 -320
  294. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py +0 -63
  295. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/re-vendor.py +0 -34
  296. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/__init__.py +0 -3
  297. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py +0 -925
  298. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py +0 -46
  299. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py +0 -106
  300. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py +0 -62
  301. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py +0 -61
  302. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/constants.py +0 -39
  303. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escprober.py +0 -86
  304. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escsm.py +0 -242
  305. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py +0 -90
  306. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py +0 -596
  307. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py +0 -86
  308. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py +0 -575
  309. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py +0 -120
  310. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py +0 -91
  311. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py +0 -170
  312. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py +0 -58
  313. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py +0 -205
  314. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connection.py +0 -204
  315. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py +0 -422
  316. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py +0 -126
  317. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py +0 -385
  318. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py +0 -258
  319. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/response.py +0 -308
  320. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py +0 -27
  321. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py +0 -45
  322. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py +0 -68
  323. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py +0 -13
  324. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py +0 -133
  325. package/python3.4.2/lib/python3.4/site-packages/pip/backwardcompat/__init__.py +0 -138
  326. package/python3.4.2/lib/python3.4/site-packages/pip/basecommand.py +0 -201
  327. package/python3.4.2/lib/python3.4/site-packages/pip/cmdoptions.py +0 -371
  328. package/python3.4.2/lib/python3.4/site-packages/pip/commands/__init__.py +0 -88
  329. package/python3.4.2/lib/python3.4/site-packages/pip/commands/bundle.py +0 -42
  330. package/python3.4.2/lib/python3.4/site-packages/pip/commands/completion.py +0 -59
  331. package/python3.4.2/lib/python3.4/site-packages/pip/commands/freeze.py +0 -114
  332. package/python3.4.2/lib/python3.4/site-packages/pip/commands/install.py +0 -314
  333. package/python3.4.2/lib/python3.4/site-packages/pip/commands/list.py +0 -162
  334. package/python3.4.2/lib/python3.4/site-packages/pip/commands/search.py +0 -132
  335. package/python3.4.2/lib/python3.4/site-packages/pip/commands/show.py +0 -80
  336. package/python3.4.2/lib/python3.4/site-packages/pip/commands/uninstall.py +0 -59
  337. package/python3.4.2/lib/python3.4/site-packages/pip/commands/unzip.py +0 -7
  338. package/python3.4.2/lib/python3.4/site-packages/pip/commands/wheel.py +0 -195
  339. package/python3.4.2/lib/python3.4/site-packages/pip/commands/zip.py +0 -351
  340. package/python3.4.2/lib/python3.4/site-packages/pip/download.py +0 -644
  341. package/python3.4.2/lib/python3.4/site-packages/pip/exceptions.py +0 -46
  342. package/python3.4.2/lib/python3.4/site-packages/pip/index.py +0 -990
  343. package/python3.4.2/lib/python3.4/site-packages/pip/locations.py +0 -171
  344. package/python3.4.2/lib/python3.4/site-packages/pip/log.py +0 -276
  345. package/python3.4.2/lib/python3.4/site-packages/pip/pep425tags.py +0 -102
  346. package/python3.4.2/lib/python3.4/site-packages/pip/req.py +0 -1931
  347. package/python3.4.2/lib/python3.4/site-packages/pip/runner.py +0 -18
  348. package/python3.4.2/lib/python3.4/site-packages/pip/util.py +0 -720
  349. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/__init__.py +0 -251
  350. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/bazaar.py +0 -131
  351. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/git.py +0 -194
  352. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/mercurial.py +0 -151
  353. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/subversion.py +0 -273
  354. package/python3.4.2/lib/python3.4/site-packages/pip/wheel.py +0 -560
@@ -0,0 +1,343 @@
1
+ from __future__ import absolute_import
2
+
3
+ import json
4
+ import logging
5
+ import warnings
6
+
7
+ from pip._vendor import six
8
+ from pip._vendor.six.moves import zip_longest
9
+
10
+ from pip._internal.basecommand import Command
11
+ from pip._internal.cmdoptions import index_group, make_option_group
12
+ from pip._internal.exceptions import CommandError
13
+ from pip._internal.index import PackageFinder
14
+ from pip._internal.utils.deprecation import RemovedInPip11Warning
15
+ from pip._internal.utils.misc import (
16
+ dist_is_editable, get_installed_distributions,
17
+ )
18
+ from pip._internal.utils.packaging import get_installer
19
+
20
+ logger = logging.getLogger(__name__)
21
+
22
+
23
+ class ListCommand(Command):
24
+ """
25
+ List installed packages, including editables.
26
+
27
+ Packages are listed in a case-insensitive sorted order.
28
+ """
29
+ name = 'list'
30
+ usage = """
31
+ %prog [options]"""
32
+ summary = 'List installed packages.'
33
+
34
+ def __init__(self, *args, **kw):
35
+ super(ListCommand, self).__init__(*args, **kw)
36
+
37
+ cmd_opts = self.cmd_opts
38
+
39
+ cmd_opts.add_option(
40
+ '-o', '--outdated',
41
+ action='store_true',
42
+ default=False,
43
+ help='List outdated packages')
44
+ cmd_opts.add_option(
45
+ '-u', '--uptodate',
46
+ action='store_true',
47
+ default=False,
48
+ help='List uptodate packages')
49
+ cmd_opts.add_option(
50
+ '-e', '--editable',
51
+ action='store_true',
52
+ default=False,
53
+ help='List editable projects.')
54
+ cmd_opts.add_option(
55
+ '-l', '--local',
56
+ action='store_true',
57
+ default=False,
58
+ help=('If in a virtualenv that has global access, do not list '
59
+ 'globally-installed packages.'),
60
+ )
61
+ self.cmd_opts.add_option(
62
+ '--user',
63
+ dest='user',
64
+ action='store_true',
65
+ default=False,
66
+ help='Only output packages installed in user-site.')
67
+
68
+ cmd_opts.add_option(
69
+ '--pre',
70
+ action='store_true',
71
+ default=False,
72
+ help=("Include pre-release and development versions. By default, "
73
+ "pip only finds stable versions."),
74
+ )
75
+
76
+ cmd_opts.add_option(
77
+ '--format',
78
+ action='store',
79
+ dest='list_format',
80
+ default="columns",
81
+ choices=('legacy', 'columns', 'freeze', 'json'),
82
+ help="Select the output format among: columns (default), freeze, "
83
+ "json, or legacy.",
84
+ )
85
+
86
+ cmd_opts.add_option(
87
+ '--not-required',
88
+ action='store_true',
89
+ dest='not_required',
90
+ help="List packages that are not dependencies of "
91
+ "installed packages.",
92
+ )
93
+
94
+ cmd_opts.add_option(
95
+ '--exclude-editable',
96
+ action='store_false',
97
+ dest='include_editable',
98
+ help='Exclude editable package from output.',
99
+ )
100
+ cmd_opts.add_option(
101
+ '--include-editable',
102
+ action='store_true',
103
+ dest='include_editable',
104
+ help='Include editable package from output.',
105
+ default=True,
106
+ )
107
+ index_opts = make_option_group(index_group, self.parser)
108
+
109
+ self.parser.insert_option_group(0, index_opts)
110
+ self.parser.insert_option_group(0, cmd_opts)
111
+
112
+ def _build_package_finder(self, options, index_urls, session):
113
+ """
114
+ Create a package finder appropriate to this list command.
115
+ """
116
+ return PackageFinder(
117
+ find_links=options.find_links,
118
+ index_urls=index_urls,
119
+ allow_all_prereleases=options.pre,
120
+ trusted_hosts=options.trusted_hosts,
121
+ process_dependency_links=options.process_dependency_links,
122
+ session=session,
123
+ )
124
+
125
+ def run(self, options, args):
126
+ if options.list_format == "legacy":
127
+ warnings.warn(
128
+ "The legacy format has been deprecated and will be removed "
129
+ "in the future.",
130
+ RemovedInPip11Warning,
131
+ )
132
+
133
+ if options.outdated and options.uptodate:
134
+ raise CommandError(
135
+ "Options --outdated and --uptodate cannot be combined.")
136
+
137
+ packages = get_installed_distributions(
138
+ local_only=options.local,
139
+ user_only=options.user,
140
+ editables_only=options.editable,
141
+ include_editables=options.include_editable,
142
+ )
143
+
144
+ if options.outdated:
145
+ packages = self.get_outdated(packages, options)
146
+ elif options.uptodate:
147
+ packages = self.get_uptodate(packages, options)
148
+
149
+ if options.not_required:
150
+ packages = self.get_not_required(packages, options)
151
+
152
+ self.output_package_listing(packages, options)
153
+
154
+ def get_outdated(self, packages, options):
155
+ return [
156
+ dist for dist in self.iter_packages_latest_infos(packages, options)
157
+ if dist.latest_version > dist.parsed_version
158
+ ]
159
+
160
+ def get_uptodate(self, packages, options):
161
+ return [
162
+ dist for dist in self.iter_packages_latest_infos(packages, options)
163
+ if dist.latest_version == dist.parsed_version
164
+ ]
165
+
166
+ def get_not_required(self, packages, options):
167
+ dep_keys = set()
168
+ for dist in packages:
169
+ dep_keys.update(requirement.key for requirement in dist.requires())
170
+ return {pkg for pkg in packages if pkg.key not in dep_keys}
171
+
172
+ def iter_packages_latest_infos(self, packages, options):
173
+ index_urls = [options.index_url] + options.extra_index_urls
174
+ if options.no_index:
175
+ logger.debug('Ignoring indexes: %s', ','.join(index_urls))
176
+ index_urls = []
177
+
178
+ dependency_links = []
179
+ for dist in packages:
180
+ if dist.has_metadata('dependency_links.txt'):
181
+ dependency_links.extend(
182
+ dist.get_metadata_lines('dependency_links.txt'),
183
+ )
184
+
185
+ with self._build_session(options) as session:
186
+ finder = self._build_package_finder(options, index_urls, session)
187
+ finder.add_dependency_links(dependency_links)
188
+
189
+ for dist in packages:
190
+ typ = 'unknown'
191
+ all_candidates = finder.find_all_candidates(dist.key)
192
+ if not options.pre:
193
+ # Remove prereleases
194
+ all_candidates = [candidate for candidate in all_candidates
195
+ if not candidate.version.is_prerelease]
196
+
197
+ if not all_candidates:
198
+ continue
199
+ best_candidate = max(all_candidates,
200
+ key=finder._candidate_sort_key)
201
+ remote_version = best_candidate.version
202
+ if best_candidate.location.is_wheel:
203
+ typ = 'wheel'
204
+ else:
205
+ typ = 'sdist'
206
+ # This is dirty but makes the rest of the code much cleaner
207
+ dist.latest_version = remote_version
208
+ dist.latest_filetype = typ
209
+ yield dist
210
+
211
+ def output_legacy(self, dist, options):
212
+ if options.verbose >= 1:
213
+ return '%s (%s, %s, %s)' % (
214
+ dist.project_name,
215
+ dist.version,
216
+ dist.location,
217
+ get_installer(dist),
218
+ )
219
+ elif dist_is_editable(dist):
220
+ return '%s (%s, %s)' % (
221
+ dist.project_name,
222
+ dist.version,
223
+ dist.location,
224
+ )
225
+ else:
226
+ return '%s (%s)' % (dist.project_name, dist.version)
227
+
228
+ def output_legacy_latest(self, dist, options):
229
+ return '%s - Latest: %s [%s]' % (
230
+ self.output_legacy(dist, options),
231
+ dist.latest_version,
232
+ dist.latest_filetype,
233
+ )
234
+
235
+ def output_package_listing(self, packages, options):
236
+ packages = sorted(
237
+ packages,
238
+ key=lambda dist: dist.project_name.lower(),
239
+ )
240
+ if options.list_format == 'columns' and packages:
241
+ data, header = format_for_columns(packages, options)
242
+ self.output_package_listing_columns(data, header)
243
+ elif options.list_format == 'freeze':
244
+ for dist in packages:
245
+ if options.verbose >= 1:
246
+ logger.info("%s==%s (%s)", dist.project_name,
247
+ dist.version, dist.location)
248
+ else:
249
+ logger.info("%s==%s", dist.project_name, dist.version)
250
+ elif options.list_format == 'json':
251
+ logger.info(format_for_json(packages, options))
252
+ elif options.list_format == "legacy":
253
+ for dist in packages:
254
+ if options.outdated:
255
+ logger.info(self.output_legacy_latest(dist, options))
256
+ else:
257
+ logger.info(self.output_legacy(dist, options))
258
+
259
+ def output_package_listing_columns(self, data, header):
260
+ # insert the header first: we need to know the size of column names
261
+ if len(data) > 0:
262
+ data.insert(0, header)
263
+
264
+ pkg_strings, sizes = tabulate(data)
265
+
266
+ # Create and add a separator.
267
+ if len(data) > 0:
268
+ pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes)))
269
+
270
+ for val in pkg_strings:
271
+ logger.info(val)
272
+
273
+
274
+ def tabulate(vals):
275
+ # From pfmoore on GitHub:
276
+ # https://github.com/pypa/pip/issues/3651#issuecomment-216932564
277
+ assert len(vals) > 0
278
+
279
+ sizes = [0] * max(len(x) for x in vals)
280
+ for row in vals:
281
+ sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)]
282
+
283
+ result = []
284
+ for row in vals:
285
+ display = " ".join([str(c).ljust(s) if c is not None else ''
286
+ for s, c in zip_longest(sizes, row)])
287
+ result.append(display)
288
+
289
+ return result, sizes
290
+
291
+
292
+ def format_for_columns(pkgs, options):
293
+ """
294
+ Convert the package data into something usable
295
+ by output_package_listing_columns.
296
+ """
297
+ running_outdated = options.outdated
298
+ # Adjust the header for the `pip list --outdated` case.
299
+ if running_outdated:
300
+ header = ["Package", "Version", "Latest", "Type"]
301
+ else:
302
+ header = ["Package", "Version"]
303
+
304
+ data = []
305
+ if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs):
306
+ header.append("Location")
307
+ if options.verbose >= 1:
308
+ header.append("Installer")
309
+
310
+ for proj in pkgs:
311
+ # if we're working on the 'outdated' list, separate out the
312
+ # latest_version and type
313
+ row = [proj.project_name, proj.version]
314
+
315
+ if running_outdated:
316
+ row.append(proj.latest_version)
317
+ row.append(proj.latest_filetype)
318
+
319
+ if options.verbose >= 1 or dist_is_editable(proj):
320
+ row.append(proj.location)
321
+ if options.verbose >= 1:
322
+ row.append(get_installer(proj))
323
+
324
+ data.append(row)
325
+
326
+ return data, header
327
+
328
+
329
+ def format_for_json(packages, options):
330
+ data = []
331
+ for dist in packages:
332
+ info = {
333
+ 'name': dist.project_name,
334
+ 'version': six.text_type(dist.version),
335
+ }
336
+ if options.verbose >= 1:
337
+ info['location'] = dist.location
338
+ info['installer'] = get_installer(dist)
339
+ if options.outdated:
340
+ info['latest_version'] = six.text_type(dist.latest_version)
341
+ info['latest_filetype'] = dist.latest_filetype
342
+ data.append(info)
343
+ return json.dumps(data)
@@ -0,0 +1,135 @@
1
+ from __future__ import absolute_import
2
+
3
+ import logging
4
+ import sys
5
+ import textwrap
6
+ from collections import OrderedDict
7
+
8
+ from pip._vendor import pkg_resources
9
+ from pip._vendor.packaging.version import parse as parse_version
10
+ # NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is
11
+ # why we ignore the type on this import
12
+ from pip._vendor.six.moves import xmlrpc_client # type: ignore
13
+
14
+ from pip._internal.basecommand import SUCCESS, Command
15
+ from pip._internal.compat import get_terminal_size
16
+ from pip._internal.download import PipXmlrpcTransport
17
+ from pip._internal.exceptions import CommandError
18
+ from pip._internal.models import PyPI
19
+ from pip._internal.status_codes import NO_MATCHES_FOUND
20
+ from pip._internal.utils.logging import indent_log
21
+
22
+ logger = logging.getLogger(__name__)
23
+
24
+
25
+ class SearchCommand(Command):
26
+ """Search for PyPI packages whose name or summary contains <query>."""
27
+ name = 'search'
28
+ usage = """
29
+ %prog [options] <query>"""
30
+ summary = 'Search PyPI for packages.'
31
+ ignore_require_venv = True
32
+
33
+ def __init__(self, *args, **kw):
34
+ super(SearchCommand, self).__init__(*args, **kw)
35
+ self.cmd_opts.add_option(
36
+ '-i', '--index',
37
+ dest='index',
38
+ metavar='URL',
39
+ default=PyPI.pypi_url,
40
+ help='Base URL of Python Package Index (default %default)')
41
+
42
+ self.parser.insert_option_group(0, self.cmd_opts)
43
+
44
+ def run(self, options, args):
45
+ if not args:
46
+ raise CommandError('Missing required argument (search query).')
47
+ query = args
48
+ pypi_hits = self.search(query, options)
49
+ hits = transform_hits(pypi_hits)
50
+
51
+ terminal_width = None
52
+ if sys.stdout.isatty():
53
+ terminal_width = get_terminal_size()[0]
54
+
55
+ print_results(hits, terminal_width=terminal_width)
56
+ if pypi_hits:
57
+ return SUCCESS
58
+ return NO_MATCHES_FOUND
59
+
60
+ def search(self, query, options):
61
+ index_url = options.index
62
+ with self._build_session(options) as session:
63
+ transport = PipXmlrpcTransport(index_url, session)
64
+ pypi = xmlrpc_client.ServerProxy(index_url, transport)
65
+ hits = pypi.search({'name': query, 'summary': query}, 'or')
66
+ return hits
67
+
68
+
69
+ def transform_hits(hits):
70
+ """
71
+ The list from pypi is really a list of versions. We want a list of
72
+ packages with the list of versions stored inline. This converts the
73
+ list from pypi into one we can use.
74
+ """
75
+ packages = OrderedDict()
76
+ for hit in hits:
77
+ name = hit['name']
78
+ summary = hit['summary']
79
+ version = hit['version']
80
+
81
+ if name not in packages.keys():
82
+ packages[name] = {
83
+ 'name': name,
84
+ 'summary': summary,
85
+ 'versions': [version],
86
+ }
87
+ else:
88
+ packages[name]['versions'].append(version)
89
+
90
+ # if this is the highest version, replace summary and score
91
+ if version == highest_version(packages[name]['versions']):
92
+ packages[name]['summary'] = summary
93
+
94
+ return list(packages.values())
95
+
96
+
97
+ def print_results(hits, name_column_width=None, terminal_width=None):
98
+ if not hits:
99
+ return
100
+ if name_column_width is None:
101
+ name_column_width = max([
102
+ len(hit['name']) + len(highest_version(hit.get('versions', ['-'])))
103
+ for hit in hits
104
+ ]) + 4
105
+
106
+ installed_packages = [p.project_name for p in pkg_resources.working_set]
107
+ for hit in hits:
108
+ name = hit['name']
109
+ summary = hit['summary'] or ''
110
+ latest = highest_version(hit.get('versions', ['-']))
111
+ if terminal_width is not None:
112
+ target_width = terminal_width - name_column_width - 5
113
+ if target_width > 10:
114
+ # wrap and indent summary to fit terminal
115
+ summary = textwrap.wrap(summary, target_width)
116
+ summary = ('\n' + ' ' * (name_column_width + 3)).join(summary)
117
+
118
+ line = '%-*s - %s' % (name_column_width,
119
+ '%s (%s)' % (name, latest), summary)
120
+ try:
121
+ logger.info(line)
122
+ if name in installed_packages:
123
+ dist = pkg_resources.get_distribution(name)
124
+ with indent_log():
125
+ if dist.version == latest:
126
+ logger.info('INSTALLED: %s (latest)', dist.version)
127
+ else:
128
+ logger.info('INSTALLED: %s', dist.version)
129
+ logger.info('LATEST: %s', latest)
130
+ except UnicodeEncodeError:
131
+ pass
132
+
133
+
134
+ def highest_version(versions):
135
+ return max(versions, key=parse_version)
@@ -0,0 +1,164 @@
1
+ from __future__ import absolute_import
2
+
3
+ import logging
4
+ import os
5
+ from email.parser import FeedParser # type: ignore
6
+
7
+ from pip._vendor import pkg_resources
8
+ from pip._vendor.packaging.utils import canonicalize_name
9
+
10
+ from pip._internal.basecommand import Command
11
+ from pip._internal.status_codes import ERROR, SUCCESS
12
+
13
+ logger = logging.getLogger(__name__)
14
+
15
+
16
+ class ShowCommand(Command):
17
+ """Show information about one or more installed packages."""
18
+ name = 'show'
19
+ usage = """
20
+ %prog [options] <package> ..."""
21
+ summary = 'Show information about installed packages.'
22
+ ignore_require_venv = True
23
+
24
+ def __init__(self, *args, **kw):
25
+ super(ShowCommand, self).__init__(*args, **kw)
26
+ self.cmd_opts.add_option(
27
+ '-f', '--files',
28
+ dest='files',
29
+ action='store_true',
30
+ default=False,
31
+ help='Show the full list of installed files for each package.')
32
+
33
+ self.parser.insert_option_group(0, self.cmd_opts)
34
+
35
+ def run(self, options, args):
36
+ if not args:
37
+ logger.warning('ERROR: Please provide a package name or names.')
38
+ return ERROR
39
+ query = args
40
+
41
+ results = search_packages_info(query)
42
+ if not print_results(
43
+ results, list_files=options.files, verbose=options.verbose):
44
+ return ERROR
45
+ return SUCCESS
46
+
47
+
48
+ def search_packages_info(query):
49
+ """
50
+ Gather details from installed distributions. Print distribution name,
51
+ version, location, and installed files. Installed files requires a
52
+ pip generated 'installed-files.txt' in the distributions '.egg-info'
53
+ directory.
54
+ """
55
+ installed = {}
56
+ for p in pkg_resources.working_set:
57
+ installed[canonicalize_name(p.project_name)] = p
58
+
59
+ query_names = [canonicalize_name(name) for name in query]
60
+
61
+ for dist in [installed[pkg] for pkg in query_names if pkg in installed]:
62
+ package = {
63
+ 'name': dist.project_name,
64
+ 'version': dist.version,
65
+ 'location': dist.location,
66
+ 'requires': [dep.project_name for dep in dist.requires()],
67
+ }
68
+ file_list = None
69
+ metadata = None
70
+ if isinstance(dist, pkg_resources.DistInfoDistribution):
71
+ # RECORDs should be part of .dist-info metadatas
72
+ if dist.has_metadata('RECORD'):
73
+ lines = dist.get_metadata_lines('RECORD')
74
+ paths = [l.split(',')[0] for l in lines]
75
+ paths = [os.path.join(dist.location, p) for p in paths]
76
+ file_list = [os.path.relpath(p, dist.location) for p in paths]
77
+
78
+ if dist.has_metadata('METADATA'):
79
+ metadata = dist.get_metadata('METADATA')
80
+ else:
81
+ # Otherwise use pip's log for .egg-info's
82
+ if dist.has_metadata('installed-files.txt'):
83
+ paths = dist.get_metadata_lines('installed-files.txt')
84
+ paths = [os.path.join(dist.egg_info, p) for p in paths]
85
+ file_list = [os.path.relpath(p, dist.location) for p in paths]
86
+
87
+ if dist.has_metadata('PKG-INFO'):
88
+ metadata = dist.get_metadata('PKG-INFO')
89
+
90
+ if dist.has_metadata('entry_points.txt'):
91
+ entry_points = dist.get_metadata_lines('entry_points.txt')
92
+ package['entry_points'] = entry_points
93
+
94
+ if dist.has_metadata('INSTALLER'):
95
+ for line in dist.get_metadata_lines('INSTALLER'):
96
+ if line.strip():
97
+ package['installer'] = line.strip()
98
+ break
99
+
100
+ # @todo: Should pkg_resources.Distribution have a
101
+ # `get_pkg_info` method?
102
+ feed_parser = FeedParser()
103
+ feed_parser.feed(metadata)
104
+ pkg_info_dict = feed_parser.close()
105
+ for key in ('metadata-version', 'summary',
106
+ 'home-page', 'author', 'author-email', 'license'):
107
+ package[key] = pkg_info_dict.get(key)
108
+
109
+ # It looks like FeedParser cannot deal with repeated headers
110
+ classifiers = []
111
+ for line in metadata.splitlines():
112
+ if line.startswith('Classifier: '):
113
+ classifiers.append(line[len('Classifier: '):])
114
+ package['classifiers'] = classifiers
115
+
116
+ if file_list:
117
+ package['files'] = sorted(file_list)
118
+ yield package
119
+
120
+
121
+ def print_results(distributions, list_files=False, verbose=False):
122
+ """
123
+ Print the informations from installed distributions found.
124
+ """
125
+ results_printed = False
126
+ for i, dist in enumerate(distributions):
127
+ results_printed = True
128
+ if i > 0:
129
+ logger.info("---")
130
+
131
+ name = dist.get('name', '')
132
+ required_by = [
133
+ pkg.project_name for pkg in pkg_resources.working_set
134
+ if name in [required.name for required in pkg.requires()]
135
+ ]
136
+
137
+ logger.info("Name: %s", name)
138
+ logger.info("Version: %s", dist.get('version', ''))
139
+ logger.info("Summary: %s", dist.get('summary', ''))
140
+ logger.info("Home-page: %s", dist.get('home-page', ''))
141
+ logger.info("Author: %s", dist.get('author', ''))
142
+ logger.info("Author-email: %s", dist.get('author-email', ''))
143
+ logger.info("License: %s", dist.get('license', ''))
144
+ logger.info("Location: %s", dist.get('location', ''))
145
+ logger.info("Requires: %s", ', '.join(dist.get('requires', [])))
146
+ logger.info("Required-by: %s", ', '.join(required_by))
147
+
148
+ if verbose:
149
+ logger.info("Metadata-Version: %s",
150
+ dist.get('metadata-version', ''))
151
+ logger.info("Installer: %s", dist.get('installer', ''))
152
+ logger.info("Classifiers:")
153
+ for classifier in dist.get('classifiers', []):
154
+ logger.info(" %s", classifier)
155
+ logger.info("Entry-points:")
156
+ for entry in dist.get('entry_points', []):
157
+ logger.info(" %s", entry.strip())
158
+ if list_files:
159
+ logger.info("Files:")
160
+ for line in dist.get('files', []):
161
+ logger.info(" %s", line.strip())
162
+ if "files" not in dist:
163
+ logger.info("Cannot locate installed-files.txt")
164
+ return results_printed