pip 24.3__tar.gz → 25.0__tar.gz

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 (586) hide show
  1. {pip-24.3 → pip-25.0}/AUTHORS.txt +7 -0
  2. {pip-24.3 → pip-25.0}/MANIFEST.in +4 -6
  3. {pip-24.3 → pip-25.0}/NEWS.rst +76 -3
  4. {pip-24.3 → pip-25.0}/PKG-INFO +2 -2
  5. pip-25.0/build-project.py +67 -0
  6. pip-25.0/build-requirements.in +2 -0
  7. pip-25.0/build-requirements.txt +24 -0
  8. {pip-24.3 → pip-25.0}/docs/html/conf.py +5 -9
  9. {pip-24.3 → pip-25.0}/docs/html/development/architecture/command-line-interface.rst +1 -1
  10. {pip-24.3 → pip-25.0}/docs/html/development/architecture/overview.rst +1 -1
  11. {pip-24.3 → pip-25.0}/docs/html/development/release-process.rst +2 -5
  12. {pip-24.3 → pip-25.0}/docs/html/reference/requirements-file-format.md +3 -3
  13. {pip-24.3 → pip-25.0}/docs/html/topics/authentication.md +0 -19
  14. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +1 -1
  15. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/personas.md +1 -1
  16. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +3 -3
  17. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/prioritizing-features.md +2 -2
  18. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/users-and-security.md +3 -2
  19. {pip-24.3 → pip-25.0}/docs/requirements.txt +1 -0
  20. {pip-24.3 → pip-25.0}/pyproject.toml +4 -6
  21. {pip-24.3 → pip-25.0}/src/pip/__init__.py +1 -1
  22. {pip-24.3 → pip-25.0}/src/pip/_internal/build_env.py +6 -2
  23. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/base_command.py +9 -0
  24. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/cmdoptions.py +2 -2
  25. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/index_command.py +1 -0
  26. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/progress_bars.py +1 -1
  27. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/cache.py +4 -1
  28. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/install.py +8 -7
  29. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/show.py +8 -1
  30. {pip-24.3 → pip-25.0}/src/pip/_internal/configuration.py +1 -1
  31. {pip-24.3 → pip-25.0}/src/pip/_internal/index/package_finder.py +41 -32
  32. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/__init__.py +2 -2
  33. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/_json.py +2 -0
  34. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/_dists.py +7 -1
  35. {pip-24.3 → pip-25.0}/src/pip/_internal/models/link.py +23 -9
  36. {pip-24.3 → pip-25.0}/src/pip/_internal/network/cache.py +12 -0
  37. {pip-24.3 → pip-25.0}/src/pip/_internal/network/session.py +1 -0
  38. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/metadata_editable.py +1 -0
  39. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/freeze.py +11 -13
  40. {pip-24.3 → pip-25.0}/src/pip/_internal/pyproject.py +1 -1
  41. {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_file.py +106 -52
  42. {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_install.py +2 -2
  43. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/factory.py +1 -1
  44. {pip-24.3 → pip-25.0}/src/pip/_internal/self_outdated_check.py +9 -1
  45. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/logging.py +8 -1
  46. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/misc.py +15 -14
  47. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/packaging.py +1 -0
  48. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/unpacking.py +1 -1
  49. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/__init__.py +2 -1
  50. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/adapter.py +2 -2
  51. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/cache.py +1 -0
  52. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/caches/file_cache.py +1 -1
  53. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/controller.py +1 -0
  54. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/filewrapper.py +2 -2
  55. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/heuristics.py +4 -1
  56. {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/__init__.py +2 -1
  57. {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/codec.py +31 -27
  58. {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/compat.py +6 -4
  59. pip-25.0/src/pip/_vendor/idna/core.py +437 -0
  60. pip-25.0/src/pip/_vendor/idna/idnadata.py +4243 -0
  61. {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/intranges.py +7 -4
  62. pip-25.0/src/pip/_vendor/idna/package_data.py +1 -0
  63. pip-25.0/src/pip/_vendor/idna/uts46data.py +8681 -0
  64. {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/__init__.py +8 -8
  65. {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/ext.py +5 -3
  66. {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/fallback.py +29 -51
  67. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/__init__.py +2 -2
  68. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_elffile.py +4 -4
  69. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_manylinux.py +1 -0
  70. pip-25.0/src/pip/_vendor/packaging/licenses/__init__.py +145 -0
  71. pip-25.0/src/pip/_vendor/packaging/licenses/_spdx.py +759 -0
  72. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/markers.py +15 -9
  73. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/metadata.py +83 -24
  74. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/specifiers.py +19 -8
  75. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/tags.py +15 -25
  76. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/utils.py +33 -44
  77. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/version.py +26 -7
  78. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/__init__.py +14 -10
  79. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/android.py +1 -1
  80. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/api.py +6 -0
  81. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/macos.py +14 -0
  82. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/unix.py +0 -6
  83. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/version.py +2 -2
  84. pip-25.0/src/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  85. {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/_impl.py +181 -101
  86. {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +5 -2
  87. {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +113 -77
  88. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/certs.py +1 -8
  89. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_inspect.py +0 -2
  90. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_null_file.py +1 -1
  91. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_win32_console.py +3 -4
  92. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/align.py +1 -0
  93. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/ansi.py +1 -0
  94. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/cells.py +30 -23
  95. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/color.py +2 -2
  96. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/console.py +55 -27
  97. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/default_styles.py +2 -1
  98. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/filesize.py +1 -2
  99. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/highlighter.py +1 -1
  100. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/live.py +1 -1
  101. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/logging.py +8 -0
  102. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/padding.py +5 -5
  103. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/panel.py +13 -7
  104. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/pretty.py +46 -25
  105. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/progress.py +25 -9
  106. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/progress_bar.py +1 -1
  107. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/prompt.py +29 -4
  108. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/segment.py +33 -19
  109. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/spinner.py +1 -0
  110. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/style.py +1 -1
  111. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/syntax.py +16 -8
  112. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/table.py +15 -8
  113. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/text.py +10 -6
  114. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/theme.py +2 -2
  115. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/traceback.py +70 -26
  116. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/tree.py +16 -8
  117. pip-25.0/src/pip/_vendor/tomli/LICENSE-HEADER +3 -0
  118. {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/__init__.py +1 -4
  119. {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/_parser.py +158 -79
  120. {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/_re.py +10 -5
  121. pip-25.0/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  122. {pip-24.3 → pip-25.0}/src/pip/_vendor/vendor.txt +8 -8
  123. {pip-24.3 → pip-25.0}/src/pip.egg-info/PKG-INFO +2 -2
  124. {pip-24.3 → pip-25.0}/src/pip.egg-info/SOURCES.txt +7 -2
  125. pip-24.3/src/pip/_internal/utils/encoding.py +0 -36
  126. pip-24.3/src/pip/_vendor/idna/core.py +0 -395
  127. pip-24.3/src/pip/_vendor/idna/idnadata.py +0 -4245
  128. pip-24.3/src/pip/_vendor/idna/package_data.py +0 -2
  129. pip-24.3/src/pip/_vendor/idna/uts46data.py +0 -8598
  130. pip-24.3/src/pip/_vendor/pyproject_hooks/__init__.py +0 -23
  131. pip-24.3/src/pip/_vendor/pyproject_hooks/_compat.py +0 -8
  132. {pip-24.3 → pip-25.0}/LICENSE.txt +0 -0
  133. {pip-24.3 → pip-25.0}/README.rst +0 -0
  134. {pip-24.3 → pip-25.0}/SECURITY.md +0 -0
  135. {pip-24.3 → pip-25.0}/docs/html/cli/index.md +0 -0
  136. {pip-24.3 → pip-25.0}/docs/html/cli/pip.rst +0 -0
  137. {pip-24.3 → pip-25.0}/docs/html/cli/pip_cache.rst +0 -0
  138. {pip-24.3 → pip-25.0}/docs/html/cli/pip_check.rst +0 -0
  139. {pip-24.3 → pip-25.0}/docs/html/cli/pip_config.rst +0 -0
  140. {pip-24.3 → pip-25.0}/docs/html/cli/pip_debug.rst +0 -0
  141. {pip-24.3 → pip-25.0}/docs/html/cli/pip_download.rst +0 -0
  142. {pip-24.3 → pip-25.0}/docs/html/cli/pip_freeze.rst +0 -0
  143. {pip-24.3 → pip-25.0}/docs/html/cli/pip_hash.rst +0 -0
  144. {pip-24.3 → pip-25.0}/docs/html/cli/pip_inspect.rst +0 -0
  145. {pip-24.3 → pip-25.0}/docs/html/cli/pip_install.rst +0 -0
  146. {pip-24.3 → pip-25.0}/docs/html/cli/pip_list.rst +0 -0
  147. {pip-24.3 → pip-25.0}/docs/html/cli/pip_search.rst +0 -0
  148. {pip-24.3 → pip-25.0}/docs/html/cli/pip_show.rst +0 -0
  149. {pip-24.3 → pip-25.0}/docs/html/cli/pip_uninstall.rst +0 -0
  150. {pip-24.3 → pip-25.0}/docs/html/cli/pip_wheel.rst +0 -0
  151. {pip-24.3 → pip-25.0}/docs/html/copyright.rst +0 -0
  152. {pip-24.3 → pip-25.0}/docs/html/development/architecture/anatomy.rst +0 -0
  153. {pip-24.3 → pip-25.0}/docs/html/development/architecture/configuration-files.rst +0 -0
  154. {pip-24.3 → pip-25.0}/docs/html/development/architecture/index.rst +0 -0
  155. {pip-24.3 → pip-25.0}/docs/html/development/architecture/package-finding.rst +0 -0
  156. {pip-24.3 → pip-25.0}/docs/html/development/architecture/upgrade-options.rst +0 -0
  157. {pip-24.3 → pip-25.0}/docs/html/development/ci.rst +0 -0
  158. {pip-24.3 → pip-25.0}/docs/html/development/contributing.rst +0 -0
  159. {pip-24.3 → pip-25.0}/docs/html/development/conventions.rst +0 -0
  160. {pip-24.3 → pip-25.0}/docs/html/development/getting-started.rst +0 -0
  161. {pip-24.3 → pip-25.0}/docs/html/development/index.rst +0 -0
  162. {pip-24.3 → pip-25.0}/docs/html/development/issue-triage.md +0 -0
  163. {pip-24.3 → pip-25.0}/docs/html/development/vendoring-policy.rst +0 -0
  164. {pip-24.3 → pip-25.0}/docs/html/getting-started.md +0 -0
  165. {pip-24.3 → pip-25.0}/docs/html/index.md +0 -0
  166. {pip-24.3 → pip-25.0}/docs/html/installation.md +0 -0
  167. {pip-24.3 → pip-25.0}/docs/html/installing.rst +0 -0
  168. {pip-24.3 → pip-25.0}/docs/html/news.rst +0 -0
  169. {pip-24.3 → pip-25.0}/docs/html/quickstart.rst +0 -0
  170. {pip-24.3 → pip-25.0}/docs/html/reference/build-system/index.md +0 -0
  171. {pip-24.3 → pip-25.0}/docs/html/reference/build-system/pyproject-toml.md +0 -0
  172. {pip-24.3 → pip-25.0}/docs/html/reference/build-system/setup-py.md +0 -0
  173. {pip-24.3 → pip-25.0}/docs/html/reference/index.md +0 -0
  174. {pip-24.3 → pip-25.0}/docs/html/reference/inspect-report.md +0 -0
  175. {pip-24.3 → pip-25.0}/docs/html/reference/installation-report.md +0 -0
  176. {pip-24.3 → pip-25.0}/docs/html/reference/pip.rst +0 -0
  177. {pip-24.3 → pip-25.0}/docs/html/reference/pip_cache.rst +0 -0
  178. {pip-24.3 → pip-25.0}/docs/html/reference/pip_check.rst +0 -0
  179. {pip-24.3 → pip-25.0}/docs/html/reference/pip_config.rst +0 -0
  180. {pip-24.3 → pip-25.0}/docs/html/reference/pip_debug.rst +0 -0
  181. {pip-24.3 → pip-25.0}/docs/html/reference/pip_download.rst +0 -0
  182. {pip-24.3 → pip-25.0}/docs/html/reference/pip_freeze.rst +0 -0
  183. {pip-24.3 → pip-25.0}/docs/html/reference/pip_hash.rst +0 -0
  184. {pip-24.3 → pip-25.0}/docs/html/reference/pip_install.rst +0 -0
  185. {pip-24.3 → pip-25.0}/docs/html/reference/pip_list.rst +0 -0
  186. {pip-24.3 → pip-25.0}/docs/html/reference/pip_search.rst +0 -0
  187. {pip-24.3 → pip-25.0}/docs/html/reference/pip_show.rst +0 -0
  188. {pip-24.3 → pip-25.0}/docs/html/reference/pip_uninstall.rst +0 -0
  189. {pip-24.3 → pip-25.0}/docs/html/reference/pip_wheel.rst +0 -0
  190. {pip-24.3 → pip-25.0}/docs/html/reference/requirement-specifiers.md +0 -0
  191. {pip-24.3 → pip-25.0}/docs/html/topics/caching.md +0 -0
  192. {pip-24.3 → pip-25.0}/docs/html/topics/configuration.md +0 -0
  193. {pip-24.3 → pip-25.0}/docs/html/topics/dependency-resolution.md +0 -0
  194. {pip-24.3 → pip-25.0}/docs/html/topics/deps.dot +0 -0
  195. {pip-24.3 → pip-25.0}/docs/html/topics/deps.png +0 -0
  196. {pip-24.3 → pip-25.0}/docs/html/topics/https-certificates.md +0 -0
  197. {pip-24.3 → pip-25.0}/docs/html/topics/index.md +0 -0
  198. {pip-24.3 → pip-25.0}/docs/html/topics/local-project-installs.md +0 -0
  199. {pip-24.3 → pip-25.0}/docs/html/topics/more-dependency-resolution.md +0 -0
  200. {pip-24.3 → pip-25.0}/docs/html/topics/python-option.md +0 -0
  201. {pip-24.3 → pip-25.0}/docs/html/topics/repeatable-installs.md +0 -0
  202. {pip-24.3 → pip-25.0}/docs/html/topics/secure-installs.md +0 -0
  203. {pip-24.3 → pip-25.0}/docs/html/topics/vcs-support.md +0 -0
  204. {pip-24.3 → pip-25.0}/docs/html/topics/workflow.md +0 -0
  205. {pip-24.3 → pip-25.0}/docs/html/user_guide.rst +0 -0
  206. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/contribute.md +0 -0
  207. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/guidance.md +0 -0
  208. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/index.md +0 -0
  209. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
  210. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
  211. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/index.md +0 -0
  212. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
  213. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
  214. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
  215. {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
  216. {pip-24.3 → pip-25.0}/docs/man/commands/cache.rst +0 -0
  217. {pip-24.3 → pip-25.0}/docs/man/commands/check.rst +0 -0
  218. {pip-24.3 → pip-25.0}/docs/man/commands/config.rst +0 -0
  219. {pip-24.3 → pip-25.0}/docs/man/commands/debug.rst +0 -0
  220. {pip-24.3 → pip-25.0}/docs/man/commands/download.rst +0 -0
  221. {pip-24.3 → pip-25.0}/docs/man/commands/freeze.rst +0 -0
  222. {pip-24.3 → pip-25.0}/docs/man/commands/hash.rst +0 -0
  223. {pip-24.3 → pip-25.0}/docs/man/commands/help.rst +0 -0
  224. {pip-24.3 → pip-25.0}/docs/man/commands/install.rst +0 -0
  225. {pip-24.3 → pip-25.0}/docs/man/commands/list.rst +0 -0
  226. {pip-24.3 → pip-25.0}/docs/man/commands/search.rst +0 -0
  227. {pip-24.3 → pip-25.0}/docs/man/commands/show.rst +0 -0
  228. {pip-24.3 → pip-25.0}/docs/man/commands/uninstall.rst +0 -0
  229. {pip-24.3 → pip-25.0}/docs/man/commands/wheel.rst +0 -0
  230. {pip-24.3 → pip-25.0}/docs/man/index.rst +0 -0
  231. {pip-24.3 → pip-25.0}/docs/pip_sphinxext.py +0 -0
  232. {pip-24.3 → pip-25.0}/setup.cfg +0 -0
  233. {pip-24.3 → pip-25.0}/src/pip/__main__.py +0 -0
  234. {pip-24.3 → pip-25.0}/src/pip/__pip-runner__.py +0 -0
  235. {pip-24.3 → pip-25.0}/src/pip/_internal/__init__.py +0 -0
  236. {pip-24.3 → pip-25.0}/src/pip/_internal/cache.py +0 -0
  237. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/__init__.py +0 -0
  238. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/autocompletion.py +0 -0
  239. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/command_context.py +0 -0
  240. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/main.py +0 -0
  241. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/main_parser.py +0 -0
  242. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/parser.py +0 -0
  243. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/req_command.py +0 -0
  244. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/spinners.py +0 -0
  245. {pip-24.3 → pip-25.0}/src/pip/_internal/cli/status_codes.py +0 -0
  246. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/__init__.py +0 -0
  247. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/check.py +0 -0
  248. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/completion.py +0 -0
  249. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/configuration.py +0 -0
  250. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/debug.py +0 -0
  251. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/download.py +0 -0
  252. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/freeze.py +0 -0
  253. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/hash.py +0 -0
  254. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/help.py +0 -0
  255. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/index.py +0 -0
  256. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/inspect.py +0 -0
  257. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/list.py +0 -0
  258. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/search.py +0 -0
  259. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/uninstall.py +0 -0
  260. {pip-24.3 → pip-25.0}/src/pip/_internal/commands/wheel.py +0 -0
  261. {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/__init__.py +0 -0
  262. {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/base.py +0 -0
  263. {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/installed.py +0 -0
  264. {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/sdist.py +0 -0
  265. {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/wheel.py +0 -0
  266. {pip-24.3 → pip-25.0}/src/pip/_internal/exceptions.py +0 -0
  267. {pip-24.3 → pip-25.0}/src/pip/_internal/index/__init__.py +0 -0
  268. {pip-24.3 → pip-25.0}/src/pip/_internal/index/collector.py +0 -0
  269. {pip-24.3 → pip-25.0}/src/pip/_internal/index/sources.py +0 -0
  270. {pip-24.3 → pip-25.0}/src/pip/_internal/locations/__init__.py +0 -0
  271. {pip-24.3 → pip-25.0}/src/pip/_internal/locations/_distutils.py +0 -0
  272. {pip-24.3 → pip-25.0}/src/pip/_internal/locations/_sysconfig.py +0 -0
  273. {pip-24.3 → pip-25.0}/src/pip/_internal/locations/base.py +0 -0
  274. {pip-24.3 → pip-25.0}/src/pip/_internal/main.py +0 -0
  275. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/base.py +0 -0
  276. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
  277. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
  278. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/_envs.py +0 -0
  279. {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/pkg_resources.py +0 -0
  280. {pip-24.3 → pip-25.0}/src/pip/_internal/models/__init__.py +0 -0
  281. {pip-24.3 → pip-25.0}/src/pip/_internal/models/candidate.py +0 -0
  282. {pip-24.3 → pip-25.0}/src/pip/_internal/models/direct_url.py +0 -0
  283. {pip-24.3 → pip-25.0}/src/pip/_internal/models/format_control.py +0 -0
  284. {pip-24.3 → pip-25.0}/src/pip/_internal/models/index.py +0 -0
  285. {pip-24.3 → pip-25.0}/src/pip/_internal/models/installation_report.py +0 -0
  286. {pip-24.3 → pip-25.0}/src/pip/_internal/models/scheme.py +0 -0
  287. {pip-24.3 → pip-25.0}/src/pip/_internal/models/search_scope.py +0 -0
  288. {pip-24.3 → pip-25.0}/src/pip/_internal/models/selection_prefs.py +0 -0
  289. {pip-24.3 → pip-25.0}/src/pip/_internal/models/target_python.py +0 -0
  290. {pip-24.3 → pip-25.0}/src/pip/_internal/models/wheel.py +0 -0
  291. {pip-24.3 → pip-25.0}/src/pip/_internal/network/__init__.py +0 -0
  292. {pip-24.3 → pip-25.0}/src/pip/_internal/network/auth.py +0 -0
  293. {pip-24.3 → pip-25.0}/src/pip/_internal/network/download.py +0 -0
  294. {pip-24.3 → pip-25.0}/src/pip/_internal/network/lazy_wheel.py +0 -0
  295. {pip-24.3 → pip-25.0}/src/pip/_internal/network/utils.py +0 -0
  296. {pip-24.3 → pip-25.0}/src/pip/_internal/network/xmlrpc.py +0 -0
  297. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/__init__.py +0 -0
  298. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/__init__.py +0 -0
  299. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/build_tracker.py +0 -0
  300. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/metadata.py +0 -0
  301. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/metadata_legacy.py +0 -0
  302. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/wheel.py +0 -0
  303. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/wheel_editable.py +0 -0
  304. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/wheel_legacy.py +0 -0
  305. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/check.py +0 -0
  306. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/install/__init__.py +0 -0
  307. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/install/editable_legacy.py +0 -0
  308. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/install/wheel.py +0 -0
  309. {pip-24.3 → pip-25.0}/src/pip/_internal/operations/prepare.py +0 -0
  310. {pip-24.3 → pip-25.0}/src/pip/_internal/req/__init__.py +0 -0
  311. {pip-24.3 → pip-25.0}/src/pip/_internal/req/constructors.py +0 -0
  312. {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_set.py +0 -0
  313. {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_uninstall.py +0 -0
  314. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/__init__.py +0 -0
  315. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/base.py +0 -0
  316. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
  317. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
  318. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  319. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
  320. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/candidates.py +0 -0
  321. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  322. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/provider.py +0 -0
  323. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/reporter.py +0 -0
  324. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/requirements.py +0 -0
  325. {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/resolver.py +0 -0
  326. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/__init__.py +0 -0
  327. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/_jaraco_text.py +0 -0
  328. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/_log.py +0 -0
  329. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/appdirs.py +0 -0
  330. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/compat.py +0 -0
  331. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/compatibility_tags.py +0 -0
  332. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/datetime.py +0 -0
  333. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/deprecation.py +0 -0
  334. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
  335. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/egg_link.py +0 -0
  336. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/entrypoints.py +0 -0
  337. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/filesystem.py +0 -0
  338. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/filetypes.py +0 -0
  339. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/glibc.py +0 -0
  340. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/hashes.py +0 -0
  341. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/retry.py +0 -0
  342. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/setuptools_build.py +0 -0
  343. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/subprocess.py +0 -0
  344. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/temp_dir.py +0 -0
  345. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/urls.py +0 -0
  346. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/virtualenv.py +0 -0
  347. {pip-24.3 → pip-25.0}/src/pip/_internal/utils/wheel.py +0 -0
  348. {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/__init__.py +0 -0
  349. {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/bazaar.py +0 -0
  350. {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/git.py +0 -0
  351. {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/mercurial.py +0 -0
  352. {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/subversion.py +0 -0
  353. {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/versioncontrol.py +0 -0
  354. {pip-24.3 → pip-25.0}/src/pip/_internal/wheel_builder.py +0 -0
  355. {pip-24.3 → pip-25.0}/src/pip/_vendor/README.rst +0 -0
  356. {pip-24.3 → pip-25.0}/src/pip/_vendor/__init__.py +0 -0
  357. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
  358. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
  359. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  360. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  361. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/py.typed +0 -0
  362. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
  363. {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
  364. {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/LICENSE +0 -0
  365. {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/__init__.py +0 -0
  366. {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/__main__.py +0 -0
  367. {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/cacert.pem +0 -0
  368. {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/core.py +0 -0
  369. {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/py.typed +0 -0
  370. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
  371. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/__init__.py +0 -0
  372. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/compat.py +0 -0
  373. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/database.py +0 -0
  374. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/index.py +0 -0
  375. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/locators.py +0 -0
  376. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/manifest.py +0 -0
  377. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/markers.py +0 -0
  378. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/metadata.py +0 -0
  379. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/resources.py +0 -0
  380. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/scripts.py +0 -0
  381. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/t32.exe +0 -0
  382. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
  383. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/t64.exe +0 -0
  384. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/util.py +0 -0
  385. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/version.py +0 -0
  386. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/w32.exe +0 -0
  387. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
  388. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/w64.exe +0 -0
  389. {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/wheel.py +0 -0
  390. {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/LICENSE +0 -0
  391. {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/__init__.py +0 -0
  392. {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/__main__.py +0 -0
  393. {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/distro.py +0 -0
  394. {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/py.typed +0 -0
  395. {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/LICENSE.md +0 -0
  396. {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/py.typed +0 -0
  397. {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/COPYING +0 -0
  398. {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/exceptions.py +0 -0
  399. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/LICENSE +0 -0
  400. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
  401. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
  402. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_musllinux.py +0 -0
  403. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_parser.py +0 -0
  404. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_structures.py +0 -0
  405. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_tokenizer.py +0 -0
  406. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/py.typed +0 -0
  407. {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/requirements.py +0 -0
  408. {pip-24.3 → pip-25.0}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
  409. {pip-24.3 → pip-25.0}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
  410. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/LICENSE +0 -0
  411. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/__main__.py +0 -0
  412. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/py.typed +0 -0
  413. {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/windows.py +0 -0
  414. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/LICENSE +0 -0
  415. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/__init__.py +0 -0
  416. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/__main__.py +0 -0
  417. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/cmdline.py +0 -0
  418. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/console.py +0 -0
  419. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/filter.py +0 -0
  420. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
  421. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatter.py +0 -0
  422. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
  423. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  424. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/bbcode.py +0 -0
  425. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/groff.py +0 -0
  426. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/html.py +0 -0
  427. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/img.py +0 -0
  428. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/irc.py +0 -0
  429. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/latex.py +0 -0
  430. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/other.py +0 -0
  431. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/pangomarkup.py +0 -0
  432. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/rtf.py +0 -0
  433. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/svg.py +0 -0
  434. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/terminal.py +0 -0
  435. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/terminal256.py +0 -0
  436. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexer.py +0 -0
  437. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
  438. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  439. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexers/python.py +0 -0
  440. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/modeline.py +0 -0
  441. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/plugin.py +0 -0
  442. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/regexopt.py +0 -0
  443. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/scanner.py +0 -0
  444. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/sphinxext.py +0 -0
  445. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/style.py +0 -0
  446. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
  447. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
  448. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/token.py +0 -0
  449. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/unistring.py +0 -0
  450. {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/util.py +0 -0
  451. {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
  452. {pip-24.3/src/pip/_vendor/resolvelib → pip-25.0/src/pip/_vendor/pyproject_hooks}/py.typed +0 -0
  453. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/LICENSE +0 -0
  454. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/__init__.py +0 -0
  455. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/__version__.py +0 -0
  456. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/_internal_utils.py +0 -0
  457. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/adapters.py +0 -0
  458. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/api.py +0 -0
  459. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/auth.py +0 -0
  460. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/compat.py +0 -0
  461. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/cookies.py +0 -0
  462. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/exceptions.py +0 -0
  463. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/help.py +0 -0
  464. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/hooks.py +0 -0
  465. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/models.py +0 -0
  466. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/packages.py +0 -0
  467. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/sessions.py +0 -0
  468. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/status_codes.py +0 -0
  469. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/structures.py +0 -0
  470. {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/utils.py +0 -0
  471. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/LICENSE +0 -0
  472. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/__init__.py +0 -0
  473. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  474. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/compat/collections_abc.py +0 -0
  475. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/providers.py +0 -0
  476. {pip-24.3/src/pip/_vendor/rich → pip-25.0/src/pip/_vendor/resolvelib}/py.typed +0 -0
  477. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/reporters.py +0 -0
  478. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/resolvers.py +0 -0
  479. {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/structs.py +0 -0
  480. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/LICENSE +0 -0
  481. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/__init__.py +0 -0
  482. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/__main__.py +0 -0
  483. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_cell_widths.py +0 -0
  484. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
  485. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
  486. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_export_format.py +0 -0
  487. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_extension.py +0 -0
  488. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_fileno.py +0 -0
  489. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_log_render.py +0 -0
  490. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_loop.py +0 -0
  491. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_palettes.py +0 -0
  492. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_pick.py +0 -0
  493. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_ratio.py +0 -0
  494. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_spinners.py +0 -0
  495. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_stack.py +0 -0
  496. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_timer.py +0 -0
  497. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_windows.py +0 -0
  498. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
  499. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_wrap.py +0 -0
  500. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/abc.py +0 -0
  501. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/bar.py +0 -0
  502. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/box.py +0 -0
  503. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/color_triplet.py +0 -0
  504. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/columns.py +0 -0
  505. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/constrain.py +0 -0
  506. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/containers.py +0 -0
  507. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/control.py +0 -0
  508. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/diagnose.py +0 -0
  509. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/emoji.py +0 -0
  510. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/errors.py +0 -0
  511. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/file_proxy.py +0 -0
  512. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/json.py +0 -0
  513. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/jupyter.py +0 -0
  514. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/layout.py +0 -0
  515. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/live_render.py +0 -0
  516. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/markup.py +0 -0
  517. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/measure.py +0 -0
  518. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/pager.py +0 -0
  519. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/palette.py +0 -0
  520. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/protocol.py +0 -0
  521. {pip-24.3/src/pip/_vendor/truststore → pip-25.0/src/pip/_vendor/rich}/py.typed +0 -0
  522. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/region.py +0 -0
  523. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/repr.py +0 -0
  524. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/rule.py +0 -0
  525. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/scope.py +0 -0
  526. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/screen.py +0 -0
  527. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/status.py +0 -0
  528. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/styled.py +0 -0
  529. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/terminal_theme.py +0 -0
  530. {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/themes.py +0 -0
  531. {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/LICENSE +0 -0
  532. {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/_types.py +0 -0
  533. {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/py.typed +0 -0
  534. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/LICENSE +0 -0
  535. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/__init__.py +0 -0
  536. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_api.py +0 -0
  537. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_macos.py +0 -0
  538. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_openssl.py +0 -0
  539. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
  540. {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_windows.py +0 -0
  541. /pip-24.3/src/pip/_vendor/urllib3/contrib/__init__.py → /pip-25.0/src/pip/_vendor/truststore/py.typed +0 -0
  542. {pip-24.3 → pip-25.0}/src/pip/_vendor/typing_extensions.LICENSE +0 -0
  543. {pip-24.3 → pip-25.0}/src/pip/_vendor/typing_extensions.py +0 -0
  544. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
  545. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/__init__.py +0 -0
  546. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/_collections.py +0 -0
  547. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/_version.py +0 -0
  548. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/connection.py +0 -0
  549. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/connectionpool.py +0 -0
  550. {pip-24.3/src/pip/_vendor/urllib3/contrib/_securetransport → pip-25.0/src/pip/_vendor/urllib3/contrib}/__init__.py +0 -0
  551. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  552. {pip-24.3/src/pip/_vendor/urllib3/packages → pip-25.0/src/pip/_vendor/urllib3/contrib/_securetransport}/__init__.py +0 -0
  553. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  554. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  555. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  556. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  557. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  558. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  559. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
  560. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/exceptions.py +0 -0
  561. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/fields.py +0 -0
  562. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/filepost.py +0 -0
  563. {pip-24.3/src/pip/_vendor/urllib3/packages/backports → pip-25.0/src/pip/_vendor/urllib3/packages}/__init__.py +0 -0
  564. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  565. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  566. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/packages/six.py +0 -0
  567. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
  568. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/request.py +0 -0
  569. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/response.py +0 -0
  570. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
  571. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/connection.py +0 -0
  572. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
  573. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/queue.py +0 -0
  574. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/request.py +0 -0
  575. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/response.py +0 -0
  576. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/retry.py +0 -0
  577. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/ssl_.py +0 -0
  578. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  579. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  580. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
  581. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/url.py +0 -0
  582. {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/wait.py +0 -0
  583. {pip-24.3 → pip-25.0}/src/pip/py.typed +0 -0
  584. {pip-24.3 → pip-25.0}/src/pip.egg-info/dependency_links.txt +0 -0
  585. {pip-24.3 → pip-25.0}/src/pip.egg-info/entry_points.txt +0 -0
  586. {pip-24.3 → pip-25.0}/src/pip.egg-info/top_level.txt +0 -0
@@ -125,6 +125,7 @@ burrows
125
125
  Bussonnier Matthias
126
126
  bwoodsend
127
127
  c22
128
+ Caleb Brown
128
129
  Caleb Martinez
129
130
  Calvin Smith
130
131
  Carl Meyer
@@ -134,6 +135,7 @@ Carter Thayer
134
135
  Cass
135
136
  Chandrasekhar Atina
136
137
  Charlie Marsh
138
+ charwick
137
139
  Chih-Hsuan Yen
138
140
  Chris Brinker
139
141
  Chris Hunt
@@ -403,18 +405,22 @@ Josh Cannon
403
405
  Josh Hansen
404
406
  Josh Schneier
405
407
  Joshua
408
+ JoshuaPerdue
406
409
  Juan Luis Cano Rodríguez
407
410
  Juanjo Bazán
408
411
  Judah Rand
409
412
  Julian Berman
410
413
  Julian Gethmann
411
414
  Julien Demoor
415
+ July Tikhonov
412
416
  Jussi Kukkonen
417
+ Justin van Heek
413
418
  jwg4
414
419
  Jyrki Pulliainen
415
420
  Kai Chen
416
421
  Kai Mueller
417
422
  Kamal Bin Mustafa
423
+ Karolina Surma
418
424
  kasium
419
425
  kaustav haldar
420
426
  keanemind
@@ -625,6 +631,7 @@ R. David Murray
625
631
  Rafael Caricio
626
632
  Ralf Schmitt
627
633
  Ran Benita
634
+ Randy Döring
628
635
  Razzi Abuissa
629
636
  rdb
630
637
  Reece Dunham
@@ -5,23 +5,22 @@ include README.rst
5
5
  include SECURITY.md
6
6
  include pyproject.toml
7
7
 
8
+ include build-requirements.in
9
+ include build-requirements.txt
10
+ include build-project.py
11
+
8
12
  include src/pip/_vendor/README.rst
9
13
  include src/pip/_vendor/vendor.txt
10
- include src/pip/_vendor/pyparsing/diagram/template.jinja2
11
14
  recursive-include src/pip/_vendor *LICENSE*
12
15
  recursive-include src/pip/_vendor *COPYING*
13
16
 
14
- include docs/docutils.conf
15
17
  include docs/requirements.txt
16
18
 
17
19
  exclude .git-blame-ignore-revs
18
- exclude .coveragerc
19
20
  exclude .mailmap
20
- exclude .appveyor.yml
21
21
  exclude .readthedocs.yml
22
22
  exclude .pre-commit-config.yaml
23
23
  exclude .readthedocs-custom-redirects.yml
24
- exclude tox.ini
25
24
  exclude noxfile.py
26
25
 
27
26
  recursive-include src/pip/_vendor *.pem
@@ -34,6 +33,5 @@ recursive-exclude src/pip/_vendor *.pyi
34
33
  prune .github
35
34
  prune docs/build
36
35
  prune news
37
- prune tasks
38
36
  prune tests
39
37
  prune tools
@@ -9,7 +9,80 @@
9
9
 
10
10
  .. towncrier release notes start
11
11
 
12
- 24.3 (2024-10-26)
12
+ 25.0 (2025-01-26)
13
+ =================
14
+
15
+ Deprecations and Removals
16
+ -------------------------
17
+
18
+ - Deprecate the ``no-python-version-warning`` flag as it has long done nothing
19
+ since Python 2 support was removed in pip 21.0. (`#13154 <https://github.com/pypa/pip/issues/13154>`_)
20
+
21
+ Features
22
+ --------
23
+
24
+ - Prefer to display :pep:`639` ``License-Expression`` in ``pip show`` if metadata version is at least 2.4. (`#13112 <https://github.com/pypa/pip/issues/13112>`_)
25
+ - Support :pep:`639` ``License-Expression`` and ``License-File`` metadata fields in JSON
26
+ output. ``pip inspect`` and ``pip install --report`` now emit
27
+ ``license_expression`` and ``license_file`` fields in the ``metadata`` object,
28
+ if the corresponding fields are present in the installed ``METADATA`` file. (`#13134 <https://github.com/pypa/pip/issues/13134>`_)
29
+ - Files in the network cache will inherit the read/write permissions of pip's cache
30
+ directory (in addition to the current user retaining read/write access). This
31
+ enables a single cache to be shared among multiple users. (`#11012 <https://github.com/pypa/pip/issues/11012>`_)
32
+ - Return the size, along with the number, of files cleared on ``pip cache purge`` and ``pip cache remove`` (`#12176 <https://github.com/pypa/pip/issues/12176>`_)
33
+ - Cache ``python-requires`` checks while filtering potential installation candidates. (`#13128 <https://github.com/pypa/pip/issues/13128>`_)
34
+ - Optimize package collection by avoiding unnecessary URL parsing and other processing. (`#13132 <https://github.com/pypa/pip/issues/13132>`_)
35
+
36
+ Bug Fixes
37
+ ---------
38
+
39
+ - Reorder the encoding detection when decoding a requirements file, relying on
40
+ UTF-8 over the locale encoding by default, matching the documented behaviour.
41
+ (`#12771 <https://github.com/pypa/pip/issues/12771>`_)
42
+ - The pip version self check is disabled on ``EXTERNALLY-MANAGED`` environments. (`#11820 <https://github.com/pypa/pip/issues/11820>`_)
43
+ - Fix a security bug allowing a specially crafted wheel to execute code during
44
+ installation. (`#13079 <https://github.com/pypa/pip/issues/13079>`_)
45
+ - The inclusion of ``packaging`` 24.2 changes how pre-release specifiers with ``<`` and ``>``
46
+ behave. Including a pre-release version with these specifiers now implies
47
+ accepting pre-releases (e.g., ``<2.0dev`` can include ``1.0rc1``). To avoid
48
+ implying pre-releases, avoid specifying them (e.g., use ``<2.0``).
49
+ The exception is ``!=``, which never implies pre-releases. (`#13163 <https://github.com/pypa/pip/issues/13163>`_)
50
+ - The ``--cert`` and ``--client-cert`` command-line options are now respected while
51
+ installing build dependencies. Consequently, the private ``_PIP_STANDALONE_CERT``
52
+ environment variable is no longer used. (`#5502 <https://github.com/pypa/pip/issues/5502>`_)
53
+ - The ``--proxy`` command-line option is now respected while installing build dependencies. (`#6018 <https://github.com/pypa/pip/issues/6018>`_)
54
+
55
+ Vendored Libraries
56
+ ------------------
57
+
58
+ - Upgrade CacheControl to 0.14.1
59
+ - Upgrade idna to 3.10
60
+ - Upgrade msgpack to 1.1.0
61
+ - Upgrade packaging to 24.2
62
+ - Upgrade platformdirs to 4.3.6
63
+ - Upgrade pyproject-hooks to 1.2.0
64
+ - Upgrade rich to 13.9.4
65
+ - Upgrade tomli to 2.2.1
66
+
67
+ Improved Documentation
68
+ ----------------------
69
+
70
+ - Removed section about non-existing ``--force-keyring`` flag. (`#12455 <https://github.com/pypa/pip/issues/12455>`_)
71
+
72
+ Process
73
+ -------
74
+
75
+ - Started releasing to PyPI from a GitHub Actions CI/CD workflow that implements trusted publishing and bundles :pep:`740` digital attestations.
76
+
77
+ 24.3.1 (2024-10-27)
78
+ ===================
79
+
80
+ Bug Fixes
81
+ ---------
82
+
83
+ - Allow multiple nested inclusions of the same requirements file again. (`#13046 <https://github.com/pypa/pip/issues/13046>`_)
84
+
85
+ 24.3 (2024-10-27)
13
86
  =================
14
87
 
15
88
  Deprecations and Removals
@@ -3342,7 +3415,7 @@ Improved Documentation
3342
3415
  - Upgrade the bundled copy of requests to 2.6.0, fixing CVE-2015-2296.
3343
3416
  - Display format of latest package when using ``pip list --outdated``. (#2475)
3344
3417
  - Don't use pywin32 as ctypes should always be available on Windows, using
3345
- pywin32 prevented uninstallation of pywin32 on Windows. (:pull:`2467`)
3418
+ pywin32 prevented uninstallation of pywin32 on Windows. (:pr:`2467`)
3346
3419
  - Normalize the ``--wheel-dir`` option, expanding out constructs such as ``~``
3347
3420
  when used. (#2441)
3348
3421
  - Display a warning when an undefined extra has been requested. (#2142)
@@ -3633,7 +3706,7 @@ Improved Documentation
3633
3706
  --no-download`` are now formally deprecated. See #906 for discussion on
3634
3707
  possible alternatives, or lack thereof, in future releases.
3635
3708
  - **DEPRECATION** ``pip zip`` and ``pip unzip`` are now formally deprecated.
3636
- - pip will now install Mac OSX platform wheels from PyPI. (:pull:`1278`)
3709
+ - pip will now install Mac OSX platform wheels from PyPI. (:pr:`1278`)
3637
3710
  - pip now generates the appropriate platform-specific console scripts when
3638
3711
  installing wheels. (#1251)
3639
3712
  - pip now confirms a wheel is supported when installing directly from a path or
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pip
3
- Version: 24.3
3
+ Version: 25.0
4
4
  Summary: The PyPA recommended tool for installing Python packages.
5
5
  Author-email: The pip developers <distutils-sig@python.org>
6
6
  License: MIT
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env python3
2
+ """Build pip using pinned build requirements."""
3
+
4
+ import subprocess
5
+ import tempfile
6
+ import venv
7
+ from os import PathLike
8
+ from pathlib import Path
9
+ from types import SimpleNamespace
10
+
11
+
12
+ class EnvBuilder(venv.EnvBuilder):
13
+ """A subclass of venv.EnvBuilder that exposes the python executable command."""
14
+
15
+ def ensure_directories(
16
+ self, env_dir: str | bytes | PathLike[str] | PathLike[bytes]
17
+ ) -> SimpleNamespace:
18
+ context = super().ensure_directories(env_dir)
19
+ self.env_exec_cmd = context.env_exec_cmd
20
+ return context
21
+
22
+
23
+ def get_git_head_timestamp() -> str:
24
+ return subprocess.run(
25
+ [
26
+ "git",
27
+ "log",
28
+ "-1",
29
+ "--pretty=format:%ct",
30
+ ],
31
+ text=True,
32
+ stdout=subprocess.PIPE,
33
+ ).stdout.strip()
34
+
35
+
36
+ def main() -> None:
37
+ with tempfile.TemporaryDirectory() as build_env:
38
+ env_builder = EnvBuilder(with_pip=True)
39
+ env_builder.create(build_env)
40
+ subprocess.run(
41
+ [
42
+ env_builder.env_exec_cmd,
43
+ "-Im",
44
+ "pip",
45
+ "install",
46
+ "--no-deps",
47
+ "--only-binary=:all:",
48
+ "--require-hashes",
49
+ "-r",
50
+ Path(__file__).parent / "build-requirements.txt",
51
+ ],
52
+ check=True,
53
+ )
54
+ subprocess.run(
55
+ [
56
+ env_builder.env_exec_cmd,
57
+ "-Im",
58
+ "build",
59
+ "--no-isolation",
60
+ ],
61
+ check=True,
62
+ env={"SOURCE_DATE_EPOCH": get_git_head_timestamp()},
63
+ )
64
+
65
+
66
+ if __name__ == "__main__":
67
+ main()
@@ -0,0 +1,2 @@
1
+ build
2
+ setuptools
@@ -0,0 +1,24 @@
1
+ #
2
+ # This file is autogenerated by pip-compile with Python 3.12
3
+ # by the following command:
4
+ #
5
+ # pip-compile --allow-unsafe --generate-hashes build-requirements.in
6
+ #
7
+ build==1.2.2.post1 \
8
+ --hash=sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5 \
9
+ --hash=sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7
10
+ # via -r build-requirements.in
11
+ packaging==24.2 \
12
+ --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
13
+ --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
14
+ # via build
15
+ pyproject-hooks==1.2.0 \
16
+ --hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
17
+ --hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
18
+ # via build
19
+
20
+ # The following packages are considered to be unsafe in a requirements file:
21
+ setuptools==75.8.0 \
22
+ --hash=sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6 \
23
+ --hash=sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3
24
+ # via -r build-requirements.in
@@ -17,7 +17,6 @@ extensions = [
17
17
  # first-party extensions
18
18
  "sphinx.ext.autodoc",
19
19
  "sphinx.ext.todo",
20
- "sphinx.ext.extlinks",
21
20
  "sphinx.ext.intersphinx",
22
21
  # our extensions
23
22
  "pip_sphinxext",
@@ -26,6 +25,7 @@ extensions = [
26
25
  "sphinx_copybutton",
27
26
  "sphinx_inline_tabs",
28
27
  "sphinxcontrib.towncrier",
28
+ "sphinx_issues",
29
29
  ]
30
30
 
31
31
  # General information about the project.
@@ -71,14 +71,6 @@ intersphinx_mapping = {
71
71
  "pypug": ("https://packaging.python.org", None),
72
72
  }
73
73
 
74
- # -- Options for extlinks -------------------------------------------------------------
75
-
76
- extlinks = {
77
- "issue": ("https://github.com/pypa/pip/issues/%s", "#%s"),
78
- "pull": ("https://github.com/pypa/pip/pull/%s", "PR #%s"),
79
- "pypi": ("https://pypi.org/project/%s/", "%s"),
80
- }
81
-
82
74
  # -- Options for towncrier_draft extension --------------------------------------------
83
75
 
84
76
  towncrier_draft_autoversion_mode = "draft" # or: 'sphinx-release', 'sphinx-version'
@@ -137,3 +129,7 @@ man_pages = determine_man_pages()
137
129
  copybutton_prompt_text = r"\$ | C\:\> "
138
130
  copybutton_prompt_is_regexp = True
139
131
  copybutton_only_copy_prompt_lines = False
132
+
133
+ # -- Options for sphinx_issues --------------------------------------------------------
134
+
135
+ issues_default_group_project = "pypa/pip"
@@ -154,7 +154,7 @@ Its main addition consists of the following function:
154
154
 
155
155
  .. py:method:: get_default_values()
156
156
 
157
- Overrides the original method to allow updating the defaults ater the instantiation of the
157
+ Overrides the original method to allow updating the defaults after the instantiation of the
158
158
  option parser.
159
159
 
160
160
  It allows overriding the default options and arguments using the ``Configuration`` class
@@ -134,7 +134,7 @@ Once it has those, it selects one file and downloads it.
134
134
  cannot….should not be …. ? I want only the Flask …. Why am I getting the
135
135
  whole list?
136
136
 
137
- Answer: It's not every file, just files of Flask. No API for getting alllllll
137
+ Answer: It's not every file, just files of Flask. No API for getting all
138
138
  files on PyPI. It’s for getting all files of Flask.)
139
139
 
140
140
  .. _`tracking issue`: https://github.com/pypa/pip/issues/6831
@@ -146,11 +146,8 @@ Creating a new release
146
146
  This will update the relevant files and tag the correct commit.
147
147
  #. Submit the ``release/YY.N`` branch as a pull request and ensure CI passes.
148
148
  Merge the changes back into ``main`` and pull them back locally.
149
- #. Build the release artifacts using ``nox -s build-release -- YY.N``.
150
- This will checkout the tag, generate the distribution files to be
151
- uploaded and checkout the main branch again.
152
- #. Upload the release to PyPI using ``nox -s upload-release -- YY.N``.
153
- #. Push the tag created by ``prepare-release``.
149
+ #. Push the tag created by ``prepare-release``. This will trigger the release
150
+ workflow on GitHub and publish to PyPI.
154
151
  #. Regenerate the ``get-pip.py`` script in the `get-pip repository`_ (as
155
152
  documented there) and commit the results.
156
153
  #. Submit a Pull Request to `CPython`_ adding the new version of pip
@@ -56,9 +56,9 @@ examples of all these forms, see {ref}`pip install Examples`.
56
56
 
57
57
  ### Encoding
58
58
 
59
- Requirements files are `utf-8` encoding by default and also support
60
- {pep}`263` style comments to change the encoding (i.e.
61
- `# -*- coding: <encoding name> -*-`).
59
+ The default encoding for requirement files is `UTF-8` unless a different
60
+ encoding is specified using a {pep}`263` style comment (e.g. `# -*- coding:
61
+ <encoding name> -*-`).
62
62
 
63
63
  ### Line continuations
64
64
 
@@ -163,25 +163,6 @@ from the subprocess in which they run Pip. You won't know whether the keyring
163
163
  backend is waiting the user input or not in such situations.
164
164
  ```
165
165
 
166
- pip is conservative and does not query keyring at all when `--no-input` is used
167
- because the keyring might require user interaction such as prompting the user
168
- on the console. You can force keyring usage by passing `--force-keyring` or one
169
- of the following:
170
-
171
- ```bash
172
- # possibly with --user, --global or --site
173
- $ pip config set global.force-keyring true
174
- # or
175
- $ export PIP_FORCE_KEYRING=1
176
- ```
177
-
178
- ```{warning}
179
- Be careful when doing this since it could cause tools such as pipx and Pipenv
180
- to appear to hang. They show their own progress indicator while hiding output
181
- from the subprocess in which they run Pip. You won't know whether the keyring
182
- backend is waiting the user input or not in such situations.
183
- ```
184
-
185
166
  Note that `keyring` (the Python package) needs to be installed separately from
186
167
  pip. This can create a bootstrapping issue if you need the credentials stored in
187
168
  the keyring to download and install keyring.
@@ -512,7 +512,7 @@ _Suggested content:_
512
512
  _Page purpose:_
513
513
 
514
514
  - To onboard people who want to contribute to pip's docs
515
- - To share previous research and recommendataions related to pip's docs
515
+ - To share previous research and recommendations related to pip's docs
516
516
 
517
517
  _Suggested content:_
518
518
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Problem
4
4
 
5
- We want to develop personas for pip's user to facilate faster user-centered decision making for the pip development team.
5
+ We want to develop personas for pip's user to facilitate faster user-centered decision making for the pip development team.
6
6
 
7
7
  [Skip to recommendations](#recommendations)
8
8
 
@@ -66,7 +66,7 @@ Most respondents use `--force-reinstall` "almost never" (65.6%):
66
66
  ![screenshot of survey question of how often users use --force-reinstall](https://i.imgur.com/fjLQUPV.png)
67
67
  ![bar chart of how often users use --force-reinstall](https://i.imgur.com/Xe1XDkI.png)
68
68
 
69
- Amongst respondents who said they use `--force-resinstall` often or very often:
69
+ Amongst respondents who said they use `--force-reinstall` often or very often:
70
70
 
71
71
  - 54.54% (6/11) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
72
72
  - 45.45% (5/11) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
@@ -76,7 +76,7 @@ Respondents find `--force-reinstall` less useful than useful:
76
76
  ![screenshot of survey question of how useful users find --force-reinstall](https://i.imgur.com/6cv4lFn.png)
77
77
  ![bar chart of how useful users find --force-reinstall](https://i.imgur.com/gMUBDBo.png)
78
78
 
79
- Amongst respondents who said they find `--force-resinstall` useful or very useful:
79
+ Amongst respondents who said they find `--force-reinstall` useful or very useful:
80
80
 
81
81
  - 38.46% (20/52) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
82
82
  - 50% (26/52) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
@@ -89,7 +89,7 @@ In this case, we recommend showing the following message when a user tries to us
89
89
 
90
90
  > Error: the pip install --force-reinstall option no longer exists. Use pip uninstall then pip install to replace up-to-date packages, or pip install --upgrade to update your packages to the latest available versions.
91
91
 
92
- Should the pip development team wish to keep `--force-resintall`, we recommend maintaining the current (implicit upgrade) behaviour, as pip's users have not expressed a clear preference for a different behaviour.
92
+ Should the pip development team wish to keep `--force-reinstall`, we recommend maintaining the current (implicit upgrade) behaviour, as pip's users have not expressed a clear preference for a different behaviour.
93
93
 
94
94
  In this case, we recommend upgrading the [help text](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-force-reinstall) to be more explicit:
95
95
 
@@ -109,9 +109,9 @@ Results varied by the amount of Python experience the user had.
109
109
 
110
110
  ![Screenshot of Install a package from wheels](https://i.imgur.com/9DMBfNL.png)
111
111
 
112
- #### Install apackage from a local directory
112
+ #### Install a package from a local directory
113
113
 
114
- ![Screenshot of Install apackage from a local directory](https://i.imgur.com/Jp95rak.png)
114
+ ![Screenshot of Install a package from a local directory](https://i.imgur.com/Jp95rak.png)
115
115
 
116
116
  #### Control where you want your installed package to live on your computer
117
117
 
@@ -56,6 +56,8 @@ Both of these groups identified their "sphere of influence" and did their best t
56
56
 
57
57
  ### User thoughts about security
58
58
 
59
+ Selected quotes from research participants
60
+
59
61
  #### Responsibility as author
60
62
 
61
63
  Participants who spent a lot of their time writing Python code - either for community or as part of their job - expressed a responsibility to their users for the code they wrote - people who wrote code which was made public expressed a stronger responsibility.
@@ -76,8 +78,7 @@ Participants also explained they rely on code security scanning and checking sof
76
78
 
77
79
  #### Reliance on good software development practices
78
80
 
79
- A small number of participants e### Selected quotes from research participants
80
- xplained they have good software practices in place, which help with writing secure software.
81
+ A small number of participants explained they have good software practices in place, which help with writing secure software.
81
82
 
82
83
  > "We have a book about ethics of code - we have mandatory certification."
83
84
 
@@ -7,6 +7,7 @@ myst_parser
7
7
  sphinx-copybutton
8
8
  sphinx-inline-tabs
9
9
  sphinxcontrib-towncrier >= 0.2.0a0
10
+ sphinx-issues
10
11
 
11
12
  # `docs.pipext` uses pip's internals to generate documentation. So, we install
12
13
  # the current directory to make it work.
@@ -60,8 +60,6 @@ exclude = ["contrib", "docs", "tests*", "tasks"]
60
60
  "pip" = ["py.typed"]
61
61
  "pip._vendor" = ["vendor.txt"]
62
62
  "pip._vendor.certifi" = ["*.pem"]
63
- "pip._vendor.requests" = ["*.pem"]
64
- "pip._vendor.distlib._backport" = ["sysconfig.cfg"]
65
63
  "pip._vendor.distlib" = [
66
64
  "t32.exe",
67
65
  "t64.exe",
@@ -123,6 +121,9 @@ drop = [
123
121
  "bin/",
124
122
  # interpreter and OS specific msgpack libs
125
123
  "msgpack/*.so",
124
+ # optional accelerator extension libraries
125
+ "*mypyc*.so",
126
+ "tomli/*.so",
126
127
  # unneeded parts of setuptools
127
128
  "easy_install.py",
128
129
  "setuptools",
@@ -304,10 +305,7 @@ source0 = [
304
305
  ]
305
306
 
306
307
  [tool.coverage.report]
307
- exclude_lines = [
308
- # We must re-state the default because the `exclude_lines` option overrides
309
- # it.
310
- "pragma: no cover",
308
+ exclude_also = [
311
309
  # This excludes typing-specific code, which will be validated by mypy anyway.
312
310
  "if TYPE_CHECKING",
313
311
  ]
@@ -1,6 +1,6 @@
1
1
  from typing import List, Optional
2
2
 
3
- __version__ = "24.3"
3
+ __version__ = "25.0"
4
4
 
5
5
 
6
6
  def main(args: Optional[List[str]] = None) -> int:
@@ -246,6 +246,8 @@ class BuildEnvironment:
246
246
  # target from config file or env var should be ignored
247
247
  "--target",
248
248
  "",
249
+ "--cert",
250
+ finder.custom_cert or where(),
249
251
  ]
250
252
  if logger.getEffectiveLevel() <= logging.DEBUG:
251
253
  args.append("-vv")
@@ -270,21 +272,23 @@ class BuildEnvironment:
270
272
  for link in finder.find_links:
271
273
  args.extend(["--find-links", link])
272
274
 
275
+ if finder.proxy:
276
+ args.extend(["--proxy", finder.proxy])
273
277
  for host in finder.trusted_hosts:
274
278
  args.extend(["--trusted-host", host])
279
+ if finder.client_cert:
280
+ args.extend(["--client-cert", finder.client_cert])
275
281
  if finder.allow_all_prereleases:
276
282
  args.append("--pre")
277
283
  if finder.prefer_binary:
278
284
  args.append("--prefer-binary")
279
285
  args.append("--")
280
286
  args.extend(requirements)
281
- extra_environ = {"_PIP_STANDALONE_CERT": where()}
282
287
  with open_spinner(f"Installing {kind}") as spinner:
283
288
  call_subprocess(
284
289
  args,
285
290
  command_desc=f"pip subprocess to install {kind}",
286
291
  spinner=spinner,
287
- extra_environ=extra_environ,
288
292
  )
289
293
 
290
294
 
@@ -29,6 +29,7 @@ from pip._internal.exceptions import (
29
29
  NetworkConnectionError,
30
30
  PreviousBuildDirError,
31
31
  )
32
+ from pip._internal.utils.deprecation import deprecated
32
33
  from pip._internal.utils.filesystem import check_path_owner
33
34
  from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging
34
35
  from pip._internal.utils.misc import get_prog, normalize_path
@@ -228,4 +229,12 @@ class Command(CommandContextMixIn):
228
229
  )
229
230
  options.cache_dir = None
230
231
 
232
+ if options.no_python_version_warning:
233
+ deprecated(
234
+ reason="--no-python-version-warning is deprecated.",
235
+ replacement="to remove the flag as it's a no-op",
236
+ gone_in="25.1",
237
+ issue=13154,
238
+ )
239
+
231
240
  return self._run_wrapper(level_number, options, args)
@@ -260,8 +260,8 @@ keyring_provider: Callable[..., Option] = partial(
260
260
  default="auto",
261
261
  help=(
262
262
  "Enable the credential lookup via the keyring library if user input is allowed."
263
- " Specify which mechanism to use [disabled, import, subprocess]."
264
- " (default: disabled)"
263
+ " Specify which mechanism to use [auto, disabled, import, subprocess]."
264
+ " (default: %default)"
265
265
  ),
266
266
  )
267
267
 
@@ -123,6 +123,7 @@ class SessionCommandMixin(CommandContextMixIn):
123
123
  "https": options.proxy,
124
124
  }
125
125
  session.trust_env = False
126
+ session.pip_proxy = options.proxy
126
127
 
127
128
  # Determine if we can prompt the user for authentication or not
128
129
  session.auth.prompting = not options.no_input
@@ -63,7 +63,7 @@ def _raw_progress_bar(
63
63
  size: Optional[int],
64
64
  ) -> Generator[bytes, None, None]:
65
65
  def write_progress(current: int, total: int) -> None:
66
- sys.stdout.write("Progress %d of %d\n" % (current, total))
66
+ sys.stdout.write(f"Progress {current} of {total}\n")
67
67
  sys.stdout.flush()
68
68
 
69
69
  current = 0
@@ -8,6 +8,7 @@ from pip._internal.cli.status_codes import ERROR, SUCCESS
8
8
  from pip._internal.exceptions import CommandError, PipError
9
9
  from pip._internal.utils import filesystem
10
10
  from pip._internal.utils.logging import getLogger
11
+ from pip._internal.utils.misc import format_size
11
12
 
12
13
  logger = getLogger(__name__)
13
14
 
@@ -180,10 +181,12 @@ class CacheCommand(Command):
180
181
  if not files:
181
182
  logger.warning(no_matching_msg)
182
183
 
184
+ bytes_removed = 0
183
185
  for filename in files:
186
+ bytes_removed += os.stat(filename).st_size
184
187
  os.unlink(filename)
185
188
  logger.verbose("Removed %s", filename)
186
- logger.info("Files removed: %s", len(files))
189
+ logger.info("Files removed: %s (%s)", len(files), format_size(bytes_removed))
187
190
 
188
191
  def purge_cache(self, options: Values, args: List[Any]) -> None:
189
192
  if args: