pip 25.2__tar.gz → 26.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 (590) hide show
  1. {pip-25.2 → pip-26.0}/AUTHORS.txt +27 -0
  2. {pip-25.2 → pip-26.0}/NEWS.rst +120 -0
  3. {pip-25.2 → pip-26.0}/PKG-INFO +10 -11
  4. {pip-25.2 → pip-26.0}/README.rst +1 -1
  5. pip-26.0/build-project/build-requirements.in +2 -0
  6. pip-26.0/build-project/build-requirements.txt +22 -0
  7. {pip-25.2 → pip-26.0}/docs/html/cli/pip.rst +1 -1
  8. {pip-25.2 → pip-26.0}/docs/html/cli/pip_download.rst +2 -0
  9. {pip-25.2 → pip-26.0}/docs/html/cli/pip_freeze.rst +9 -0
  10. {pip-25.2 → pip-26.0}/docs/html/cli/pip_index.rst +3 -0
  11. {pip-25.2 → pip-26.0}/docs/html/cli/pip_install.rst +19 -19
  12. {pip-25.2 → pip-26.0}/docs/html/cli/pip_list.rst +2 -0
  13. {pip-25.2 → pip-26.0}/docs/html/cli/pip_lock.rst +3 -1
  14. {pip-25.2 → pip-26.0}/docs/html/cli/pip_wheel.rst +3 -1
  15. {pip-25.2 → pip-26.0}/docs/html/development/architecture/anatomy.rst +0 -2
  16. {pip-25.2 → pip-26.0}/docs/html/development/architecture/overview.rst +2 -2
  17. {pip-25.2 → pip-26.0}/docs/html/development/contributing.rst +1 -1
  18. {pip-25.2 → pip-26.0}/docs/html/development/getting-started.rst +2 -2
  19. {pip-25.2 → pip-26.0}/docs/html/index.md +7 -0
  20. pip-25.2/docs/html/reference/build-system/pyproject-toml.md → pip-26.0/docs/html/reference/build-system.md +39 -24
  21. {pip-25.2 → pip-26.0}/docs/html/reference/index.md +1 -1
  22. {pip-25.2 → pip-26.0}/docs/html/reference/requirements-file-format.md +0 -28
  23. {pip-25.2 → pip-26.0}/docs/html/topics/dependency-resolution.md +10 -2
  24. {pip-25.2 → pip-26.0}/docs/html/topics/https-certificates.md +3 -0
  25. {pip-25.2 → pip-26.0}/docs/html/topics/local-project-installs.md +0 -11
  26. {pip-25.2 → pip-26.0}/docs/html/topics/repeatable-installs.md +0 -7
  27. {pip-25.2 → pip-26.0}/docs/html/topics/secure-installs.md +0 -4
  28. {pip-25.2 → pip-26.0}/docs/html/topics/vcs-support.md +33 -9
  29. {pip-25.2 → pip-26.0}/docs/html/user_guide.rst +160 -8
  30. {pip-25.2 → pip-26.0}/docs/pip_sphinxext.py +12 -0
  31. {pip-25.2 → pip-26.0}/pyproject.toml +55 -30
  32. {pip-25.2 → pip-26.0}/src/pip/__init__.py +1 -1
  33. {pip-25.2 → pip-26.0}/src/pip/_internal/build_env.py +265 -8
  34. {pip-25.2 → pip-26.0}/src/pip/_internal/cache.py +1 -1
  35. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/base_command.py +11 -0
  36. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/cmdoptions.py +200 -71
  37. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/index_command.py +20 -0
  38. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/main.py +11 -6
  39. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/main_parser.py +3 -1
  40. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/parser.py +96 -36
  41. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/progress_bars.py +4 -2
  42. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/req_command.py +126 -30
  43. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/cache.py +24 -0
  44. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/completion.py +2 -1
  45. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/download.py +12 -11
  46. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/index.py +13 -6
  47. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/install.py +55 -43
  48. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/list.py +14 -16
  49. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/lock.py +19 -14
  50. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/wheel.py +13 -23
  51. {pip-25.2 → pip-26.0}/src/pip/_internal/configuration.py +1 -2
  52. {pip-25.2 → pip-26.0}/src/pip/_internal/distributions/sdist.py +13 -14
  53. {pip-25.2 → pip-26.0}/src/pip/_internal/exceptions.py +96 -6
  54. {pip-25.2 → pip-26.0}/src/pip/_internal/index/collector.py +2 -3
  55. {pip-25.2 → pip-26.0}/src/pip/_internal/index/package_finder.py +87 -21
  56. {pip-25.2 → pip-26.0}/src/pip/_internal/locations/__init__.py +1 -2
  57. {pip-25.2 → pip-26.0}/src/pip/_internal/locations/_sysconfig.py +4 -1
  58. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/__init__.py +7 -2
  59. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/importlib/_dists.py +8 -2
  60. {pip-25.2 → pip-26.0}/src/pip/_internal/models/link.py +18 -14
  61. pip-26.0/src/pip/_internal/models/release_control.py +92 -0
  62. {pip-25.2 → pip-26.0}/src/pip/_internal/models/selection_prefs.py +6 -3
  63. pip-26.0/src/pip/_internal/models/wheel.py +80 -0
  64. {pip-25.2 → pip-26.0}/src/pip/_internal/network/auth.py +6 -2
  65. {pip-25.2 → pip-26.0}/src/pip/_internal/network/cache.py +6 -11
  66. {pip-25.2 → pip-26.0}/src/pip/_internal/network/download.py +4 -5
  67. {pip-25.2 → pip-26.0}/src/pip/_internal/network/lazy_wheel.py +5 -3
  68. {pip-25.2 → pip-26.0}/src/pip/_internal/network/session.py +14 -10
  69. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/build/wheel.py +4 -4
  70. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/build/wheel_editable.py +4 -4
  71. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/install/wheel.py +1 -2
  72. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/prepare.py +9 -4
  73. {pip-25.2 → pip-26.0}/src/pip/_internal/pyproject.py +2 -61
  74. {pip-25.2 → pip-26.0}/src/pip/_internal/req/__init__.py +1 -3
  75. {pip-25.2 → pip-26.0}/src/pip/_internal/req/constructors.py +45 -39
  76. pip-26.0/src/pip/_internal/req/pep723.py +41 -0
  77. {pip-25.2 → pip-26.0}/src/pip/_internal/req/req_file.py +10 -2
  78. {pip-25.2 → pip-26.0}/src/pip/_internal/req/req_install.py +32 -141
  79. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/candidates.py +20 -11
  80. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/factory.py +43 -1
  81. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/provider.py +9 -0
  82. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/reporter.py +21 -8
  83. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/requirements.py +7 -3
  84. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/resolver.py +2 -6
  85. {pip-25.2 → pip-26.0}/src/pip/_internal/self_outdated_check.py +17 -16
  86. pip-26.0/src/pip/_internal/utils/datetime.py +28 -0
  87. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/filesystem.py +52 -1
  88. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/logging.py +34 -2
  89. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/misc.py +18 -12
  90. pip-26.0/src/pip/_internal/utils/pylock.py +116 -0
  91. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/unpacking.py +26 -1
  92. {pip-25.2 → pip-26.0}/src/pip/_internal/vcs/versioncontrol.py +3 -1
  93. {pip-25.2 → pip-26.0}/src/pip/_internal/wheel_builder.py +23 -96
  94. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/__init__.py +6 -3
  95. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/adapter.py +0 -1
  96. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/controller.py +1 -1
  97. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/filewrapper.py +3 -1
  98. {pip-25.2 → pip-26.0}/src/pip/_vendor/certifi/__init__.py +1 -1
  99. {pip-25.2 → pip-26.0}/src/pip/_vendor/certifi/cacert.pem +62 -372
  100. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/LICENSE.md +1 -1
  101. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/codec.py +1 -1
  102. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/core.py +1 -1
  103. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/idnadata.py +72 -6
  104. pip-26.0/src/pip/_vendor/idna/package_data.py +1 -0
  105. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/uts46data.py +891 -731
  106. {pip-25.2 → pip-26.0}/src/pip/_vendor/msgpack/__init__.py +2 -2
  107. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/__init__.py +1 -1
  108. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/_elffile.py +0 -1
  109. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/_manylinux.py +36 -36
  110. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/_musllinux.py +1 -1
  111. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/_parser.py +22 -10
  112. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/_structures.py +8 -0
  113. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/_tokenizer.py +23 -25
  114. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/licenses/__init__.py +13 -11
  115. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/licenses/_spdx.py +41 -1
  116. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/markers.py +64 -38
  117. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/metadata.py +143 -27
  118. pip-26.0/src/pip/_vendor/packaging/pylock.py +635 -0
  119. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/requirements.py +5 -10
  120. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/specifiers.py +219 -170
  121. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/tags.py +15 -20
  122. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/utils.py +19 -24
  123. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/version.py +315 -105
  124. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/api.py +1 -1
  125. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/macos.py +10 -8
  126. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/version.py +16 -3
  127. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/windows.py +7 -1
  128. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/__version__.py +2 -2
  129. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/adapters.py +17 -40
  130. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/sessions.py +1 -1
  131. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/__init__.py +1 -1
  132. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/abstract.py +3 -3
  133. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/resolution.py +5 -0
  134. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/style.py +7 -11
  135. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli/__init__.py +1 -1
  136. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli/_parser.py +28 -21
  137. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli/_re.py +8 -5
  138. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/__init__.py +1 -1
  139. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/_api.py +14 -6
  140. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/_openssl.py +3 -1
  141. pip-26.0/src/pip/_vendor/vendor.txt +19 -0
  142. pip-25.2/MANIFEST.in +0 -34
  143. pip-25.2/build-project/build-requirements.in +0 -2
  144. pip-25.2/build-project/build-requirements.txt +0 -24
  145. pip-25.2/docs/html/reference/build-system/index.md +0 -127
  146. pip-25.2/docs/html/reference/build-system/setup-py.md +0 -124
  147. pip-25.2/docs/requirements.txt +0 -14
  148. pip-25.2/setup.cfg +0 -4
  149. pip-25.2/src/pip/_internal/models/pylock.py +0 -188
  150. pip-25.2/src/pip/_internal/models/wheel.py +0 -141
  151. pip-25.2/src/pip/_internal/operations/build/metadata_legacy.py +0 -73
  152. pip-25.2/src/pip/_internal/operations/build/wheel_legacy.py +0 -119
  153. pip-25.2/src/pip/_internal/operations/install/editable_legacy.py +0 -48
  154. pip-25.2/src/pip/_internal/utils/datetime.py +0 -10
  155. pip-25.2/src/pip/_internal/utils/setuptools_build.py +0 -149
  156. pip-25.2/src/pip/_vendor/idna/package_data.py +0 -1
  157. pip-25.2/src/pip/_vendor/tomli/LICENSE-HEADER +0 -3
  158. pip-25.2/src/pip/_vendor/vendor.txt +0 -19
  159. pip-25.2/src/pip.egg-info/PKG-INFO +0 -112
  160. pip-25.2/src/pip.egg-info/SOURCES.txt +0 -578
  161. pip-25.2/src/pip.egg-info/dependency_links.txt +0 -1
  162. pip-25.2/src/pip.egg-info/entry_points.txt +0 -3
  163. pip-25.2/src/pip.egg-info/top_level.txt +0 -1
  164. {pip-25.2 → pip-26.0}/LICENSE.txt +0 -0
  165. {pip-25.2 → pip-26.0}/SECURITY.md +0 -0
  166. {pip-25.2 → pip-26.0}/build-project/.python-version +0 -0
  167. {pip-25.2 → pip-26.0}/build-project/build-project.py +0 -0
  168. {pip-25.2 → pip-26.0}/docs/html/cli/index.md +0 -0
  169. {pip-25.2 → pip-26.0}/docs/html/cli/pip_cache.rst +0 -0
  170. {pip-25.2 → pip-26.0}/docs/html/cli/pip_check.rst +0 -0
  171. {pip-25.2 → pip-26.0}/docs/html/cli/pip_config.rst +0 -0
  172. {pip-25.2 → pip-26.0}/docs/html/cli/pip_debug.rst +0 -0
  173. {pip-25.2 → pip-26.0}/docs/html/cli/pip_hash.rst +0 -0
  174. {pip-25.2 → pip-26.0}/docs/html/cli/pip_inspect.rst +0 -0
  175. {pip-25.2 → pip-26.0}/docs/html/cli/pip_search.rst +0 -0
  176. {pip-25.2 → pip-26.0}/docs/html/cli/pip_show.rst +0 -0
  177. {pip-25.2 → pip-26.0}/docs/html/cli/pip_uninstall.rst +0 -0
  178. {pip-25.2 → pip-26.0}/docs/html/conf.py +0 -0
  179. {pip-25.2 → pip-26.0}/docs/html/copyright.rst +0 -0
  180. {pip-25.2 → pip-26.0}/docs/html/development/architecture/command-line-interface.rst +0 -0
  181. {pip-25.2 → pip-26.0}/docs/html/development/architecture/configuration-files.rst +0 -0
  182. {pip-25.2 → pip-26.0}/docs/html/development/architecture/index.rst +0 -0
  183. {pip-25.2 → pip-26.0}/docs/html/development/architecture/package-finding.rst +0 -0
  184. {pip-25.2 → pip-26.0}/docs/html/development/architecture/upgrade-options.rst +0 -0
  185. {pip-25.2 → pip-26.0}/docs/html/development/ci.rst +0 -0
  186. {pip-25.2 → pip-26.0}/docs/html/development/conventions.rst +0 -0
  187. {pip-25.2 → pip-26.0}/docs/html/development/index.rst +0 -0
  188. {pip-25.2 → pip-26.0}/docs/html/development/issue-triage.md +0 -0
  189. {pip-25.2 → pip-26.0}/docs/html/development/release-process.rst +0 -0
  190. {pip-25.2 → pip-26.0}/docs/html/development/vendoring-policy.rst +0 -0
  191. {pip-25.2 → pip-26.0}/docs/html/getting-started.md +0 -0
  192. {pip-25.2 → pip-26.0}/docs/html/installation.md +0 -0
  193. {pip-25.2 → pip-26.0}/docs/html/installing.rst +0 -0
  194. {pip-25.2 → pip-26.0}/docs/html/news.rst +0 -0
  195. {pip-25.2 → pip-26.0}/docs/html/quickstart.rst +0 -0
  196. {pip-25.2 → pip-26.0}/docs/html/reference/inspect-report.md +0 -0
  197. {pip-25.2 → pip-26.0}/docs/html/reference/installation-report.md +0 -0
  198. {pip-25.2 → pip-26.0}/docs/html/reference/pip.rst +0 -0
  199. {pip-25.2 → pip-26.0}/docs/html/reference/pip_cache.rst +0 -0
  200. {pip-25.2 → pip-26.0}/docs/html/reference/pip_check.rst +0 -0
  201. {pip-25.2 → pip-26.0}/docs/html/reference/pip_config.rst +0 -0
  202. {pip-25.2 → pip-26.0}/docs/html/reference/pip_debug.rst +0 -0
  203. {pip-25.2 → pip-26.0}/docs/html/reference/pip_download.rst +0 -0
  204. {pip-25.2 → pip-26.0}/docs/html/reference/pip_freeze.rst +0 -0
  205. {pip-25.2 → pip-26.0}/docs/html/reference/pip_hash.rst +0 -0
  206. {pip-25.2 → pip-26.0}/docs/html/reference/pip_index.rst +0 -0
  207. {pip-25.2 → pip-26.0}/docs/html/reference/pip_install.rst +0 -0
  208. {pip-25.2 → pip-26.0}/docs/html/reference/pip_list.rst +0 -0
  209. {pip-25.2 → pip-26.0}/docs/html/reference/pip_search.rst +0 -0
  210. {pip-25.2 → pip-26.0}/docs/html/reference/pip_show.rst +0 -0
  211. {pip-25.2 → pip-26.0}/docs/html/reference/pip_uninstall.rst +0 -0
  212. {pip-25.2 → pip-26.0}/docs/html/reference/pip_wheel.rst +0 -0
  213. {pip-25.2 → pip-26.0}/docs/html/reference/requirement-specifiers.md +0 -0
  214. {pip-25.2 → pip-26.0}/docs/html/topics/authentication.md +0 -0
  215. {pip-25.2 → pip-26.0}/docs/html/topics/caching.md +0 -0
  216. {pip-25.2 → pip-26.0}/docs/html/topics/configuration.md +0 -0
  217. {pip-25.2 → pip-26.0}/docs/html/topics/deps.dot +0 -0
  218. {pip-25.2 → pip-26.0}/docs/html/topics/deps.png +0 -0
  219. {pip-25.2 → pip-26.0}/docs/html/topics/index.md +0 -0
  220. {pip-25.2 → pip-26.0}/docs/html/topics/more-dependency-resolution.md +0 -0
  221. {pip-25.2 → pip-26.0}/docs/html/topics/python-option.md +0 -0
  222. {pip-25.2 → pip-26.0}/docs/html/topics/workflow.md +0 -0
  223. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/contribute.md +0 -0
  224. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/guidance.md +0 -0
  225. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/index.md +0 -0
  226. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
  227. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
  228. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +0 -0
  229. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/index.md +0 -0
  230. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
  231. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
  232. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/personas.md +0 -0
  233. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +0 -0
  234. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
  235. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
  236. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/prioritizing-features.md +0 -0
  237. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/research-results/users-and-security.md +0 -0
  238. {pip-25.2 → pip-26.0}/docs/html/ux-research-design/resolution-impossible-example.md +0 -0
  239. {pip-25.2 → pip-26.0}/docs/man/commands/cache.rst +0 -0
  240. {pip-25.2 → pip-26.0}/docs/man/commands/check.rst +0 -0
  241. {pip-25.2 → pip-26.0}/docs/man/commands/config.rst +0 -0
  242. {pip-25.2 → pip-26.0}/docs/man/commands/debug.rst +0 -0
  243. {pip-25.2 → pip-26.0}/docs/man/commands/download.rst +0 -0
  244. {pip-25.2 → pip-26.0}/docs/man/commands/freeze.rst +0 -0
  245. {pip-25.2 → pip-26.0}/docs/man/commands/hash.rst +0 -0
  246. {pip-25.2 → pip-26.0}/docs/man/commands/help.rst +0 -0
  247. {pip-25.2 → pip-26.0}/docs/man/commands/index.rst +0 -0
  248. {pip-25.2 → pip-26.0}/docs/man/commands/install.rst +0 -0
  249. {pip-25.2 → pip-26.0}/docs/man/commands/list.rst +0 -0
  250. {pip-25.2 → pip-26.0}/docs/man/commands/lock.rst +0 -0
  251. {pip-25.2 → pip-26.0}/docs/man/commands/search.rst +0 -0
  252. {pip-25.2 → pip-26.0}/docs/man/commands/show.rst +0 -0
  253. {pip-25.2 → pip-26.0}/docs/man/commands/uninstall.rst +0 -0
  254. {pip-25.2 → pip-26.0}/docs/man/commands/wheel.rst +0 -0
  255. {pip-25.2 → pip-26.0}/docs/man/index.rst +0 -0
  256. {pip-25.2 → pip-26.0}/src/pip/__main__.py +0 -0
  257. {pip-25.2 → pip-26.0}/src/pip/__pip-runner__.py +0 -0
  258. {pip-25.2 → pip-26.0}/src/pip/_internal/__init__.py +0 -0
  259. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/__init__.py +0 -0
  260. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/autocompletion.py +0 -0
  261. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/command_context.py +0 -0
  262. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/spinners.py +0 -0
  263. {pip-25.2 → pip-26.0}/src/pip/_internal/cli/status_codes.py +0 -0
  264. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/__init__.py +0 -0
  265. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/check.py +0 -0
  266. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/configuration.py +0 -0
  267. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/debug.py +0 -0
  268. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/freeze.py +0 -0
  269. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/hash.py +0 -0
  270. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/help.py +0 -0
  271. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/inspect.py +0 -0
  272. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/search.py +0 -0
  273. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/show.py +0 -0
  274. {pip-25.2 → pip-26.0}/src/pip/_internal/commands/uninstall.py +0 -0
  275. {pip-25.2 → pip-26.0}/src/pip/_internal/distributions/__init__.py +0 -0
  276. {pip-25.2 → pip-26.0}/src/pip/_internal/distributions/base.py +0 -0
  277. {pip-25.2 → pip-26.0}/src/pip/_internal/distributions/installed.py +0 -0
  278. {pip-25.2 → pip-26.0}/src/pip/_internal/distributions/wheel.py +0 -0
  279. {pip-25.2 → pip-26.0}/src/pip/_internal/index/__init__.py +0 -0
  280. {pip-25.2 → pip-26.0}/src/pip/_internal/index/sources.py +0 -0
  281. {pip-25.2 → pip-26.0}/src/pip/_internal/locations/_distutils.py +0 -0
  282. {pip-25.2 → pip-26.0}/src/pip/_internal/locations/base.py +0 -0
  283. {pip-25.2 → pip-26.0}/src/pip/_internal/main.py +0 -0
  284. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/_json.py +0 -0
  285. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/base.py +0 -0
  286. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
  287. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
  288. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/importlib/_envs.py +0 -0
  289. {pip-25.2 → pip-26.0}/src/pip/_internal/metadata/pkg_resources.py +0 -0
  290. {pip-25.2 → pip-26.0}/src/pip/_internal/models/__init__.py +0 -0
  291. {pip-25.2 → pip-26.0}/src/pip/_internal/models/candidate.py +0 -0
  292. {pip-25.2 → pip-26.0}/src/pip/_internal/models/direct_url.py +0 -0
  293. {pip-25.2 → pip-26.0}/src/pip/_internal/models/format_control.py +0 -0
  294. {pip-25.2 → pip-26.0}/src/pip/_internal/models/index.py +0 -0
  295. {pip-25.2 → pip-26.0}/src/pip/_internal/models/installation_report.py +0 -0
  296. {pip-25.2 → pip-26.0}/src/pip/_internal/models/scheme.py +0 -0
  297. {pip-25.2 → pip-26.0}/src/pip/_internal/models/search_scope.py +0 -0
  298. {pip-25.2 → pip-26.0}/src/pip/_internal/models/target_python.py +0 -0
  299. {pip-25.2 → pip-26.0}/src/pip/_internal/network/__init__.py +0 -0
  300. {pip-25.2 → pip-26.0}/src/pip/_internal/network/utils.py +0 -0
  301. {pip-25.2 → pip-26.0}/src/pip/_internal/network/xmlrpc.py +0 -0
  302. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/__init__.py +0 -0
  303. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/build/__init__.py +0 -0
  304. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/build/build_tracker.py +0 -0
  305. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/build/metadata.py +0 -0
  306. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/build/metadata_editable.py +0 -0
  307. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/check.py +0 -0
  308. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/freeze.py +0 -0
  309. {pip-25.2 → pip-26.0}/src/pip/_internal/operations/install/__init__.py +0 -0
  310. {pip-25.2 → pip-26.0}/src/pip/_internal/req/req_dependency_group.py +0 -0
  311. {pip-25.2 → pip-26.0}/src/pip/_internal/req/req_set.py +0 -0
  312. {pip-25.2 → pip-26.0}/src/pip/_internal/req/req_uninstall.py +0 -0
  313. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/__init__.py +0 -0
  314. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/base.py +0 -0
  315. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
  316. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
  317. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  318. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
  319. {pip-25.2 → pip-26.0}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  320. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/__init__.py +0 -0
  321. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/_jaraco_text.py +0 -0
  322. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/_log.py +0 -0
  323. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/appdirs.py +0 -0
  324. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/compat.py +0 -0
  325. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/compatibility_tags.py +0 -0
  326. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/deprecation.py +0 -0
  327. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
  328. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/egg_link.py +0 -0
  329. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/entrypoints.py +0 -0
  330. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/filetypes.py +0 -0
  331. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/glibc.py +0 -0
  332. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/hashes.py +0 -0
  333. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/packaging.py +0 -0
  334. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/retry.py +0 -0
  335. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/subprocess.py +0 -0
  336. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/temp_dir.py +0 -0
  337. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/urls.py +0 -0
  338. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/virtualenv.py +0 -0
  339. {pip-25.2 → pip-26.0}/src/pip/_internal/utils/wheel.py +0 -0
  340. {pip-25.2 → pip-26.0}/src/pip/_internal/vcs/__init__.py +0 -0
  341. {pip-25.2 → pip-26.0}/src/pip/_internal/vcs/bazaar.py +0 -0
  342. {pip-25.2 → pip-26.0}/src/pip/_internal/vcs/git.py +0 -0
  343. {pip-25.2 → pip-26.0}/src/pip/_internal/vcs/mercurial.py +0 -0
  344. {pip-25.2 → pip-26.0}/src/pip/_internal/vcs/subversion.py +0 -0
  345. {pip-25.2 → pip-26.0}/src/pip/_vendor/README.rst +0 -0
  346. {pip-25.2 → pip-26.0}/src/pip/_vendor/__init__.py +0 -0
  347. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
  348. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
  349. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/cache.py +0 -0
  350. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  351. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  352. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  353. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/heuristics.py +0 -0
  354. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/py.typed +0 -0
  355. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
  356. {pip-25.2 → pip-26.0}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
  357. {pip-25.2 → pip-26.0}/src/pip/_vendor/certifi/LICENSE +0 -0
  358. {pip-25.2 → pip-26.0}/src/pip/_vendor/certifi/__main__.py +0 -0
  359. {pip-25.2 → pip-26.0}/src/pip/_vendor/certifi/core.py +0 -0
  360. {pip-25.2 → pip-26.0}/src/pip/_vendor/certifi/py.typed +0 -0
  361. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/LICENSE.txt +0 -0
  362. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/__init__.py +0 -0
  363. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/__main__.py +0 -0
  364. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/_implementation.py +0 -0
  365. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
  366. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
  367. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
  368. {pip-25.2 → pip-26.0}/src/pip/_vendor/dependency_groups/py.typed +0 -0
  369. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
  370. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/__init__.py +0 -0
  371. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/compat.py +0 -0
  372. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/resources.py +0 -0
  373. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/scripts.py +0 -0
  374. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/t32.exe +0 -0
  375. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
  376. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/t64.exe +0 -0
  377. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/util.py +0 -0
  378. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/w32.exe +0 -0
  379. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
  380. {pip-25.2 → pip-26.0}/src/pip/_vendor/distlib/w64.exe +0 -0
  381. {pip-25.2 → pip-26.0}/src/pip/_vendor/distro/LICENSE +0 -0
  382. {pip-25.2 → pip-26.0}/src/pip/_vendor/distro/__init__.py +0 -0
  383. {pip-25.2 → pip-26.0}/src/pip/_vendor/distro/__main__.py +0 -0
  384. {pip-25.2 → pip-26.0}/src/pip/_vendor/distro/distro.py +0 -0
  385. {pip-25.2 → pip-26.0}/src/pip/_vendor/distro/py.typed +0 -0
  386. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/__init__.py +0 -0
  387. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/compat.py +0 -0
  388. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/intranges.py +0 -0
  389. {pip-25.2 → pip-26.0}/src/pip/_vendor/idna/py.typed +0 -0
  390. {pip-25.2 → pip-26.0}/src/pip/_vendor/msgpack/COPYING +0 -0
  391. {pip-25.2 → pip-26.0}/src/pip/_vendor/msgpack/exceptions.py +0 -0
  392. {pip-25.2 → pip-26.0}/src/pip/_vendor/msgpack/ext.py +0 -0
  393. {pip-25.2 → pip-26.0}/src/pip/_vendor/msgpack/fallback.py +0 -0
  394. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/LICENSE +0 -0
  395. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
  396. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
  397. {pip-25.2 → pip-26.0}/src/pip/_vendor/packaging/py.typed +0 -0
  398. {pip-25.2 → pip-26.0}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
  399. {pip-25.2 → pip-26.0}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
  400. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/LICENSE +0 -0
  401. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/__init__.py +0 -0
  402. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/__main__.py +0 -0
  403. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/android.py +0 -0
  404. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/py.typed +0 -0
  405. {pip-25.2 → pip-26.0}/src/pip/_vendor/platformdirs/unix.py +0 -0
  406. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/LICENSE +0 -0
  407. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/__init__.py +0 -0
  408. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/__main__.py +0 -0
  409. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/console.py +0 -0
  410. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/filter.py +0 -0
  411. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
  412. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/formatter.py +0 -0
  413. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
  414. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  415. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/lexer.py +0 -0
  416. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
  417. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  418. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/lexers/python.py +0 -0
  419. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/modeline.py +0 -0
  420. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/plugin.py +0 -0
  421. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/regexopt.py +0 -0
  422. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/scanner.py +0 -0
  423. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/sphinxext.py +0 -0
  424. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/style.py +0 -0
  425. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
  426. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
  427. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/token.py +0 -0
  428. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/unistring.py +0 -0
  429. {pip-25.2 → pip-26.0}/src/pip/_vendor/pygments/util.py +0 -0
  430. {pip-25.2 → pip-26.0}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
  431. {pip-25.2 → pip-26.0}/src/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  432. {pip-25.2 → pip-26.0}/src/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  433. {pip-25.2 → pip-26.0}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  434. {pip-25.2 → pip-26.0}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  435. {pip-25.2 → pip-26.0}/src/pip/_vendor/pyproject_hooks/py.typed +0 -0
  436. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/LICENSE +0 -0
  437. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/__init__.py +0 -0
  438. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/_internal_utils.py +0 -0
  439. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/api.py +0 -0
  440. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/auth.py +0 -0
  441. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/certs.py +0 -0
  442. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/compat.py +0 -0
  443. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/cookies.py +0 -0
  444. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/exceptions.py +0 -0
  445. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/help.py +0 -0
  446. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/hooks.py +0 -0
  447. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/models.py +0 -0
  448. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/packages.py +0 -0
  449. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/status_codes.py +0 -0
  450. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/structures.py +0 -0
  451. {pip-25.2 → pip-26.0}/src/pip/_vendor/requests/utils.py +0 -0
  452. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/LICENSE +0 -0
  453. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/providers.py +0 -0
  454. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/py.typed +0 -0
  455. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/reporters.py +0 -0
  456. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
  457. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
  458. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
  459. {pip-25.2 → pip-26.0}/src/pip/_vendor/resolvelib/structs.py +0 -0
  460. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/LICENSE +0 -0
  461. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/__init__.py +0 -0
  462. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/__main__.py +0 -0
  463. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_cell_widths.py +0 -0
  464. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
  465. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
  466. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_export_format.py +0 -0
  467. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_extension.py +0 -0
  468. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_fileno.py +0 -0
  469. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_inspect.py +0 -0
  470. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_log_render.py +0 -0
  471. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_loop.py +0 -0
  472. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_null_file.py +0 -0
  473. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_palettes.py +0 -0
  474. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_pick.py +0 -0
  475. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_ratio.py +0 -0
  476. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_spinners.py +0 -0
  477. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_stack.py +0 -0
  478. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_timer.py +0 -0
  479. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_win32_console.py +0 -0
  480. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_windows.py +0 -0
  481. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
  482. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/_wrap.py +0 -0
  483. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/abc.py +0 -0
  484. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/align.py +0 -0
  485. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/ansi.py +0 -0
  486. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/bar.py +0 -0
  487. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/box.py +0 -0
  488. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/cells.py +0 -0
  489. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/color.py +0 -0
  490. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/color_triplet.py +0 -0
  491. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/columns.py +0 -0
  492. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/console.py +0 -0
  493. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/constrain.py +0 -0
  494. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/containers.py +0 -0
  495. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/control.py +0 -0
  496. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/default_styles.py +0 -0
  497. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/diagnose.py +0 -0
  498. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/emoji.py +0 -0
  499. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/errors.py +0 -0
  500. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/file_proxy.py +0 -0
  501. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/filesize.py +0 -0
  502. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/highlighter.py +0 -0
  503. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/json.py +0 -0
  504. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/jupyter.py +0 -0
  505. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/layout.py +0 -0
  506. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/live.py +0 -0
  507. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/live_render.py +0 -0
  508. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/logging.py +0 -0
  509. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/markup.py +0 -0
  510. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/measure.py +0 -0
  511. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/padding.py +0 -0
  512. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/pager.py +0 -0
  513. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/palette.py +0 -0
  514. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/panel.py +0 -0
  515. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/pretty.py +0 -0
  516. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/progress.py +0 -0
  517. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/progress_bar.py +0 -0
  518. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/prompt.py +0 -0
  519. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/protocol.py +0 -0
  520. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/py.typed +0 -0
  521. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/region.py +0 -0
  522. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/repr.py +0 -0
  523. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/rule.py +0 -0
  524. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/scope.py +0 -0
  525. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/screen.py +0 -0
  526. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/segment.py +0 -0
  527. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/spinner.py +0 -0
  528. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/status.py +0 -0
  529. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/styled.py +0 -0
  530. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/syntax.py +0 -0
  531. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/table.py +0 -0
  532. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/terminal_theme.py +0 -0
  533. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/text.py +0 -0
  534. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/theme.py +0 -0
  535. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/themes.py +0 -0
  536. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/traceback.py +0 -0
  537. {pip-25.2 → pip-26.0}/src/pip/_vendor/rich/tree.py +0 -0
  538. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli/LICENSE +0 -0
  539. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli/_types.py +0 -0
  540. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli/py.typed +0 -0
  541. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli_w/LICENSE +0 -0
  542. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli_w/__init__.py +0 -0
  543. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli_w/_writer.py +0 -0
  544. {pip-25.2 → pip-26.0}/src/pip/_vendor/tomli_w/py.typed +0 -0
  545. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/LICENSE +0 -0
  546. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/_macos.py +0 -0
  547. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
  548. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/_windows.py +0 -0
  549. {pip-25.2 → pip-26.0}/src/pip/_vendor/truststore/py.typed +0 -0
  550. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
  551. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/__init__.py +0 -0
  552. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/_collections.py +0 -0
  553. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/_version.py +0 -0
  554. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/connection.py +0 -0
  555. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/connectionpool.py +0 -0
  556. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  557. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  558. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  559. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  560. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  561. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  562. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  563. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  564. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  565. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
  566. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/exceptions.py +0 -0
  567. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/fields.py +0 -0
  568. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/filepost.py +0 -0
  569. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/packages/__init__.py +0 -0
  570. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  571. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  572. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  573. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/packages/six.py +0 -0
  574. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
  575. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/request.py +0 -0
  576. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/response.py +0 -0
  577. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
  578. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/connection.py +0 -0
  579. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
  580. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/queue.py +0 -0
  581. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/request.py +0 -0
  582. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/response.py +0 -0
  583. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/retry.py +0 -0
  584. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/ssl_.py +0 -0
  585. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  586. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  587. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
  588. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/url.py +0 -0
  589. {pip-25.2 → pip-26.0}/src/pip/_vendor/urllib3/util/wait.py +0 -0
  590. {pip-25.2 → pip-26.0}/src/pip/py.typed +0 -0
