cli-ih 0.6.3.1__py3-none-any.whl → 0.7.0__py3-none-any.whl

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 (426) hide show
  1. cli_ih/__init__.py +1 -0
  2. cli_ih/asyncClient.py +73 -10
  3. cli_ih/client.py +63 -18
  4. cli_ih/utils.py +51 -0
  5. {cli_ih-0.6.3.1.dist-info → cli_ih-0.7.0.dist-info}/METADATA +1 -1
  6. cli_ih-0.7.0.dist-info/RECORD +9 -0
  7. {cli_ih-0.6.3.1.dist-info → cli_ih-0.7.0.dist-info}/top_level.txt +0 -1
  8. cli_ih-0.6.3.1.dist-info/RECORD +0 -425
  9. venv/Lib/site-packages/__editable___cli_ih_0_6_3_1_finder.py +0 -85
  10. venv/Lib/site-packages/pip/__init__.py +0 -13
  11. venv/Lib/site-packages/pip/__main__.py +0 -24
  12. venv/Lib/site-packages/pip/__pip-runner__.py +0 -50
  13. venv/Lib/site-packages/pip/_internal/__init__.py +0 -18
  14. venv/Lib/site-packages/pip/_internal/build_env.py +0 -349
  15. venv/Lib/site-packages/pip/_internal/cache.py +0 -291
  16. venv/Lib/site-packages/pip/_internal/cli/__init__.py +0 -3
  17. venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +0 -184
  18. venv/Lib/site-packages/pip/_internal/cli/base_command.py +0 -244
  19. venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +0 -1138
  20. venv/Lib/site-packages/pip/_internal/cli/command_context.py +0 -28
  21. venv/Lib/site-packages/pip/_internal/cli/index_command.py +0 -175
  22. venv/Lib/site-packages/pip/_internal/cli/main.py +0 -80
  23. venv/Lib/site-packages/pip/_internal/cli/main_parser.py +0 -134
  24. venv/Lib/site-packages/pip/_internal/cli/parser.py +0 -298
  25. venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +0 -151
  26. venv/Lib/site-packages/pip/_internal/cli/req_command.py +0 -351
  27. venv/Lib/site-packages/pip/_internal/cli/spinners.py +0 -235
  28. venv/Lib/site-packages/pip/_internal/cli/status_codes.py +0 -6
  29. venv/Lib/site-packages/pip/_internal/commands/__init__.py +0 -139
  30. venv/Lib/site-packages/pip/_internal/commands/cache.py +0 -231
  31. venv/Lib/site-packages/pip/_internal/commands/check.py +0 -66
  32. venv/Lib/site-packages/pip/_internal/commands/completion.py +0 -135
  33. venv/Lib/site-packages/pip/_internal/commands/configuration.py +0 -288
  34. venv/Lib/site-packages/pip/_internal/commands/debug.py +0 -203
  35. venv/Lib/site-packages/pip/_internal/commands/download.py +0 -145
  36. venv/Lib/site-packages/pip/_internal/commands/freeze.py +0 -107
  37. venv/Lib/site-packages/pip/_internal/commands/hash.py +0 -58
  38. venv/Lib/site-packages/pip/_internal/commands/help.py +0 -40
  39. venv/Lib/site-packages/pip/_internal/commands/index.py +0 -159
  40. venv/Lib/site-packages/pip/_internal/commands/inspect.py +0 -92
  41. venv/Lib/site-packages/pip/_internal/commands/install.py +0 -798
  42. venv/Lib/site-packages/pip/_internal/commands/list.py +0 -400
  43. venv/Lib/site-packages/pip/_internal/commands/lock.py +0 -170
  44. venv/Lib/site-packages/pip/_internal/commands/search.py +0 -178
  45. venv/Lib/site-packages/pip/_internal/commands/show.py +0 -231
  46. venv/Lib/site-packages/pip/_internal/commands/uninstall.py +0 -113
  47. venv/Lib/site-packages/pip/_internal/commands/wheel.py +0 -181
  48. venv/Lib/site-packages/pip/_internal/configuration.py +0 -397
  49. venv/Lib/site-packages/pip/_internal/distributions/__init__.py +0 -21
  50. venv/Lib/site-packages/pip/_internal/distributions/base.py +0 -55
  51. venv/Lib/site-packages/pip/_internal/distributions/installed.py +0 -33
  52. venv/Lib/site-packages/pip/_internal/distributions/sdist.py +0 -165
  53. venv/Lib/site-packages/pip/_internal/distributions/wheel.py +0 -44
  54. venv/Lib/site-packages/pip/_internal/exceptions.py +0 -881
  55. venv/Lib/site-packages/pip/_internal/index/__init__.py +0 -1
  56. venv/Lib/site-packages/pip/_internal/index/collector.py +0 -489
  57. venv/Lib/site-packages/pip/_internal/index/package_finder.py +0 -1059
  58. venv/Lib/site-packages/pip/_internal/index/sources.py +0 -287
  59. venv/Lib/site-packages/pip/_internal/locations/__init__.py +0 -441
  60. venv/Lib/site-packages/pip/_internal/locations/_distutils.py +0 -173
  61. venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +0 -215
  62. venv/Lib/site-packages/pip/_internal/locations/base.py +0 -82
  63. venv/Lib/site-packages/pip/_internal/main.py +0 -12
  64. venv/Lib/site-packages/pip/_internal/metadata/__init__.py +0 -164
  65. venv/Lib/site-packages/pip/_internal/metadata/_json.py +0 -87
  66. venv/Lib/site-packages/pip/_internal/metadata/base.py +0 -685
  67. venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -6
  68. venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -87
  69. venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -223
  70. venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -143
  71. venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +0 -298
  72. venv/Lib/site-packages/pip/_internal/models/__init__.py +0 -1
  73. venv/Lib/site-packages/pip/_internal/models/candidate.py +0 -25
  74. venv/Lib/site-packages/pip/_internal/models/direct_url.py +0 -227
  75. venv/Lib/site-packages/pip/_internal/models/format_control.py +0 -78
  76. venv/Lib/site-packages/pip/_internal/models/index.py +0 -28
  77. venv/Lib/site-packages/pip/_internal/models/installation_report.py +0 -57
  78. venv/Lib/site-packages/pip/_internal/models/link.py +0 -613
  79. venv/Lib/site-packages/pip/_internal/models/pylock.py +0 -188
  80. venv/Lib/site-packages/pip/_internal/models/scheme.py +0 -25
  81. venv/Lib/site-packages/pip/_internal/models/search_scope.py +0 -126
  82. venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +0 -53
  83. venv/Lib/site-packages/pip/_internal/models/target_python.py +0 -122
  84. venv/Lib/site-packages/pip/_internal/models/wheel.py +0 -141
  85. venv/Lib/site-packages/pip/_internal/network/__init__.py +0 -1
  86. venv/Lib/site-packages/pip/_internal/network/auth.py +0 -564
  87. venv/Lib/site-packages/pip/_internal/network/cache.py +0 -133
  88. venv/Lib/site-packages/pip/_internal/network/download.py +0 -342
  89. venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +0 -213
  90. venv/Lib/site-packages/pip/_internal/network/session.py +0 -528
  91. venv/Lib/site-packages/pip/_internal/network/utils.py +0 -98
  92. venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +0 -61
  93. venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  94. venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  95. venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +0 -140
  96. venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +0 -38
  97. venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  98. venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -73
  99. venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +0 -38
  100. venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -47
  101. venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -119
  102. venv/Lib/site-packages/pip/_internal/operations/check.py +0 -175
  103. venv/Lib/site-packages/pip/_internal/operations/freeze.py +0 -259
  104. venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +0 -1
  105. venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -48
  106. venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +0 -746
  107. venv/Lib/site-packages/pip/_internal/operations/prepare.py +0 -742
  108. venv/Lib/site-packages/pip/_internal/pyproject.py +0 -182
  109. venv/Lib/site-packages/pip/_internal/req/__init__.py +0 -105
  110. venv/Lib/site-packages/pip/_internal/req/constructors.py +0 -562
  111. venv/Lib/site-packages/pip/_internal/req/req_dependency_group.py +0 -75
  112. venv/Lib/site-packages/pip/_internal/req/req_file.py +0 -620
  113. venv/Lib/site-packages/pip/_internal/req/req_install.py +0 -937
  114. venv/Lib/site-packages/pip/_internal/req/req_set.py +0 -81
  115. venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +0 -639
  116. venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  117. venv/Lib/site-packages/pip/_internal/resolution/base.py +0 -20
  118. venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  119. venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -598
  120. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  121. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -142
  122. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -582
  123. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -814
  124. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -166
  125. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -276
  126. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -85
  127. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -247
  128. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -336
  129. venv/Lib/site-packages/pip/_internal/self_outdated_check.py +0 -254
  130. venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  131. venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +0 -109
  132. venv/Lib/site-packages/pip/_internal/utils/_log.py +0 -38
  133. venv/Lib/site-packages/pip/_internal/utils/appdirs.py +0 -52
  134. venv/Lib/site-packages/pip/_internal/utils/compat.py +0 -85
  135. venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +0 -201
  136. venv/Lib/site-packages/pip/_internal/utils/datetime.py +0 -10
  137. venv/Lib/site-packages/pip/_internal/utils/deprecation.py +0 -126
  138. venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  139. venv/Lib/site-packages/pip/_internal/utils/egg_link.py +0 -81
  140. venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +0 -88
  141. venv/Lib/site-packages/pip/_internal/utils/filesystem.py +0 -152
  142. venv/Lib/site-packages/pip/_internal/utils/filetypes.py +0 -24
  143. venv/Lib/site-packages/pip/_internal/utils/glibc.py +0 -102
  144. venv/Lib/site-packages/pip/_internal/utils/hashes.py +0 -150
  145. venv/Lib/site-packages/pip/_internal/utils/logging.py +0 -364
  146. venv/Lib/site-packages/pip/_internal/utils/misc.py +0 -765
  147. venv/Lib/site-packages/pip/_internal/utils/packaging.py +0 -44
  148. venv/Lib/site-packages/pip/_internal/utils/retry.py +0 -45
  149. venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py +0 -149
  150. venv/Lib/site-packages/pip/_internal/utils/subprocess.py +0 -248
  151. venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +0 -294
  152. venv/Lib/site-packages/pip/_internal/utils/unpacking.py +0 -337
  153. venv/Lib/site-packages/pip/_internal/utils/urls.py +0 -55
  154. venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +0 -105
  155. venv/Lib/site-packages/pip/_internal/utils/wheel.py +0 -132
  156. venv/Lib/site-packages/pip/_internal/vcs/__init__.py +0 -15
  157. venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +0 -130
  158. venv/Lib/site-packages/pip/_internal/vcs/git.py +0 -571
  159. venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +0 -186
  160. venv/Lib/site-packages/pip/_internal/vcs/subversion.py +0 -335
  161. venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +0 -693
  162. venv/Lib/site-packages/pip/_internal/wheel_builder.py +0 -334
  163. venv/Lib/site-packages/pip/_vendor/__init__.py +0 -117
  164. venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -29
  165. venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -70
  166. venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -168
  167. venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +0 -75
  168. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -8
  169. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -145
  170. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -48
  171. venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +0 -511
  172. venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -119
  173. venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -157
  174. venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  175. venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -146
  176. venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -43
  177. venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  178. venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  179. venv/Lib/site-packages/pip/_vendor/certifi/core.py +0 -83
  180. venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  181. venv/Lib/site-packages/pip/_vendor/dependency_groups/__init__.py +0 -13
  182. venv/Lib/site-packages/pip/_vendor/dependency_groups/__main__.py +0 -65
  183. venv/Lib/site-packages/pip/_vendor/dependency_groups/_implementation.py +0 -209
  184. venv/Lib/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -59
  185. venv/Lib/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -62
  186. venv/Lib/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +0 -9
  187. venv/Lib/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
  188. venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +0 -33
  189. venv/Lib/site-packages/pip/_vendor/distlib/compat.py +0 -1137
  190. venv/Lib/site-packages/pip/_vendor/distlib/resources.py +0 -358
  191. venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +0 -447
  192. venv/Lib/site-packages/pip/_vendor/distlib/util.py +0 -1984
  193. venv/Lib/site-packages/pip/_vendor/distro/__init__.py +0 -54
  194. venv/Lib/site-packages/pip/_vendor/distro/__main__.py +0 -4
  195. venv/Lib/site-packages/pip/_vendor/distro/distro.py +0 -1403
  196. venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  197. venv/Lib/site-packages/pip/_vendor/idna/__init__.py +0 -45
  198. venv/Lib/site-packages/pip/_vendor/idna/codec.py +0 -122
  199. venv/Lib/site-packages/pip/_vendor/idna/compat.py +0 -15
  200. venv/Lib/site-packages/pip/_vendor/idna/core.py +0 -437
  201. venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +0 -4243
  202. venv/Lib/site-packages/pip/_vendor/idna/intranges.py +0 -57
  203. venv/Lib/site-packages/pip/_vendor/idna/package_data.py +0 -1
  204. venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  205. venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +0 -8681
  206. venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +0 -55
  207. venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  208. venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +0 -170
  209. venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +0 -929
  210. venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +0 -15
  211. venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +0 -109
  212. venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +0 -262
  213. venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +0 -85
  214. venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +0 -353
  215. venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  216. venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -195
  217. venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +0 -145
  218. venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +0 -759
  219. venv/Lib/site-packages/pip/_vendor/packaging/markers.py +0 -362
  220. venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +0 -862
  221. venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  222. venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +0 -91
  223. venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +0 -1019
  224. venv/Lib/site-packages/pip/_vendor/packaging/tags.py +0 -656
  225. venv/Lib/site-packages/pip/_vendor/packaging/utils.py +0 -163
  226. venv/Lib/site-packages/pip/_vendor/packaging/version.py +0 -582
  227. venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3676
  228. venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +0 -631
  229. venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +0 -55
  230. venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +0 -249
  231. venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +0 -299
  232. venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +0 -144
  233. venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  234. venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +0 -272
  235. venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +0 -21
  236. venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +0 -272
  237. venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  238. venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  239. venv/Lib/site-packages/pip/_vendor/pygments/console.py +0 -70
  240. venv/Lib/site-packages/pip/_vendor/pygments/filter.py +0 -70
  241. venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  242. venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +0 -129
  243. venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -157
  244. venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  245. venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +0 -963
  246. venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -362
  247. venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -602
  248. venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1201
  249. venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  250. venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +0 -72
  251. venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  252. venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  253. venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +0 -247
  254. venv/Lib/site-packages/pip/_vendor/pygments/style.py +0 -203
  255. venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -61
  256. venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -54
  257. venv/Lib/site-packages/pip/_vendor/pygments/token.py +0 -214
  258. venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  259. venv/Lib/site-packages/pip/_vendor/pygments/util.py +0 -324
  260. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -31
  261. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -410
  262. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -21
  263. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -389
  264. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  265. venv/Lib/site-packages/pip/_vendor/requests/__init__.py +0 -179
  266. venv/Lib/site-packages/pip/_vendor/requests/__version__.py +0 -14
  267. venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +0 -50
  268. venv/Lib/site-packages/pip/_vendor/requests/adapters.py +0 -719
  269. venv/Lib/site-packages/pip/_vendor/requests/api.py +0 -157
  270. venv/Lib/site-packages/pip/_vendor/requests/auth.py +0 -314
  271. venv/Lib/site-packages/pip/_vendor/requests/certs.py +0 -17
  272. venv/Lib/site-packages/pip/_vendor/requests/compat.py +0 -90
  273. venv/Lib/site-packages/pip/_vendor/requests/cookies.py +0 -561
  274. venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +0 -151
  275. venv/Lib/site-packages/pip/_vendor/requests/help.py +0 -127
  276. venv/Lib/site-packages/pip/_vendor/requests/hooks.py +0 -33
  277. venv/Lib/site-packages/pip/_vendor/requests/models.py +0 -1039
  278. venv/Lib/site-packages/pip/_vendor/requests/packages.py +0 -25
  279. venv/Lib/site-packages/pip/_vendor/requests/sessions.py +0 -831
  280. venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  281. venv/Lib/site-packages/pip/_vendor/requests/structures.py +0 -99
  282. venv/Lib/site-packages/pip/_vendor/requests/utils.py +0 -1086
  283. venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +0 -27
  284. venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +0 -196
  285. venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  286. venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +0 -55
  287. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +0 -27
  288. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +0 -47
  289. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +0 -48
  290. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -57
  291. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +0 -622
  292. venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +0 -209
  293. venv/Lib/site-packages/pip/_vendor/rich/__init__.py +0 -177
  294. venv/Lib/site-packages/pip/_vendor/rich/__main__.py +0 -245
  295. venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +0 -454
  296. venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  297. venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  298. venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +0 -76
  299. venv/Lib/site-packages/pip/_vendor/rich/_extension.py +0 -10
  300. venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +0 -24
  301. venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +0 -268
  302. venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  303. venv/Lib/site-packages/pip/_vendor/rich/_loop.py +0 -43
  304. venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +0 -69
  305. venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  306. venv/Lib/site-packages/pip/_vendor/rich/_pick.py +0 -17
  307. venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +0 -153
  308. venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  309. venv/Lib/site-packages/pip/_vendor/rich/_stack.py +0 -16
  310. venv/Lib/site-packages/pip/_vendor/rich/_timer.py +0 -19
  311. venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +0 -661
  312. venv/Lib/site-packages/pip/_vendor/rich/_windows.py +0 -71
  313. venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  314. venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +0 -93
  315. venv/Lib/site-packages/pip/_vendor/rich/abc.py +0 -33
  316. venv/Lib/site-packages/pip/_vendor/rich/align.py +0 -306
  317. venv/Lib/site-packages/pip/_vendor/rich/ansi.py +0 -241
  318. venv/Lib/site-packages/pip/_vendor/rich/bar.py +0 -93
  319. venv/Lib/site-packages/pip/_vendor/rich/box.py +0 -474
  320. venv/Lib/site-packages/pip/_vendor/rich/cells.py +0 -174
  321. venv/Lib/site-packages/pip/_vendor/rich/color.py +0 -621
  322. venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  323. venv/Lib/site-packages/pip/_vendor/rich/columns.py +0 -187
  324. venv/Lib/site-packages/pip/_vendor/rich/console.py +0 -2680
  325. venv/Lib/site-packages/pip/_vendor/rich/constrain.py +0 -37
  326. venv/Lib/site-packages/pip/_vendor/rich/containers.py +0 -167
  327. venv/Lib/site-packages/pip/_vendor/rich/control.py +0 -219
  328. venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +0 -193
  329. venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +0 -39
  330. venv/Lib/site-packages/pip/_vendor/rich/emoji.py +0 -91
  331. venv/Lib/site-packages/pip/_vendor/rich/errors.py +0 -34
  332. venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +0 -57
  333. venv/Lib/site-packages/pip/_vendor/rich/filesize.py +0 -88
  334. venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  335. venv/Lib/site-packages/pip/_vendor/rich/json.py +0 -139
  336. venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  337. venv/Lib/site-packages/pip/_vendor/rich/layout.py +0 -442
  338. venv/Lib/site-packages/pip/_vendor/rich/live.py +0 -400
  339. venv/Lib/site-packages/pip/_vendor/rich/live_render.py +0 -106
  340. venv/Lib/site-packages/pip/_vendor/rich/logging.py +0 -297
  341. venv/Lib/site-packages/pip/_vendor/rich/markup.py +0 -251
  342. venv/Lib/site-packages/pip/_vendor/rich/measure.py +0 -151
  343. venv/Lib/site-packages/pip/_vendor/rich/padding.py +0 -141
  344. venv/Lib/site-packages/pip/_vendor/rich/pager.py +0 -34
  345. venv/Lib/site-packages/pip/_vendor/rich/palette.py +0 -100
  346. venv/Lib/site-packages/pip/_vendor/rich/panel.py +0 -317
  347. venv/Lib/site-packages/pip/_vendor/rich/pretty.py +0 -1016
  348. venv/Lib/site-packages/pip/_vendor/rich/progress.py +0 -1715
  349. venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +0 -223
  350. venv/Lib/site-packages/pip/_vendor/rich/prompt.py +0 -400
  351. venv/Lib/site-packages/pip/_vendor/rich/protocol.py +0 -42
  352. venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  353. venv/Lib/site-packages/pip/_vendor/rich/region.py +0 -10
  354. venv/Lib/site-packages/pip/_vendor/rich/repr.py +0 -149
  355. venv/Lib/site-packages/pip/_vendor/rich/rule.py +0 -130
  356. venv/Lib/site-packages/pip/_vendor/rich/scope.py +0 -86
  357. venv/Lib/site-packages/pip/_vendor/rich/screen.py +0 -54
  358. venv/Lib/site-packages/pip/_vendor/rich/segment.py +0 -752
  359. venv/Lib/site-packages/pip/_vendor/rich/spinner.py +0 -132
  360. venv/Lib/site-packages/pip/_vendor/rich/status.py +0 -131
  361. venv/Lib/site-packages/pip/_vendor/rich/style.py +0 -796
  362. venv/Lib/site-packages/pip/_vendor/rich/styled.py +0 -42
  363. venv/Lib/site-packages/pip/_vendor/rich/syntax.py +0 -985
  364. venv/Lib/site-packages/pip/_vendor/rich/table.py +0 -1006
  365. venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  366. venv/Lib/site-packages/pip/_vendor/rich/text.py +0 -1361
  367. venv/Lib/site-packages/pip/_vendor/rich/theme.py +0 -115
  368. venv/Lib/site-packages/pip/_vendor/rich/themes.py +0 -5
  369. venv/Lib/site-packages/pip/_vendor/rich/traceback.py +0 -899
  370. venv/Lib/site-packages/pip/_vendor/rich/tree.py +0 -257
  371. venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +0 -8
  372. venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +0 -770
  373. venv/Lib/site-packages/pip/_vendor/tomli/_re.py +0 -112
  374. venv/Lib/site-packages/pip/_vendor/tomli/_types.py +0 -10
  375. venv/Lib/site-packages/pip/_vendor/tomli/py.typed +0 -1
  376. venv/Lib/site-packages/pip/_vendor/tomli_w/__init__.py +0 -4
  377. venv/Lib/site-packages/pip/_vendor/tomli_w/_writer.py +0 -229
  378. venv/Lib/site-packages/pip/_vendor/tomli_w/py.typed +0 -1
  379. venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +0 -36
  380. venv/Lib/site-packages/pip/_vendor/truststore/_api.py +0 -333
  381. venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +0 -571
  382. venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +0 -66
  383. venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -31
  384. venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +0 -567
  385. venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  386. venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  387. venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  388. venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  389. venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +0 -572
  390. venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1140
  391. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  392. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  393. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  394. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  395. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  396. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  397. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  398. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -518
  399. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -920
  400. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  401. venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  402. venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  403. venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  404. venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  405. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  406. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  407. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -155
  408. venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  409. venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -540
  410. venv/Lib/site-packages/pip/_vendor/urllib3/request.py +0 -191
  411. venv/Lib/site-packages/pip/_vendor/urllib3/response.py +0 -879
  412. venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  413. venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  414. venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  415. venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  416. venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  417. venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  418. venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +0 -622
  419. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -504
  420. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  421. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  422. venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -271
  423. venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  424. venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  425. venv/Lib/site-packages/pip/py.typed +0 -4
  426. {cli_ih-0.6.3.1.dist-info → cli_ih-0.7.0.dist-info}/WHEEL +0 -0
