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
@@ -1,560 +0,0 @@
1
- """
2
- Support for installing and building the "wheel" binary package format.
3
- """
4
- from __future__ import with_statement
5
-
6
- import compileall
7
- import csv
8
- import functools
9
- import hashlib
10
- import os
11
- import re
12
- import shutil
13
- import sys
14
-
15
- from base64 import urlsafe_b64encode
16
- from email.parser import Parser
17
-
18
- from pip.backwardcompat import ConfigParser, StringIO
19
- from pip.exceptions import InvalidWheelFilename, UnsupportedWheel
20
- from pip.locations import distutils_scheme
21
- from pip.log import logger
22
- from pip import pep425tags
23
- from pip.util import call_subprocess, normalize_path, make_path_relative
24
- from pip._vendor import pkg_resources
25
- from pip._vendor.distlib.scripts import ScriptMaker
26
- from pip._vendor import pkg_resources
27
-
28
-
29
- wheel_ext = '.whl'
30
-
31
- VERSION_COMPATIBLE = (1, 0)
32
-
33
-
34
- def rehash(path, algo='sha256', blocksize=1<<20):
35
- """Return (hash, length) for path using hashlib.new(algo)"""
36
- h = hashlib.new(algo)
37
- length = 0
38
- with open(path, 'rb') as f:
39
- block = f.read(blocksize)
40
- while block:
41
- length += len(block)
42
- h.update(block)
43
- block = f.read(blocksize)
44
- digest = 'sha256='+urlsafe_b64encode(h.digest()).decode('latin1').rstrip('=')
45
- return (digest, length)
46
-
47
- try:
48
- unicode
49
- def binary(s):
50
- if isinstance(s, unicode):
51
- return s.encode('ascii')
52
- return s
53
- except NameError:
54
- def binary(s):
55
- if isinstance(s, str):
56
- return s.encode('ascii')
57
-
58
- def open_for_csv(name, mode):
59
- if sys.version_info[0] < 3:
60
- nl = {}
61
- bin = 'b'
62
- else:
63
- nl = { 'newline': '' }
64
- bin = ''
65
- return open(name, mode + bin, **nl)
66
-
67
- def fix_script(path):
68
- """Replace #!python with #!/path/to/python
69
- Return True if file was changed."""
70
- # XXX RECORD hashes will need to be updated
71
- if os.path.isfile(path):
72
- script = open(path, 'rb')
73
- try:
74
- firstline = script.readline()
75
- if not firstline.startswith(binary('#!python')):
76
- return False
77
- exename = sys.executable.encode(sys.getfilesystemencoding())
78
- firstline = binary('#!') + exename + binary(os.linesep)
79
- rest = script.read()
80
- finally:
81
- script.close()
82
- script = open(path, 'wb')
83
- try:
84
- script.write(firstline)
85
- script.write(rest)
86
- finally:
87
- script.close()
88
- return True
89
-
90
- dist_info_re = re.compile(r"""^(?P<namever>(?P<name>.+?)(-(?P<ver>\d.+?))?)
91
- \.dist-info$""", re.VERBOSE)
92
-
93
- def root_is_purelib(name, wheeldir):
94
- """
95
- Return True if the extracted wheel in wheeldir should go into purelib.
96
- """
97
- name_folded = name.replace("-", "_")
98
- for item in os.listdir(wheeldir):
99
- match = dist_info_re.match(item)
100
- if match and match.group('name') == name_folded:
101
- with open(os.path.join(wheeldir, item, 'WHEEL')) as wheel:
102
- for line in wheel:
103
- line = line.lower().rstrip()
104
- if line == "root-is-purelib: true":
105
- return True
106
- return False
107
-
108
-
109
- def get_entrypoints(filename):
110
- if not os.path.exists(filename):
111
- return {}, {}
112
-
113
- # This is done because you can pass a string to entry_points wrappers which
114
- # means that they may or may not be valid INI files. The attempt here is to
115
- # strip leading and trailing whitespace in order to make them valid INI
116
- # files.
117
- with open(filename) as fp:
118
- data = StringIO()
119
- for line in fp:
120
- data.write(line.strip())
121
- data.write("\n")
122
- data.seek(0)
123
-
124
- cp = ConfigParser.RawConfigParser()
125
- cp.readfp(data)
126
-
127
- console = {}
128
- gui = {}
129
- if cp.has_section('console_scripts'):
130
- console = dict(cp.items('console_scripts'))
131
- if cp.has_section('gui_scripts'):
132
- gui = dict(cp.items('gui_scripts'))
133
- return console, gui
134
-
135
-
136
- def move_wheel_files(name, req, wheeldir, user=False, home=None, root=None,
137
- pycompile=True, scheme=None):
138
- """Install a wheel"""
139
-
140
- if not scheme:
141
- scheme = distutils_scheme(name, user=user, home=home, root=root)
142
-
143
- if root_is_purelib(name, wheeldir):
144
- lib_dir = scheme['purelib']
145
- else:
146
- lib_dir = scheme['platlib']
147
-
148
- info_dir = []
149
- data_dirs = []
150
- source = wheeldir.rstrip(os.path.sep) + os.path.sep
151
-
152
- # Record details of the files moved
153
- # installed = files copied from the wheel to the destination
154
- # changed = files changed while installing (scripts #! line typically)
155
- # generated = files newly generated during the install (script wrappers)
156
- installed = {}
157
- changed = set()
158
- generated = []
159
-
160
- # Compile all of the pyc files that we're going to be installing
161
- if pycompile:
162
- compileall.compile_dir(source, force=True, quiet=True)
163
-
164
- def normpath(src, p):
165
- return make_path_relative(src, p).replace(os.path.sep, '/')
166
-
167
- def record_installed(srcfile, destfile, modified=False):
168
- """Map archive RECORD paths to installation RECORD paths."""
169
- oldpath = normpath(srcfile, wheeldir)
170
- newpath = normpath(destfile, lib_dir)
171
- installed[oldpath] = newpath
172
- if modified:
173
- changed.add(destfile)
174
-
175
- def clobber(source, dest, is_base, fixer=None, filter=None):
176
- if not os.path.exists(dest): # common for the 'include' path
177
- os.makedirs(dest)
178
-
179
- for dir, subdirs, files in os.walk(source):
180
- basedir = dir[len(source):].lstrip(os.path.sep)
181
- destdir = os.path.join(dest, basedir)
182
- if is_base and basedir.split(os.path.sep, 1)[0].endswith('.data'):
183
- continue
184
- for s in subdirs:
185
- destsubdir = os.path.join(dest, basedir, s)
186
- if is_base and basedir == '' and destsubdir.endswith('.data'):
187
- data_dirs.append(s)
188
- continue
189
- elif (is_base
190
- and s.endswith('.dist-info')
191
- # is self.req.project_name case preserving?
192
- and s.lower().startswith(req.project_name.replace('-', '_').lower())):
193
- assert not info_dir, 'Multiple .dist-info directories'
194
- info_dir.append(destsubdir)
195
- for f in files:
196
- # Skip unwanted files
197
- if filter and filter(f):
198
- continue
199
- srcfile = os.path.join(dir, f)
200
- destfile = os.path.join(dest, basedir, f)
201
- # directory creation is lazy and after the file filtering above
202
- # to ensure we don't install empty dirs; empty dirs can't be
203
- # uninstalled.
204
- if not os.path.exists(destdir):
205
- os.makedirs(destdir)
206
- # use copy2 (not move) to be extra sure we're not moving
207
- # directories over; copy2 fails for directories. this would
208
- # fail tests (not during released/user execution)
209
- shutil.copy2(srcfile, destfile)
210
- changed = False
211
- if fixer:
212
- changed = fixer(destfile)
213
- record_installed(srcfile, destfile, changed)
214
-
215
- clobber(source, lib_dir, True)
216
-
217
- assert info_dir, "%s .dist-info directory not found" % req
218
-
219
- # Get the defined entry points
220
- ep_file = os.path.join(info_dir[0], 'entry_points.txt')
221
- console, gui = get_entrypoints(ep_file)
222
-
223
- def is_entrypoint_wrapper(name):
224
- # EP, EP.exe and EP-script.py are scripts generated for
225
- # entry point EP by setuptools
226
- if name.lower().endswith('.exe'):
227
- matchname = name[:-4]
228
- elif name.lower().endswith('-script.py'):
229
- matchname = name[:-10]
230
- elif name.lower().endswith(".pya"):
231
- matchname = name[:-4]
232
- else:
233
- matchname = name
234
- # Ignore setuptools-generated scripts
235
- return (matchname in console or matchname in gui)
236
-
237
- for datadir in data_dirs:
238
- fixer = None
239
- filter = None
240
- for subdir in os.listdir(os.path.join(wheeldir, datadir)):
241
- fixer = None
242
- if subdir == 'scripts':
243
- fixer = fix_script
244
- filter = is_entrypoint_wrapper
245
- source = os.path.join(wheeldir, datadir, subdir)
246
- dest = scheme[subdir]
247
- clobber(source, dest, False, fixer=fixer, filter=filter)
248
-
249
- maker = ScriptMaker(None, scheme['scripts'])
250
-
251
- # Ensure we don't generate any variants for scripts because this is almost
252
- # never what somebody wants.
253
- # See https://bitbucket.org/pypa/distlib/issue/35/
254
- maker.variants = set(('', ))
255
-
256
- # This is required because otherwise distlib creates scripts that are not
257
- # executable.
258
- # See https://bitbucket.org/pypa/distlib/issue/32/
259
- maker.set_mode = True
260
-
261
- # Simplify the script and fix the fact that the default script swallows
262
- # every single stack trace.
263
- # See https://bitbucket.org/pypa/distlib/issue/34/
264
- # See https://bitbucket.org/pypa/distlib/issue/33/
265
- def _get_script_text(entry):
266
- return maker.script_template % {
267
- "module": entry.prefix,
268
- "import_name": entry.suffix.split(".")[0],
269
- "func": entry.suffix,
270
- }
271
-
272
- maker._get_script_text = _get_script_text
273
- maker.script_template = """# -*- coding: utf-8 -*-
274
- import re
275
- import sys
276
-
277
- from %(module)s import %(import_name)s
278
-
279
- if __name__ == '__main__':
280
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
281
- sys.exit(%(func)s())
282
- """
283
-
284
- # Special case pip and setuptools to generate versioned wrappers
285
- #
286
- # The issue is that some projects (specifically, pip and setuptools) use
287
- # code in setup.py to create "versioned" entry points - pip2.7 on Python
288
- # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into
289
- # the wheel metadata at build time, and so if the wheel is installed with
290
- # a *different* version of Python the entry points will be wrong. The
291
- # correct fix for this is to enhance the metadata to be able to describe
292
- # such versioned entry points, but that won't happen till Metadata 2.0 is
293
- # available.
294
- # In the meantime, projects using versioned entry points will either have
295
- # incorrect versioned entry points, or they will not be able to distribute
296
- # "universal" wheels (i.e., they will need a wheel per Python version).
297
- #
298
- # Because setuptools and pip are bundled with _ensurepip and virtualenv,
299
- # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we
300
- # override the versioned entry points in the wheel and generate the
301
- # correct ones. This code is purely a short-term measure until Metadat 2.0
302
- # is available.
303
- #
304
- # To add the level of hack in this section of code, in order to support
305
- # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment
306
- # variable which will control which version scripts get installed.
307
- #
308
- # ENSUREPIP_OPTIONS=altinstall
309
- # - Only pipX.Y and easy_install-X.Y will be generated and installed
310
- # ENSUREPIP_OPTIONS=install
311
- # - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note
312
- # that this option is technically if ENSUREPIP_OPTIONS is set and is
313
- # not altinstall
314
- # DEFAULT
315
- # - The default behavior is to install pip, pipX, pipX.Y, easy_install
316
- # and easy_install-X.Y.
317
- pip_script = console.pop('pip', None)
318
- if pip_script:
319
- if "ENSUREPIP_OPTIONS" not in os.environ:
320
- spec = 'pip = ' + pip_script
321
- generated.extend(maker.make(spec))
322
-
323
- if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall":
324
- spec = 'pip%s = %s' % (sys.version[:1], pip_script)
325
- generated.extend(maker.make(spec))
326
-
327
- spec = 'pip%s = %s' % (sys.version[:3], pip_script)
328
- generated.extend(maker.make(spec))
329
- # Delete any other versioned pip entry points
330
- pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)]
331
- for k in pip_ep:
332
- del console[k]
333
- easy_install_script = console.pop('easy_install', None)
334
- if easy_install_script:
335
- if "ENSUREPIP_OPTIONS" not in os.environ:
336
- spec = 'easy_install = ' + easy_install_script
337
- generated.extend(maker.make(spec))
338
-
339
- spec = 'easy_install-%s = %s' % (sys.version[:3], easy_install_script)
340
- generated.extend(maker.make(spec))
341
- # Delete any other versioned easy_install entry points
342
- easy_install_ep = [k for k in console
343
- if re.match(r'easy_install(-\d\.\d)?$', k)]
344
- for k in easy_install_ep:
345
- del console[k]
346
-
347
- # Generate the console and GUI entry points specified in the wheel
348
- if len(console) > 0:
349
- generated.extend(maker.make_multiple(['%s = %s' % kv for kv in console.items()]))
350
- if len(gui) > 0:
351
- generated.extend(maker.make_multiple(['%s = %s' % kv for kv in gui.items()], {'gui': True}))
352
-
353
- record = os.path.join(info_dir[0], 'RECORD')
354
- temp_record = os.path.join(info_dir[0], 'RECORD.pip')
355
- with open_for_csv(record, 'r') as record_in:
356
- with open_for_csv(temp_record, 'w+') as record_out:
357
- reader = csv.reader(record_in)
358
- writer = csv.writer(record_out)
359
- for row in reader:
360
- row[0] = installed.pop(row[0], row[0])
361
- if row[0] in changed:
362
- row[1], row[2] = rehash(row[0])
363
- writer.writerow(row)
364
- for f in generated:
365
- h, l = rehash(f)
366
- writer.writerow((f, h, l))
367
- for f in installed:
368
- writer.writerow((installed[f], '', ''))
369
- shutil.move(temp_record, record)
370
-
371
- def _unique(fn):
372
- @functools.wraps(fn)
373
- def unique(*args, **kw):
374
- seen = set()
375
- for item in fn(*args, **kw):
376
- if item not in seen:
377
- seen.add(item)
378
- yield item
379
- return unique
380
-
381
- # TODO: this goes somewhere besides the wheel module
382
- @_unique
383
- def uninstallation_paths(dist):
384
- """
385
- Yield all the uninstallation paths for dist based on RECORD-without-.pyc
386
-
387
- Yield paths to all the files in RECORD. For each .py file in RECORD, add
388
- the .pyc in the same directory.
389
-
390
- UninstallPathSet.add() takes care of the __pycache__ .pyc.
391
- """
392
- from pip.req import FakeFile # circular import
393
- r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD')))
394
- for row in r:
395
- path = os.path.join(dist.location, row[0])
396
- yield path
397
- if path.endswith('.py'):
398
- dn, fn = os.path.split(path)
399
- base = fn[:-3]
400
- path = os.path.join(dn, base+'.pyc')
401
- yield path
402
-
403
-
404
- def wheel_version(source_dir):
405
- """
406
- Return the Wheel-Version of an extracted wheel, if possible.
407
-
408
- Otherwise, return False if we couldn't parse / extract it.
409
- """
410
- try:
411
- dist = [d for d in pkg_resources.find_on_path(None, source_dir)][0]
412
-
413
- wheel_data = dist.get_metadata('WHEEL')
414
- wheel_data = Parser().parsestr(wheel_data)
415
-
416
- version = wheel_data['Wheel-Version'].strip()
417
- version = tuple(map(int, version.split('.')))
418
- return version
419
- except:
420
- return False
421
-
422
-
423
- def check_compatibility(version, name):
424
- """
425
- Raises errors or warns if called with an incompatible Wheel-Version.
426
-
427
- Pip should refuse to install a Wheel-Version that's a major series
428
- ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when
429
- installing a version only minor version ahead (e.g 1.2 > 1.1).
430
-
431
- version: a 2-tuple representing a Wheel-Version (Major, Minor)
432
- name: name of wheel or package to raise exception about
433
-
434
- :raises UnsupportedWheel: when an incompatible Wheel-Version is given
435
- """
436
- if not version:
437
- raise UnsupportedWheel(
438
- "%s is in an unsupported or invalid wheel" % name
439
- )
440
- if version[0] > VERSION_COMPATIBLE[0]:
441
- raise UnsupportedWheel(
442
- "%s's Wheel-Version (%s) is not compatible with this version "
443
- "of pip" % (name, '.'.join(map(str, version)))
444
- )
445
- elif version > VERSION_COMPATIBLE:
446
- logger.warn('Installing from a newer Wheel-Version (%s)'
447
- % '.'.join(map(str, version)))
448
-
449
-
450
- class Wheel(object):
451
- """A wheel file"""
452
-
453
- # TODO: maybe move the install code into this class
454
-
455
- wheel_file_re = re.compile(
456
- r"""^(?P<namever>(?P<name>.+?)-(?P<ver>\d.*?))
457
- ((-(?P<build>\d.*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?)
458
- \.whl|\.dist-info)$""",
459
- re.VERBOSE)
460
-
461
- def __init__(self, filename):
462
- """
463
- :raises InvalidWheelFilename: when the filename is invalid for a wheel
464
- """
465
- wheel_info = self.wheel_file_re.match(filename)
466
- if not wheel_info:
467
- raise InvalidWheelFilename("%s is not a valid wheel filename." % filename)
468
- self.filename = filename
469
- self.name = wheel_info.group('name').replace('_', '-')
470
- # we'll assume "_" means "-" due to wheel naming scheme
471
- # (https://github.com/pypa/pip/issues/1150)
472
- self.version = wheel_info.group('ver').replace('_', '-')
473
- self.pyversions = wheel_info.group('pyver').split('.')
474
- self.abis = wheel_info.group('abi').split('.')
475
- self.plats = wheel_info.group('plat').split('.')
476
-
477
- # All the tag combinations from this file
478
- self.file_tags = set((x, y, z) for x in self.pyversions for y
479
- in self.abis for z in self.plats)
480
-
481
- def support_index_min(self, tags=None):
482
- """
483
- Return the lowest index that one of the wheel's file_tag combinations
484
- achieves in the supported_tags list e.g. if there are 8 supported tags,
485
- and one of the file tags is first in the list, then return 0. Returns
486
- None is the wheel is not supported.
487
- """
488
- if tags is None: # for mock
489
- tags = pep425tags.supported_tags
490
- indexes = [tags.index(c) for c in self.file_tags if c in tags]
491
- return min(indexes) if indexes else None
492
-
493
- def supported(self, tags=None):
494
- """Is this wheel supported on this system?"""
495
- if tags is None: # for mock
496
- tags = pep425tags.supported_tags
497
- return bool(set(tags).intersection(self.file_tags))
498
-
499
-
500
- class WheelBuilder(object):
501
- """Build wheels from a RequirementSet."""
502
-
503
- def __init__(self, requirement_set, finder, wheel_dir, build_options=[], global_options=[]):
504
- self.requirement_set = requirement_set
505
- self.finder = finder
506
- self.wheel_dir = normalize_path(wheel_dir)
507
- self.build_options = build_options
508
- self.global_options = global_options
509
-
510
- def _build_one(self, req):
511
- """Build one wheel."""
512
-
513
- base_args = [
514
- sys.executable, '-c',
515
- "import setuptools;__file__=%r;"\
516
- "exec(compile(open(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))" % req.setup_py] + \
517
- list(self.global_options)
518
-
519
- logger.notify('Running setup.py bdist_wheel for %s' % req.name)
520
- logger.notify('Destination directory: %s' % self.wheel_dir)
521
- wheel_args = base_args + ['bdist_wheel', '-d', self.wheel_dir] + self.build_options
522
- try:
523
- call_subprocess(wheel_args, cwd=req.source_dir, show_stdout=False)
524
- return True
525
- except:
526
- logger.error('Failed building wheel for %s' % req.name)
527
- return False
528
-
529
- def build(self):
530
- """Build wheels."""
531
-
532
- #unpack and constructs req set
533
- self.requirement_set.prepare_files(self.finder)
534
-
535
- reqset = self.requirement_set.requirements.values()
536
-
537
- buildset = [req for req in reqset if not req.is_wheel]
538
-
539
- if not buildset:
540
- return
541
-
542
- #build the wheels
543
- logger.notify(
544
- 'Building wheels for collected packages: %s' %
545
- ','.join([req.name for req in buildset])
546
- )
547
- logger.indent += 2
548
- build_success, build_failure = [], []
549
- for req in buildset:
550
- if self._build_one(req):
551
- build_success.append(req)
552
- else:
553
- build_failure.append(req)
554
- logger.indent -= 2
555
-
556
- #notify sucess/failure
557
- if build_success:
558
- logger.notify('Successfully built %s' % ' '.join([req.name for req in build_success]))
559
- if build_failure:
560
- logger.notify('Failed to build %s' % ' '.join([req.name for req in build_failure]))