@@ -1,6 +1,7 @@
1
1
  @Switch01
2
2
  A_Rog
3
3
  Aakanksha Agrawal
4
+ Aarni Koskela
4
5
  Abhinav Sagar
5
6
  ABHYUDAY PRATAP SINGH
6
7
  abs51295
@@ -24,6 +25,7 @@ albertg
24
25
  Alberto Sottile
25
26
  Aleks Bunin
26
27
  Ales Erjavec
28
+ Alessandro Molina
27
29
  Alethea Flowers
28
30
  Alex Gaynor
29
31
  Alex Grönholm
@@ -37,6 +39,7 @@ Alexandre Conrad
37
39
  Alexey Popravka
38
40
  Aleš Erjavec
39
41
  Alli
42
+ Aman
40
43
  Ami Fischman
41
44
  Ananya Maiti
42
45
  Anatoly Techtonik
@@ -56,6 +59,7 @@ Aniruddha Basak
56
59
  Anish Tambe
57
60
  Anrs Hu
58
61
  Anthony Sottile
62
+ Antoine Lambert
59
63
  Antoine Musso
60
64
  Anton Ovchinnikov
61
65
  Anton Patrushev
@@ -188,6 +192,7 @@ Dane Hillard
188
192
  daniel
189
193
  Daniel Collins