@@ -1,157 +0,0 @@
1
- """
2
- requests.api
3
- ~~~~~~~~~~~~
4
-
5
- This module implements the Requests API.
6
-
7
- :copyright: (c) 2012 by Kenneth Reitz.
8
- :license: Apache2, see LICENSE for more details.
9
- """
10
-
11
- from . import sessions
12
-
13
-
14
- def request(method, url, **kwargs):
15
- """Constructs and sends a :class:`Request <Request>`.
16
-
17
- :param method: method for the new :class:`Request` object: ``GET``, ``OPTIONS``, ``HEAD``, ``POST``, ``PUT``, ``PATCH``, or ``DELETE``.
18
- :param url: URL for the new :class:`Request` object.
19
- :param params: (optional) Dictionary, list of tuples or bytes to send
20
- in the query string for the :class:`Request`.
21
- :param data: (optional) Dictionary, list of tuples, bytes, or file-like
22
- object to send in the body of the :class:`Request`.
23
- :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
24
- :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
25
- :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
26
- :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload.
27
- ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')``
28
- or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content_type'`` is a string
29
- defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers
30
- to add for the file.
31
- :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
32
- :param timeout: (optional) How many seconds to wait for the server to send data
33
- before giving up, as a float, or a :ref:`(connect timeout, read
34
- timeout) <timeouts>` tuple.
35
- :type timeout: float or tuple
36
- :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``.
37
- :type allow_redirects: bool
38
- :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
39
- :param verify: (optional) Either a boolean, in which case it controls whether we verify
40
- the server's TLS certificate, or a string, in which case it must be a path
41
- to a CA bundle to use. Defaults to ``True``.
42
- :param stream: (optional) if ``False``, the response content will be immediately downloaded.
43
- :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.
44
- :return: :class:`Response <Response>` object
45
- :rtype: requests.Response
46
-
47
- Usage::
48
-
49
- >>> import requests
50
- >>> req = requests.request('GET', 'https://httpbin.org/get')
51
- >>> req
52
- <Response [200]>
53
- """
54
-
55
- # By using the 'with' statement we are sure the session is closed, thus we
56
- # avoid leaving sockets open which can trigger a ResourceWarning in some
57
- # cases, and look like a memory leak in others.
58
- with sessions.Session() as session:
59
- return session.request(method=method, url=url, **kwargs)
60
-
61
-
62
- def get(url, params=None, **kwargs):
63
- r"""Sends a GET request.
64
-
65
- :param url: URL for the new :class:`Request` object.
66
- :param params: (optional) Dictionary, list of tuples or bytes to send
67
- in the query string for the :class:`Request`.
68
- :param \*\*kwargs: Optional arguments that ``request`` takes.
69
- :return: :class:`Response <Response>` object
70
- :rtype: requests.Response
71
- """
72
-
73
- return request("get", url, params=params, **kwargs)
74
-
75
-
76
- def options(url, **kwargs):
77
- r"""Sends an OPTIONS request.
78
-
79
- :param url: URL for the new :class:`Request` object.
80
- :param \*\*kwargs: Optional arguments that ``request`` takes.
81
- :return: :class:`Response <Response>` object
82
- :rtype: requests.Response
83
- """
84
-
85
- return request("options", url, **kwargs)
86
-
87
-
88
- def head(url, **kwargs):
89
- r"""Sends a HEAD request.
90
-
91
- :param url: URL for the new :class:`Request` object.
92
- :param \*\*kwargs: Optional arguments that ``request`` takes. If
93
- `allow_redirects` is not provided, it will be set to `False` (as
94
- opposed to the default :meth:`request` behavior).
95
- :return: :class:`Response <Response>` object
96
- :rtype: requests.Response
97
- """
98
-
99
- kwargs.setdefault("allow_redirects", False)
100
- return request("head", url, **kwargs)
101
-
102
-
103
- def post(url, data=None, json=None, **kwargs):
104
- r"""Sends a POST request.
105
-
106
- :param url: URL for the new :class:`Request` object.
107
- :param data: (optional) Dictionary, list of tuples, bytes, or file-like
108
- object to send in the body of the :class:`Request`.
109
- :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
110
- :param \*\*kwargs: Optional arguments that ``request`` takes.
111
- :return: :class:`Response <Response>` object
112
- :rtype: requests.Response
113
- """
114
-
115
- return request("post", url, data=data, json=json, **kwargs)
116
-
117
-
118
- def put(url, data=None, **kwargs):
119
- r"""Sends a PUT request.
120
-
121
- :param url: URL for the new :class:`Request` object.
122
- :param data: (optional) Dictionary, list of tuples, bytes, or file-like
123
- object to send in the body of the :class:`Request`.
124
- :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
125
- :param \*\*kwargs: Optional arguments that ``request`` takes.
126
- :return: :class:`Response <Response>` object
127
- :rtype: requests.Response
128
- """
129
-
130
- return request("put", url, data=data, **kwargs)
131
-
132
-
133
- def patch(url, data=None, **kwargs):
134
- r"""Sends a PATCH request.
135
-
136
- :param url: URL for the new :class:`Request` object.
137
- :param data: (optional) Dictionary, list of tuples, bytes, or file-like
138
- object to send in the body of the :class:`Request`.
139
- :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
140
- :param \*\*kwargs: Optional arguments that ``request`` takes.
141
- :return: :class:`Response <Response>` object
142
- :rtype: requests.Response
143
- """
144
-
145
- return request("patch", url, data=data, **kwargs)
146
-
147
-
148
- def delete(url, **kwargs):
149
- r"""Sends a DELETE request.
150
-
151
- :param url: URL for the new :class:`Request` object.
152
- :param \*\*kwargs: Optional arguments that ``request`` takes.
153
- :return: :class:`Response <Response>` object
154
- :rtype: requests.Response
155
- """
156
-
157
- return request("delete", url, **kwargs)
@@ -1,314 +0,0 @@
1
- """
2
- requests.auth
3
- ~~~~~~~~~~~~~
4
-
5
- This module contains the authentication handlers for Requests.
6
- """
7
-
8
- import hashlib
9
- import os
10
- import re
11
- import threading
12
- import time
13
- import warnings
14
- from base64 import b64encode
15
-
16
- from ._internal_utils import to_native_string
17
- from .compat import basestring, str, urlparse
18
- from .cookies import extract_cookies_to_jar
19
- from .utils import parse_dict_header
20
-
21
- CONTENT_TYPE_FORM_URLENCODED = "application/x-www-form-urlencoded"
22
- CONTENT_TYPE_MULTI_PART = "multipart/form-data"
23
-
24
-
25
- def _basic_auth_str(username, password):
26
- """Returns a Basic Auth string."""
27
-
28
- # "I want us to put a big-ol' comment on top of it that
29
- # says that this behaviour is dumb but we need to preserve
30
- # it because people are relying on it."
31
- # - Lukasa
32
- #
33
- # These are here solely to maintain backwards compatibility
34
- # for things like ints. This will be removed in 3.0.0.
35
- if not isinstance(username, basestring):
36
- warnings.warn(
37
- "Non-string usernames will no longer be supported in Requests "
38
- "3.0.0. Please convert the object you've passed in ({!r}) to "
39
- "a string or bytes object in the near future to avoid "
40
- "problems.".format(username),
41
- category=DeprecationWarning,
42
- )
43
- username = str(username)
44
-
45
- if not isinstance(password, basestring):
46
- warnings.warn(
47
- "Non-string passwords will no longer be supported in Requests "
48
- "3.0.0. Please convert the object you've passed in ({!r}) to "
49
- "a string or bytes object in the near future to avoid "
50
- "problems.".format(type(password)),
51
- category=DeprecationWarning,
52
- )
53
- password = str(password)
54
- # -- End Removal --
55
-
56
- if isinstance(username, str):
57
- username = username.encode("latin1")
58
-
59
- if isinstance(password, str):
60
- password = password.encode("latin1")
61
-
62
- authstr = "Basic " + to_native_string(
63
- b64encode(b":".join((username, password))).strip()
64
- )
65
-
66
- return authstr
67
-
68
-
69
- class AuthBase:
70
- """Base class that all auth implementations derive from"""
71
-
72
- def __call__(self, r):
73
- raise NotImplementedError("Auth hooks must be callable.")
74
-
75
-
76
- class HTTPBasicAuth(AuthBase):
77
- """Attaches HTTP Basic Authentication to the given Request object."""
78
-
79
- def __init__(self, username, password):
80
- self.username = username
81
- self.password = password
82
-
83
- def __eq__(self, other):
84
- return all(
85
- [
86
- self.username == getattr(other, "username", None),
87
- self.password == getattr(other, "password", None),
88
- ]
89
- )
90
-
91
- def __ne__(self, other):
92
- return not self == other
93
-
94
- def __call__(self, r):
95
- r.headers["Authorization"] = _basic_auth_str(self.username, self.password)
96
- return r
97
-
98
-
99
- class HTTPProxyAuth(HTTPBasicAuth):
100
- """Attaches HTTP Proxy Authentication to a given Request object."""
101
-
102
- def __call__(self, r):
103
- r.headers["Proxy-Authorization"] = _basic_auth_str(self.username, self.password)
104
- return r
105
-
106
-
107
- class HTTPDigestAuth(AuthBase):
108
- """Attaches HTTP Digest Authentication to the given Request object."""
109
-
110
- def __init__(self, username, password):
111
- self.username = username
112
- self.password = password
113
- # Keep state in per-thread local storage
114
- self._thread_local = threading.local()
115
-
116
- def init_per_thread_state(self):
117
- # Ensure state is initialized just once per-thread
118
- if not hasattr(self._thread_local, "init"):
119
- self._thread_local.init = True
120
- self._thread_local.last_nonce = ""
121
- self._thread_local.nonce_count = 0
122
- self._thread_local.chal = {}
123
- self._thread_local.pos = None
124
- self._thread_local.num_401_calls = None
125
-
126
- def build_digest_header(self, method, url):
127
- """
128
- :rtype: str
129
- """
130
-
131
- realm = self._thread_local.chal["realm"]
132
- nonce = self._thread_local.chal["nonce"]
133
- qop = self._thread_local.chal.get("qop")
134
- algorithm = self._thread_local.chal.get("algorithm")
135
- opaque = self._thread_local.chal.get("opaque")
136
- hash_utf8 = None
137
-
138
- if algorithm is None:
139
- _algorithm = "MD5"
140
- else:
141
- _algorithm = algorithm.upper()
142
- # lambdas assume digest modules are imported at the top level
143
- if _algorithm == "MD5" or _algorithm == "MD5-SESS":
144
-
145
- def md5_utf8(x):
146
- if isinstance(x, str):
147
- x = x.encode("utf-8")
148
- return hashlib.md5(x).hexdigest()
149
-
150
- hash_utf8 = md5_utf8
151
- elif _algorithm == "SHA":
152
-
153
- def sha_utf8(x):
154
- if isinstance(x, str):
155
- x = x.encode("utf-8")
156
- return hashlib.sha1(x).hexdigest()
157
-
158
- hash_utf8 = sha_utf8
159
- elif _algorithm == "SHA-256":
160
-
161
- def sha256_utf8(x):
162
- if isinstance(x, str):
163
- x = x.encode("utf-8")
164
- return hashlib.sha256(x).hexdigest()
165
-
166
- hash_utf8 = sha256_utf8
167
- elif _algorithm == "SHA-512":
168
-
169
- def sha512_utf8(x):
170
- if isinstance(x, str):
171
- x = x.encode("utf-8")
172
- return hashlib.sha512(x).hexdigest()
173
-
174
- hash_utf8 = sha512_utf8
175
-
176
- KD = lambda s, d: hash_utf8(f"{s}:{d}") # noqa:E731
177
-
178
- if hash_utf8 is None:
179
- return None
180
-
181
- # XXX not implemented yet
182
- entdig = None
183
- p_parsed = urlparse(url)
184
- #: path is request-uri defined in RFC 2616 which should not be empty
185
- path = p_parsed.path or "/"
186
- if p_parsed.query:
187
- path += f"?{p_parsed.query}"
188
-
189
- A1 = f"{self.username}:{realm}:{self.password}"
190
- A2 = f"{method}:{path}"
191
-
192
- HA1 = hash_utf8(A1)
193
- HA2 = hash_utf8(A2)
194
-
195
- if nonce == self._thread_local.last_nonce:
196
- self._thread_local.nonce_count += 1
197
- else:
198
- self._thread_local.nonce_count = 1
199
- ncvalue = f"{self._thread_local.nonce_count:08x}"
200
- s = str(self._thread_local.nonce_count).encode("utf-8")
201
- s += nonce.encode("utf-8")
202
- s += time.ctime().encode("utf-8")
203
- s += os.urandom(8)
204
-
205
- cnonce = hashlib.sha1(s).hexdigest()[:16]
206
- if _algorithm == "MD5-SESS":
207
- HA1 = hash_utf8(f"{HA1}:{nonce}:{cnonce}")
208
-
209
- if not qop:
210
- respdig = KD(HA1, f"{nonce}:{HA2}")
211
- elif qop == "auth" or "auth" in qop.split(","):
212
- noncebit = f"{nonce}:{ncvalue}:{cnonce}:auth:{HA2}"
213
- respdig = KD(HA1, noncebit)
214
- else:
215
- # XXX handle auth-int.
216
- return None
217
-
218
- self._thread_local.last_nonce = nonce
219
-
220
- # XXX should the partial digests be encoded too?
221
- base = (
222
- f'username="{self.username}", realm="{realm}", nonce="{nonce}", '
223
- f'uri="{path}", response="{respdig}"'
224
- )
225
- if opaque:
226
- base += f', opaque="{opaque}"'
227
- if algorithm:
228
- base += f', algorithm="{algorithm}"'
229
- if entdig:
230
- base += f', digest="{entdig}"'
231
- if qop:
232
- base += f', qop="auth", nc={ncvalue}, cnonce="{cnonce}"'
233
-
234
- return f"Digest {base}"
235
-
236
- def handle_redirect(self, r, **kwargs):
237
- """Reset num_401_calls counter on redirects."""
238
- if r.is_redirect:
239
- self._thread_local.num_401_calls = 1
240
-
241
- def handle_401(self, r, **kwargs):
242
- """
243
- Takes the given response and tries digest-auth, if needed.
244
-
245
- :rtype: requests.Response
246
- """
247
-
248
- # If response is not 4xx, do not auth
249
- # See https://github.com/psf/requests/issues/3772
250
- if not 400 <= r.status_code < 500:
251
- self._thread_local.num_401_calls = 1
252
- return r
253
-
254
- if self._thread_local.pos is not None:
255
- # Rewind the file position indicator of the body to where
256
- # it was to resend the request.
257
- r.request.body.seek(self._thread_local.pos)
258
- s_auth = r.headers.get("www-authenticate", "")
259
-
260
- if "digest" in s_auth.lower() and self._thread_local.num_401_calls < 2:
261
- self._thread_local.num_401_calls += 1
262
- pat = re.compile(r"digest ", flags=re.IGNORECASE)
263
- self._thread_local.chal = parse_dict_header(pat.sub("", s_auth, count=1))
264
-
265
- # Consume content and release the original connection
266
- # to allow our new request to reuse the same one.
267
- r.content
268
- r.close()
269
- prep = r.request.copy()
270
- extract_cookies_to_jar(prep._cookies, r.request, r.raw)
271
- prep.prepare_cookies(prep._cookies)
272
-
273
- prep.headers["Authorization"] = self.build_digest_header(
274
- prep.method, prep.url
275
- )
276
- _r = r.connection.send(prep, **kwargs)
277
- _r.history.append(r)
278
- _r.request = prep
279
-
280
- return _r
281
-
282
- self._thread_local.num_401_calls = 1
283
- return r
284
-
285
- def __call__(self, r):
286
- # Initialize per-thread state, if needed
287
- self.init_per_thread_state()
288
- # If we have a saved nonce, skip the 401
289
- if self._thread_local.last_nonce:
290
- r.headers["Authorization"] = self.build_digest_header(r.method, r.url)
291
- try:
292
- self._thread_local.pos = r.body.tell()
293
- except AttributeError:
294
- # In the case of HTTPDigestAuth being reused and the body of
295
- # the previous request was a file-like object, pos has the
296
- # file position of the previous body. Ensure it's set to
297
- # None.
298
- self._thread_local.pos = None
299
- r.register_hook("response", self.handle_401)
300
- r.register_hook("response", self.handle_redirect)
301
- self._thread_local.num_401_calls = 1
302
-
303
- return r
304
-
305
- def __eq__(self, other):
306
- return all(
307
- [
308
- self.username == getattr(other, "username", None),
309
- self.password == getattr(other, "password", None),
310
- ]
311
- )
312
-
313
- def __ne__(self, other):
314
- return not self == other
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- """
4
- requests.certs
5
- ~~~~~~~~~~~~~~
6
-
7
- This module returns the preferred default CA certificate bundle. There is
8
- only one — the one from the certifi package.
9
-
10
- If you are packaging Requests, e.g., for a Linux distribution or a managed
11
- environment, you can change the definition of where() to return a separately
12
- packaged CA bundle.
13
- """
14
- from pip._vendor.certifi import where
15
-
16
- if __name__ == "__main__":
17
- print(where())
@@ -1,90 +0,0 @@
1
- """
2
- requests.compat
3
- ~~~~~~~~~~~~~~~
4
-
5
- This module previously handled import compatibility issues
6
- between Python 2 and Python 3. It remains for backwards
7
- compatibility until the next major version.
8
- """
9
-
10
- import sys
11
-
12
- # -------
13
- # urllib3
14
- # -------
15
- from pip._vendor.urllib3 import __version__ as urllib3_version
16
-
17
- # Detect which major version of urllib3 is being used.
18
- try:
19
- is_urllib3_1 = int(urllib3_version.split(".")[0]) == 1
20
- except (TypeError, AttributeError):
21
- # If we can't discern a version, prefer old functionality.
22
- is_urllib3_1 = True
23
-
24
- # -------------------
25
- # Character Detection
26
- # -------------------
27
-
28
-
29
- def _resolve_char_detection():
30
- """Find supported character detection libraries."""
31
- chardet = None
32
- return chardet
33
-
34
-
35
- chardet = _resolve_char_detection()
36
-
37
- # -------
38
- # Pythons
39
- # -------
40
-
41
- # Syntax sugar.
42
- _ver = sys.version_info
43
-
44
- #: Python 2.x?
45
- is_py2 = _ver[0] == 2
46
-
47
- #: Python 3.x?
48
- is_py3 = _ver[0] == 3
49
-
50
- # Note: We've patched out simplejson support in pip because it prevents
51
- # upgrading simplejson on Windows.
52
- import json
53
- from json import JSONDecodeError
54
-
55
- # Keep OrderedDict for backwards compatibility.
56
- from collections import OrderedDict
57
- from collections.abc import Callable, Mapping, MutableMapping
58
- from http import cookiejar as cookielib
59
- from http.cookies import Morsel
60
- from io import StringIO
61
-
62
- # --------------
63
- # Legacy Imports
64
- # --------------
65
- from urllib.parse import (
66
- quote,
67
- quote_plus,
68
- unquote,
69
- unquote_plus,
70
- urldefrag,
71
- urlencode,
72
- urljoin,
73
- urlparse,
74
- urlsplit,
75
- urlunparse,
76
- )
77
- from urllib.request import (
78
- getproxies,
79
- getproxies_environment,
80
- parse_http_list,
81
- proxy_bypass,
82
- proxy_bypass_environment,
83
- )
84
-
85
- builtin_str = str
86
- str = str
87
- bytes = bytes
88
- basestring = (str, bytes)
89
- numeric_types = (int, float)
90
- integer_types = (int,)