190
194
  Daniel Hahler
195
+ Daniel Hollas
191
196
  Daniel Holth
192
197
  Daniel Jost
193
198
  Daniel Katz
@@ -236,6 +241,7 @@ Dimitri Merejkowsky
236
241
  Dimitri Papadopoulos
237
242
  Dimitri Papadopoulos Orfanos
238
243
  Dirk Stolle
244
+ dkjsone
239
245
  Dmitry Gladkov
240
246
  Dmitry Volodin
241
247
  Domen Kožar
@@ -314,6 +320,7 @@ gousaiyang
314
320
  gpiks
315
321
  Greg Roodt
316
322
  Greg Ward
323
+ Guido Diepen
317
324
  Guilherme Espada
318
325
  Guillaume Seguin
319
326
  gutsytechster
@@ -323,8 +330,10 @@ gzpan123
323
330
  Hanjun Kim
324
331
  Hari Charan
325
332
  Harsh Vardhan
333
+ Harsha Sai
326
334
  harupy
327
335
  Harutaka Kawamura
336
+ Hasan-8326
328
337
  hauntsaninja
329
338
  Henrich Hartzer
330
339
  Henry Schreiner
@@ -347,6 +356,7 @@ Igor Sobreira
347
356
  Ikko Ashimine
348
357
  Ilan Schnell
349
358
  Illia Volochii
359
+ Ilya Abdolmanafi
350
360
  Ilya Baryshev
351
361
  Inada Naoki
352
362
  Ionel Cristian Mărieș
@@ -364,6 +374,7 @@ Jakub Kuczys
364
374
  Jakub Stasiak
365
375
  Jakub Vysoky
366
376
  Jakub Wilk
377
+ James
367
378
  James Cleveland
368
379
  James Curtin
369
380
  James Firth
@@ -420,12 +431,14 @@ Josh Hansen
420
431
  Josh Schneier
421
432
  Joshua
422
433
  JoshuaPerdue
434
+ Jost Migenda
423
435
  Juan Luis Cano Rodríguez
424
436
  Juanjo Bazán
425
437
  Judah Rand
426
438
  Julian Berman
427
439
  Julian Gethmann
428
440
  Julien Demoor
441
+ Julien Stephan
429
442
  July Tikhonov
430
443
  Jussi Kukkonen
431
444
  Justin van Heek
@@ -437,6 +450,7 @@ Kamal Bin Mustafa
437
450
  Karolina Surma
438
451
  kasium
439
452
  kaustav haldar
453
+ Kaz Nishimura
440
454
  keanemind
441
455
  Keith Maxwell
442
456
  Kelsey Hightower
@@ -482,6 +496,7 @@ luojiebin
482
496
  luz.paz
483
497
  László Kiss Kollár
484
498
  M00nL1ght
499
+ MajorTanya
485
500
  Malcolm Smith
486
501
  Marc Abramowitz
487
502
  Marc Tamlyn
@@ -498,6 +513,7 @@ Martin Pavlasek
498
513
  Masaki
499
514
  Masklinn
500
515
  Matej Stuchlik
516
+ Mateusz Sokół
501
517
  Mathew Jennings
502
518
  Mathieu Bridon
503
519
  Mathieu Kniewallner
@@ -525,6 +541,7 @@ mayeut
525
541
  mbaluna
526
542
  Md Sujauddin Sekh
527
543
  mdebi
544
+ Meet Vasita
528
545
  memoselyk
529
546
  meowmeowcat
530
547
  Michael
@@ -549,6 +566,7 @@ Monty Taylor
549
566
  morotti
550
567
  mrKazzila
551
568
  Muha Ajjan
569
+ MUTHUSRIHEMADHARSHINI S A
552
570
  Nadav Wexler
553
571
  Nahuel Ambrosini
554
572
  Nate Coraor
@@ -573,6 +591,7 @@ Nitesh Sharma
573
591
  Niyas Sait
574
592
  Noah
575
593
  Noah Gorny
594
+ Nothing-991
576
595
  Nowell Strite
577
596
  NtaleGrey
578
597
  nucccc
@@ -593,8 +612,10 @@ Omry Yadan
593
612
  onlinejudge95
594
613
  Oren Held
595
614
  Oscar Benjamin
615
+ oxygen dioxide
596
616
  Oz N Tiram
597
617
  Pachwenko
618
+ Paresh Joshi
598
619
  Patrick Dubroy
599
620
  Patrick Jenkins
600
621
  Patrick Lawson
@@ -714,6 +735,7 @@ Shivansh-007
714
735
  Shixian Sheng
715
736
  Shlomi Fish
716
737
  Shovan Maity
738
+ Shubham Nagure
717
739
  Simeon Visser
718
740
  Simon Cross
719
741
  Simon Pichugin
@@ -728,6 +750,7 @@ Stavros Korokithakis
728
750
  Stefan Scherfke
729
751
  Stefano Rivera
730
752
  Stephan Erb
753
+ Stephane Chazelas
731
754
  Stephen Payne
732
755
  Stephen Rosen
733
756
  stepshal
@@ -751,6 +774,7 @@ Sylvain
751
774
  Takayuki SHIMIZUKAWA
752
775
  Taneli Hukkinen
753
776
  tbeswick
777
+ Terrance
754
778
  Thiago
755
779
  Thijs Triemstra
756
780
  Thomas Fenzl
@@ -799,6 +823,7 @@ Vitaly Babiy
799
823
  Vladimir Fokow
800
824
  Vladimir Rutsky
801
825
  W. Trevor King
826
+ Weida Hong
802
827
  Wil Tan
803
828
  Wilfred Hughes
804
829
  William Edwards
@@ -816,6 +841,8 @@ Xianpeng Shen
816
841
  xoviat
817
842
  xtreak
818
843
  YAMAMOTO Takashi
844
+ Yash
845
+ Yashraj
819
846
  Yen Chi Hsuan
820
847
  Yeray Diaz Diaz
821
848
  Yoval P
@@ -9,6 +9,126 @@
9
9
 
10
10
  .. towncrier release notes start
11
11
 
12
+ 26.0 (2026-01-30)
13
+ =================
14
+
15
+ Deprecations and Removals
16
+ -------------------------
17
+
18
+ - Remove support for non-bare project names in egg fragments. Affected users should use
19
+ the `Direct URL requirement syntax <https://packaging.python.org/en/latest/specifications/version-specifiers/#direct-references>`_. (`#13157 <https://github.com/pypa/pip/issues/13157>`_)
20
+
21
+ Features
22
+ --------
23
+
24
+ - Display pip's command-line help in colour, if possible. (`#12134 <https://github.com/pypa/pip/issues/12134>`_)
25
+ - Support installing dependencies declared with inline script metadata
26
+ (:pep:`723`) with ``--requirements-from-script``. (`#12891 <https://github.com/pypa/pip/issues/12891>`_)
27
+ - Add ``--all-releases`` and ``--only-final`` options to control pre-release
28
+ and final release selection during package installation. (`#13221 <https://github.com/pypa/pip/issues/13221>`_)
29
+ - Add ``--uploaded-prior-to`` option to only consider packages uploaded prior to
30
+ a given datetime when the ``upload-time`` field is available from a remote index. (`#13625 <https://github.com/pypa/pip/issues/13625>`_)
31
+ - Add ``--use-feature inprocess-build-deps`` to request that build dependencies are installed
32
+ within the same pip install process. This new mechanism is faster, supports ``--no-clean``
33
+ and ``--no-cache-dir`` reliably, and supports prompting for authentication.
34
+
35
+ Enabling this feature will also enable ``--use-feature build-constraints``. This feature will
36
+ become the default in a future pip version. (`#9081 <https://github.com/pypa/pip/issues/9081>`_)
37
+ - ``pip cache purge`` and ``pip cache remove`` now clean up empty directories
38
+ and legacy files left by older pip versions. (`#9058 <https://github.com/pypa/pip/issues/9058>`_)
39
+
40
+ Bug Fixes
41
+ ---------
42
+
43
+ - Fix selecting pre-release versions when only pre-releases match.
44
+ For example, ``package>1.0`` with versions ``1.0, 2.0rc1`` now installs
45
+ ``2.0rc1`` instead of failing. (`#13746 <https://github.com/pypa/pip/issues/13746>`_)
46
+ - Revisions in version control URLs now must be percent-encoded.
47
+ For example, use ``git+https://example.com/repo.git@issue%231`` to specify the branch ``issue#1``.
48
+ If you previously used a branch name containing a ``%`` character in a version control URL, you now need to replace it with ``%25`` to ensure correct percent-encoding. (`#13407 <https://github.com/pypa/pip/issues/13407>`_)
49
+ - Preserve original casing when a path is displayed. (`#6823 <https://github.com/pypa/pip/issues/6823>`_)
50
+ - Fix bash completion when the ``$IFS`` variable has been modified from its default. (`#13555 <https://github.com/pypa/pip/issues/13555>`_)
51
+ - Precompute Python requirements on each candidate, reducing time of long resolutions. (`#13656 <https://github.com/pypa/pip/issues/13656>`_)
52
+ - Skip redundant work converting version objects to strings when using the
53
+ ``importlib.metadata`` backend. (`#13660 <https://github.com/pypa/pip/issues/13660>`_)
54
+ - Fix ``pip index versions`` to honor only-binary/no-binary options. (`#13682 <https://github.com/pypa/pip/issues/13682>`_)
55
+ - Fix fallthrough logic for options, allowing overriding global options with
56
+ defaults from user config. (`#13703 <https://github.com/pypa/pip/issues/13703>`_)
57
+ - Use a path-segment prefix comparison, not char-by-char. (`#13777 <https://github.com/pypa/pip/issues/13777>`_)
58
+
59
+ Vendored Libraries
60
+ ------------------
61
+
62
+ - Upgrade CacheControl to 0.14.4
63
+ - Upgrade certifi to 2026.1.4
64
+ - Upgrade idna to 3.11
65
+ - Upgrade packaging to 26.0
66
+ - Upgrade platformdirs to 4.5.1
67
+
68
+ 25.3 (2025-10-24)
69
+ =================
70
+
71
+ Deprecations and Removals
72
+ -------------------------
73
+
74
+ - Remove support for the legacy ``setup.py develop`` editable method in setuptools
75
+ editable installs; setuptools >= 64 is now required. (`#11457 <https://github.com/pypa/pip/issues/11457>`_)
76
+ - Remove the deprecated ``--global-option`` and ``--build-option``.
77
+ ``--config-setting`` is now the only way to pass options to the build backend. (`#11859 <https://github.com/pypa/pip/issues/11859>`_)
78
+ - Deprecate the ``PIP_CONSTRAINT`` environment variable for specifying build
79
+ constraints.
80
+
81
+ Use the ``--build-constraint`` option or the ``PIP_BUILD_CONSTRAINT`` environment variable
82
+ instead. When build constraints are used, ``PIP_CONSTRAINT`` no longer affects isolated build
83
+ environments. To enable this behavior without specifying any build constraints, use
84
+ ``--use-feature=build-constraint``. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
85
+ - Remove support for non-standard legacy wheel filenames. (`#13581 <https://github.com/pypa/pip/issues/13581>`_)
86
+ - Remove support for the deprecated ``setup.py bdist_wheel`` mechanism. Consequently,
87
+ ``--use-pep517`` is now always on, and ``--no-use-pep517`` has been removed. (`#6334 <https://github.com/pypa/pip/issues/6334>`_)
88
+
89
+ Features
90
+ --------
91
+
92
+ - When :pep:`658` metadata is available, full distribution files are no longer downloaded when using ``pip lock`` or ``pip install --dry-run``. (`#12603 <https://github.com/pypa/pip/issues/12603>`_)
93
+ - Add support for installing an editable requirement written as a Direct URL (``PackageName @ URL``). (`#13495 <https://github.com/pypa/pip/issues/13495>`_)
94
+ - Add support for build constraints via the ``--build-constraint`` option. This
95
+ allows constraining the versions of packages used during the build process
96
+ (e.g., setuptools) without affecting the final installation. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
97
+ - On ``ResolutionImpossible`` errors, include a note about causes with no candidates. (`#13588 <https://github.com/pypa/pip/issues/13588>`_)
98
+ - Building pip itself from source now uses flit-core instead of setuptools.
99
+ This does not affect how pip installs or builds packages you use. (`#13473 <https://github.com/pypa/pip/issues/13473>`_)
100
+
101
+ Bug Fixes
102
+ ---------
103
+
104
+ - Handle malformed ``Version`` metadata entries and
105
+ show a sensible error message instead of crashing. (`#13443 <https://github.com/pypa/pip/issues/13443>`_)
106
+ - Permit spaces between a filepath and extras in an install requirement. (`#13523 <https://github.com/pypa/pip/issues/13523>`_)
107
+ - Ensure the self-check files in the cache have the same permissions as the rest of the cache. (`#13528 <https://github.com/pypa/pip/issues/13528>`_)
108
+ - Avoid concurrency issues and improve performance when caching locally built wheels,
109
+ especially when the temporary build directory is on a different filesystem than the cache.
110
+ The wheel directory passed to the build backend is now a temporary subdirectory inside
111
+ the cache directory. (`#13540 <https://github.com/pypa/pip/issues/13540>`_)
112
+ - Include relevant user-supplied constraints in logs when reporting dependency conflicts. (`#13545 <https://github.com/pypa/pip/issues/13545>`_)
113
+ - Fix a regression in configuration parsing that was turning a single value
114
+ into a list and thus leading to a validation error. (`#13548 <https://github.com/pypa/pip/issues/13548>`_)
115
+ - For Python versions that do not support :pep:`706`, pip will now raise an installation error for a
116
+ source distribution when it includes a symlink that points outside the source distribution archive. (`#13550 <https://github.com/pypa/pip/issues/13550>`_)
117
+ - Prevent ``--user`` installs if ``site.ENABLE_USER_SITE`` is set to ``False``. (`#8794 <https://github.com/pypa/pip/issues/8794>`_)
118
+
119
+
120
+ Vendored Libraries
121
+ ------------------
122
+
123
+ - Upgrade certifi to 2025.10.5
124
+ - Upgrade msgpack to 1.1.2
125
+ - Upgrade platformdirs to 4.5.0
126
+ - Upgrade requests to 2.32.5
127
+ - Upgrade resolvelib to 1.2.1
128
+ - Upgrade rich to 14.2.0
129
+ - Upgrade tomli to 2.3.0
130
+ - Upgrade truststore to 0.10.4
131
+
12
132
  25.2 (2025-07-30)
13
133
  =================
14
134
 
@@ -1,13 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pip
3
- Version: 25.2
3
+ Version: 26.0
4
4
  Summary: The PyPA recommended tool for installing Python packages.
5
5
  Author-email: The pip developers <distutils-sig@python.org>
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/x-rst
6
8
  License-Expression: MIT
7
- Project-URL: Homepage, https://pip.pypa.io/
8
- Project-URL: Documentation, https://pip.pypa.io
9
- Project-URL: Source, https://github.com/pypa/pip
10
- Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
11
9
  Classifier: Development Status :: 5 - Production/Stable
12
10
  Classifier: Intended Audience :: Developers
13
11
  Classifier: Topic :: Software Development :: Build Tools
@@ -22,17 +20,15 @@ Classifier: Programming Language :: Python :: 3.13
22
20
  Classifier: Programming Language :: Python :: 3.14
23
21
  Classifier: Programming Language :: Python :: Implementation :: CPython
24
22
  Classifier: Programming Language :: Python :: Implementation :: PyPy
25
- Requires-Python: >=3.9
26
- Description-Content-Type: text/x-rst
27
23
  License-File: AUTHORS.txt
28
24
  License-File: LICENSE.txt
29
- License-File: src/pip/_vendor/msgpack/COPYING
30
25
  License-File: src/pip/_vendor/cachecontrol/LICENSE.txt
31
26
  License-File: src/pip/_vendor/certifi/LICENSE
32
27
  License-File: src/pip/_vendor/dependency_groups/LICENSE.txt
33
28
  License-File: src/pip/_vendor/distlib/LICENSE.txt
34
29
  License-File: src/pip/_vendor/distro/LICENSE
35
30
  License-File: src/pip/_vendor/idna/LICENSE.md
31
+ License-File: src/pip/_vendor/msgpack/COPYING
36
32
  License-File: src/pip/_vendor/packaging/LICENSE
37
33
  License-File: src/pip/_vendor/packaging/LICENSE.APACHE
38
34
  License-File: src/pip/_vendor/packaging/LICENSE.BSD
@@ -44,11 +40,13 @@ License-File: src/pip/_vendor/requests/LICENSE
44
40
  License-File: src/pip/_vendor/resolvelib/LICENSE
45
41
  License-File: src/pip/_vendor/rich/LICENSE
46
42
  License-File: src/pip/_vendor/tomli/LICENSE
47
- License-File: src/pip/_vendor/tomli/LICENSE-HEADER
48
43
  License-File: src/pip/_vendor/tomli_w/LICENSE
49
44
  License-File: src/pip/_vendor/truststore/LICENSE
50
45
  License-File: src/pip/_vendor/urllib3/LICENSE.txt
51
- Dynamic: license-file
46
+ Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
47
+ Project-URL: Documentation, https://pip.pypa.io
48
+ Project-URL: Homepage, https://pip.pypa.io/
49
+ Project-URL: Source, https://github.com/pypa/pip
52
50
 
53
51
  pip - The Python Package Installer
54
52
  ==================================
@@ -85,7 +83,7 @@ If you find bugs, need help, or want to talk to the developers, please use our m
85
83
  * `Discourse channel`_
86
84
  * `User IRC`_
87
85
 
88
- If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
86
+ If you want to get involved, head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
89
87
 
90
88
  * `GitHub page`_
91
89
  * `Development documentation`_
@@ -110,3 +108,4 @@ rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
110
108
  .. _User IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa
111
109
  .. _Development IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev
112
110
  .. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
111
+
@@ -33,7 +33,7 @@ If you find bugs, need help, or want to talk to the developers, please use our m
33
33
  * `Discourse channel`_
34
34
  * `User IRC`_
35
35
 
36
- If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
36
+ If you want to get involved, head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
37
37
 
38
38
  * `GitHub page`_
39
39
  * `Development documentation`_
@@ -0,0 +1,2 @@
1
+ build
2
+ flit-core
@@ -0,0 +1,22 @@
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.4.0 \
8
+ --hash=sha256:6a07c1b8eb6f2b311b96fcbdbce5dab5fe637ffda0fd83c9cac622e927501596 \
9
+ --hash=sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936
10
+ # via -r build-requirements.in
11
+ flit-core==3.12.0 \
12
+ --hash=sha256:18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2 \
13
+ --hash=sha256:e7a0304069ea895172e3c7bb703292e992c5d1555dd1233ab7b5621b5b69e62c
14
+ # via -r build-requirements.in
15
+ packaging==25.0 \
16
+ --hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
17
+ --hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
18
+ # via build
19
+ pyproject-hooks==1.2.0 \
20
+ --hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
21
+ --hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
22
+ # via build
@@ -77,7 +77,7 @@ when decision is needed.
77
77
  .. _`2-build-system-interface`:
78
78
  .. rubric:: Build System Interface
79
79
 
80
- This is now covered in :doc:`../reference/build-system/index`.
80
+ This is now covered in :doc:`../reference/build-system`.
81
81
 
82
82
  .. _`General Options`:
83
83
 
@@ -61,6 +61,8 @@ Options
61
61
 
62
62
  .. pip-index-options:: download
63
63
 
64
+ .. pip-package-selection-options:: download
65
+
64
66
 
65
67
  Examples
66
68
  ========
@@ -23,6 +23,15 @@ Description
23
23
 
24
24
  .. pip-command-description:: freeze
25
25
 
26
+ .. note::
27
+ By default, ``pip freeze`` omits bootstrap packaging tools so the output
28
+ focuses on your project’s dependencies. On Python **3.11 and earlier**
29
+ this excludes ``pip``, ``setuptools``, ``wheel`` and ``distribute``; on
30
+ Python **3.12 and later** only ``pip`` is excluded. Use ``--all`` to
31
+ include those packages when you need a complete environment snapshot.
32
+ ``pip freeze`` reports what is installed; it does **not** compute a
33
+ lockfile or a solver result.
34
+
26
35
 
27
36
  Options
28
37
  =======
@@ -30,6 +30,9 @@ Options
30
30
 
31
31
  .. pip-command-options:: index
32
32
 
33
+ .. pip-index-options:: index
34
+
35
+ .. pip-package-selection-options:: index
33
36
 
34
37
 
35
38
  Examples
@@ -66,8 +66,8 @@ for the name and project version (this is in theory slightly less reliable
66
66
  than using the ``egg_info`` command, but avoids downloading and processing
67
67
  unnecessary numbers of files).
68
68
 
69
- Any URL may use the ``#egg=name`` syntax (see :doc:`../topics/vcs-support`) to
70
- explicitly state the project name.
69
+ The :ref:`Direct URL requirement syntax <pypug:dependency-specifiers>` can be used
70
+ to explicitly state the project name (see :doc:`../topics/vcs-support`).
71
71
 
72
72
  Satisfying Requirements
73
73
  -----------------------
@@ -255,7 +255,7 @@ This is now covered in :doc:`../topics/local-project-installs`.
255
255
  .. _`0-build-system-interface`:
256
256
  .. rubric:: Build System Interface
257
257
 
258
- This is now covered in :doc:`../reference/build-system/index`.
258
+ This is now covered in :doc:`../reference/build-system`.
259
259
 
260
260
  .. _`pip install Options`:
261
261
 
@@ -266,6 +266,7 @@ Options
266
266
 
267
267
  .. pip-index-options:: install
268
268
 
269
+ .. pip-package-selection-options:: install
269
270
 
270
271
  .. _`pip install Examples`:
271
272
 
@@ -367,21 +368,21 @@ Examples
367
368
 
368
369
  .. code-block:: shell
369
370
 
370
- python -m pip install -e 'git+https://git.repo/some_pkg.git#egg=SomePackage' # from git
371
- python -m pip install -e 'hg+https://hg.repo/some_pkg.git#egg=SomePackage' # from mercurial
372
- python -m pip install -e 'svn+svn://svn.repo/some_pkg/trunk/#egg=SomePackage' # from svn
373
- python -m pip install -e 'git+https://git.repo/some_pkg.git@feature#egg=SomePackage' # from 'feature' branch
374
- python -m pip install -e 'git+https://git.repo/some_repo.git#egg=subdir&subdirectory=subdir_path' # install a python package from a repo subdirectory
371
+ python -m pip install -e 'SomePackage @ git+https://git.repo/some_pkg.git' # from git
372
+ python -m pip install -e 'SomePackage @ hg+https://hg.repo/some_pkg.git' # from mercurial
373
+ python -m pip install -e 'SomePakcage @ svn+svn://svn.repo/some_pkg/trunk/' # from svn
374
+ python -m pip install -e 'SomePackage @ git+https://git.repo/some_pkg.git@feature' # from 'feature' branch
375
+ python -m pip install -e 'SomePackage @ git+https://git.repo/some_repo.git#subdirectory=subdir_path' # install a python package from a repo subdirectory
375
376
 
376
377
  .. tab:: Windows
377
378
 
378
379
  .. code-block:: shell
379
380
 
380
- py -m pip install -e "git+https://git.repo/some_pkg.git#egg=SomePackage" # from git
381
- py -m pip install -e "hg+https://hg.repo/some_pkg.git#egg=SomePackage" # from mercurial
382
- py -m pip install -e "svn+svn://svn.repo/some_pkg/trunk/#egg=SomePackage" # from svn
383
- py -m pip install -e "git+https://git.repo/some_pkg.git@feature#egg=SomePackage" # from 'feature' branch
384
- py -m pip install -e "git+https://git.repo/some_repo.git#egg=subdir&subdirectory=subdir_path" # install a python package from a repo subdirectory
381
+ py -m pip install -e "SomePackage @ git+https://git.repo/some_pkg.git" # from git
382
+ py -m pip install -e "SomePackage @ hg+https://hg.repo/some_pkg.git" # from mercurial
383
+ py -m pip install -e "SomePackage @ svn+svn://svn.repo/some_pkg/trunk/" # from svn
384
+ py -m pip install -e "SomePackage @ git+https://git.repo/some_pkg.git@feature" # from 'feature' branch
385
+ py -m pip install -e "SomePackage @ git+https://git.repo/some_repo.git#subdirectory=subdir_path" # install a python package from a repo subdirectory
385
386
 
386
387
  #. Install a package with extras, i.e., optional dependencies
387
388
  (:ref:`specification <pypug:dependency-specifiers>`).
@@ -479,12 +480,11 @@ Examples
479
480
 
480
481
  .. warning::
481
482
 
482
- Using this option to search for packages which are not in the main
483
- repository (such as private packages) is unsafe, per a security
484
- vulnerability called
485
- `dependency confusion <https://azure.microsoft.com/en-us/resources/3-ways-to-mitigate-risk-using-private-package-feeds/>`_:
486
- an attacker can claim the package on the public repository in a way that
487
- will ensure it gets chosen over the private package.
483
+ Using the ``--extra-index-url`` option to search for packages which are
484
+ not in the main repository (for example, private packages) is unsafe.
485
+ This is a class of security issue known as `dependency confusion <https://azure.microsoft.com/en-us/resources/3-ways-to-mitigate-risk-using-private-package-feeds/>`_: an
486
+ attacker can publish a package with the same name to a public index,
487
+ which may then be chosen instead of your private package.
488
488
 
489
489
  .. tab:: Unix/macOS
490
490
 
@@ -31,6 +31,8 @@ Options
31
31
 
32
32
  .. pip-index-options:: list
33
33
 
34
+ .. pip-package-selection-options:: list
35
+
34
36
 
35
37
  Examples
36
38
  ========
@@ -31,11 +31,13 @@ Options
31
31
 
32
32
  .. pip-index-options:: lock
33
33
 
34
+ .. pip-package-selection-options:: lock
35
+
34
36
 
35
37
  Examples
36
38
  ========
37
39
 
38
- #. Emit a ``pylock.toml`` for the the project in the current directory
40
+ #. Emit a ``pylock.toml`` for the project in the current directory
39
41
 
40
42
  .. tab:: Unix/macOS
41
43
 
@@ -28,7 +28,7 @@ Description
28
28
  .. _`1-build-system-interface`:
29
29
  .. rubric:: Build System Interface
30
30
 
31
- This is now covered in :doc:`../reference/build-system/index`.
31
+ This is now covered in :doc:`../reference/build-system`.
32
32
 
33
33
  Differences to ``build``
34
34
  ------------------------
@@ -46,6 +46,8 @@ Options
46
46
 
47
47
  .. pip-index-options:: wheel
48
48
 
49
+ .. pip-package-selection-options:: wheel
50
+
49
51
 
50
52
  Examples
51
53
  ========
@@ -18,7 +18,6 @@ The ``README``, license, ``pyproject.toml``, and so on are in the top level.
18
18
 
19
19
  * ``AUTHORS.txt``
20
20
  * ``LICENSE.txt``
21
- * ``MANIFEST.in``
22
21
  * ``NEWS.rst``
23
22
  * ``pyproject.toml``
24
23
  * ``README.rst``
@@ -31,7 +30,6 @@ The ``README``, license, ``pyproject.toml``, and so on are in the top level.
31
30
  * ``html/`` *[sources to HTML documentation avail. online]*
32
31
  * ``man/`` has man pages the distros can use by running ``man pip``
33
32
  * ``pip_sphinxext.py`` *[an extension -- pip-specific plugins to Sphinx that do not apply to other packages]*
34
- * ``requirements.txt``
35
33
 
36
34
  * ``news/`` *[pip stores news fragments… Every time pip makes a user-facing change, a file is added to this directory (usually a short note referring to a GitHub issue) with the right extension & name so it gets included in changelog…. So every release the maintainers will be deleting old files in this directory? Yes - we use the towncrier automation to generate a NEWS file, and auto-delete old stuff. There’s more about this in the contributor documentation!]*
37
35
 
@@ -101,7 +101,7 @@ IN OTHER WORDS
101
101
  While all dependencies have not been resolved, do the following:
102
102
 
103
103
  1. Following the API defined in :pep:`503`, fetch the index page from
104
- `http://{pypi_index}/simple/{package_name <http://pypi.org/simple/%7Bpackage_name>`__}
104
+ `https://{pypi_index}/simple/{package_name} <https://pypi.org/simple/{package_name}>`_
105
105
  2. Parse all of the file links from the page.
106
106
  3. Select a single file to download from the list of links.
107
107
  4. Extract the metadata from the downloaded package.
@@ -139,4 +139,4 @@ files on PyPI. It’s for getting all files of Flask.)
139
139
 
140
140
  .. _`tracking issue`: https://github.com/pypa/pip/issues/6831
141
141
  .. _PyPI: https://pypi.org/
142
- .. _PyPI Simple API: https://warehouse.readthedocs.io/api-reference/legacy/#simple-project-api
142
+ .. _PyPI Simple API: https://warehouse.readthedocs.io/api-reference/legacy/
@@ -270,7 +270,7 @@ will initiate a vote among the existing maintainers.
270
270
  - CI Administration capabilities
271
271
  - ReadTheDocs Administration capabilities
272
272
 
273
- .. _`Studies have shown`: https://www.kessler.de/prd/smartbear/BestPracticesForPeerCodeReview.pdf
273
+ .. _`Studies have shown`: https://smartbear.com/learn/code-review/best-practices-for-peer-code-review/
274
274
  .. _`resolve merge conflicts`: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line
275
275
  .. _`GitHub Actions`: https://github.com/features/actions
276
276
  .. _`.github/workflows`: https://github.com/pypa/pip/blob/main/.github/workflows
@@ -206,11 +206,11 @@ in order to start contributing.
206
206
 
207
207
  .. _`open an issue`: https://github.com/pypa/pip/issues/new?title=Trouble+with+pip+development+environment
208
208
  .. _`install Python`: https://realpython.com/installing-python/
209
- .. _`rich CLI`: https://docs.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests
209
+ .. _`rich CLI`: https://docs.pytest.org/en/latest/how-to/usage.html#specifying-which-tests-to-run
210
210
  .. _`GitHub`: https://github.com/pypa/pip
211
211
  .. _`good first issues`: https://github.com/pypa/pip/labels/good%20first%20issue
212
212
  .. _`pip's architecture`: https://pip.pypa.io/en/latest/development/architecture/
213
213
  .. _`triaging issues`: https://pip.pypa.io/en/latest/development/issue-triage/
214
214
  .. _`Hello World for Git`: https://guides.github.com/activities/hello-world/
215
215
  .. _`Understanding the GitHub flow`: https://guides.github.com/introduction/flow/
216
- .. _`Start using Git on the command line`: https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html
216
+ .. _`Start using Git on the command line`: https://docs.gitlab.com/ee/topics/git/
@@ -50,3 +50,10 @@ lists or chat rooms:
50
50
  [irc-pypa-dev]: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev
51
51
 
52
52
  If you find any security issues, please report to [security@python.org](mailto:security@python.org)
53
+
54
+ ## Privacy Notice
55
+
56
+ Pip does not collect any telemetry, however, it will send
57
+ non-identifying environment information (Python version, OS, etc.) to any remote indices
58
+ used, who may choose to retain such information. Please consult PyPI's privacy
59
+ policy for their data collection and retention practices.