pip 25.3__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 (571) hide show
  1. {pip-25.3 → pip-26.0}/AUTHORS.txt +18 -0
  2. {pip-25.3 → pip-26.0}/NEWS.rst +57 -1
  3. {pip-25.3 → pip-26.0}/PKG-INFO +2 -2
  4. {pip-25.3 → pip-26.0}/README.rst +1 -1
  5. {pip-25.3 → pip-26.0}/build-project/build-requirements.txt +3 -3
  6. {pip-25.3 → pip-26.0}/docs/html/cli/pip_download.rst +2 -0
  7. {pip-25.3 → pip-26.0}/docs/html/cli/pip_index.rst +3 -0
  8. {pip-25.3 → pip-26.0}/docs/html/cli/pip_install.rst +1 -0
  9. {pip-25.3 → pip-26.0}/docs/html/cli/pip_list.rst +2 -0
  10. {pip-25.3 → pip-26.0}/docs/html/cli/pip_lock.rst +2 -0
  11. {pip-25.3 → pip-26.0}/docs/html/cli/pip_wheel.rst +2 -0
  12. {pip-25.3 → pip-26.0}/docs/html/development/architecture/overview.rst +2 -2
  13. {pip-25.3 → pip-26.0}/docs/html/development/contributing.rst +1 -1
  14. {pip-25.3 → pip-26.0}/docs/html/development/getting-started.rst +2 -2
  15. {pip-25.3 → pip-26.0}/docs/html/index.md +7 -0
  16. {pip-25.3 → pip-26.0}/docs/html/topics/https-certificates.md +3 -0
  17. {pip-25.3 → pip-26.0}/docs/html/topics/vcs-support.md +1 -1
  18. {pip-25.3 → pip-26.0}/docs/html/user_guide.rst +116 -0
  19. {pip-25.3 → pip-26.0}/docs/pip_sphinxext.py +12 -0
  20. {pip-25.3 → pip-26.0}/pyproject.toml +4 -5
  21. {pip-25.3 → pip-26.0}/src/pip/__init__.py +1 -1
  22. {pip-25.3 → pip-26.0}/src/pip/_internal/build_env.py +194 -5
  23. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/base_command.py +11 -0
  24. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/cmdoptions.py +157 -0
  25. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/index_command.py +20 -0
  26. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/main.py +11 -6
  27. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/main_parser.py +3 -1
  28. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/parser.py +93 -33
  29. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/progress_bars.py +4 -2
  30. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/req_command.py +99 -23
  31. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/cache.py +24 -0
  32. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/completion.py +2 -1
  33. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/download.py +8 -4
  34. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/index.py +13 -6
  35. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/install.py +36 -29
  36. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/list.py +14 -16
  37. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/lock.py +16 -8
  38. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/wheel.py +8 -13
  39. {pip-25.3 → pip-26.0}/src/pip/_internal/exceptions.py +76 -3
  40. {pip-25.3 → pip-26.0}/src/pip/_internal/index/collector.py +2 -3
  41. {pip-25.3 → pip-26.0}/src/pip/_internal/index/package_finder.py +84 -18
  42. {pip-25.3 → pip-26.0}/src/pip/_internal/locations/__init__.py +1 -2
  43. {pip-25.3 → pip-26.0}/src/pip/_internal/locations/_sysconfig.py +4 -1
  44. {pip-25.3 → pip-26.0}/src/pip/_internal/models/link.py +18 -14
  45. pip-26.0/src/pip/_internal/models/release_control.py +92 -0
  46. {pip-25.3 → pip-26.0}/src/pip/_internal/models/selection_prefs.py +6 -3
  47. {pip-25.3 → pip-26.0}/src/pip/_internal/network/auth.py +6 -2
  48. {pip-25.3 → pip-26.0}/src/pip/_internal/network/download.py +4 -5
  49. {pip-25.3 → pip-26.0}/src/pip/_internal/network/session.py +14 -10
  50. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/install/wheel.py +1 -2
  51. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/prepare.py +2 -3
  52. {pip-25.3 → pip-26.0}/src/pip/_internal/req/constructors.py +3 -1
  53. pip-26.0/src/pip/_internal/req/pep723.py +41 -0
  54. {pip-25.3 → pip-26.0}/src/pip/_internal/req/req_file.py +10 -1
  55. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/factory.py +12 -1
  56. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/requirements.py +7 -3
  57. {pip-25.3 → pip-26.0}/src/pip/_internal/self_outdated_check.py +6 -13
  58. pip-26.0/src/pip/_internal/utils/datetime.py +28 -0
  59. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/filesystem.py +40 -1
  60. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/logging.py +34 -2
  61. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/misc.py +18 -12
  62. pip-26.0/src/pip/_internal/utils/pylock.py +116 -0
  63. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/unpacking.py +1 -1
  64. {pip-25.3 → pip-26.0}/src/pip/_internal/vcs/versioncontrol.py +3 -1
  65. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/__init__.py +6 -3
  66. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/adapter.py +0 -1
  67. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/controller.py +1 -1
  68. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/filewrapper.py +3 -1
  69. {pip-25.3 → pip-26.0}/src/pip/_vendor/certifi/__init__.py +1 -1
  70. {pip-25.3 → pip-26.0}/src/pip/_vendor/certifi/cacert.pem +0 -332
  71. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/LICENSE.md +1 -1
  72. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/codec.py +1 -1
  73. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/core.py +1 -1
  74. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/idnadata.py +72 -6
  75. pip-26.0/src/pip/_vendor/idna/package_data.py +1 -0
  76. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/uts46data.py +891 -731
  77. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/__init__.py +1 -1
  78. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/_elffile.py +0 -1
  79. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/_manylinux.py +36 -36
  80. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/_musllinux.py +1 -1
  81. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/_parser.py +22 -10
  82. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/_structures.py +8 -0
  83. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/_tokenizer.py +23 -25
  84. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/licenses/__init__.py +13 -11
  85. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/licenses/_spdx.py +41 -1
  86. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/markers.py +64 -38
  87. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/metadata.py +143 -27
  88. pip-26.0/src/pip/_vendor/packaging/pylock.py +635 -0
  89. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/requirements.py +5 -10
  90. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/specifiers.py +219 -170
  91. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/tags.py +15 -20
  92. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/utils.py +19 -24
  93. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/version.py +315 -105
  94. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/version.py +2 -2
  95. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/windows.py +7 -1
  96. {pip-25.3 → pip-26.0}/src/pip/_vendor/vendor.txt +5 -5
  97. pip-25.3/src/pip/_internal/models/pylock.py +0 -188
  98. pip-25.3/src/pip/_internal/utils/datetime.py +0 -10
  99. pip-25.3/src/pip/_vendor/idna/package_data.py +0 -1
  100. {pip-25.3 → pip-26.0}/LICENSE.txt +0 -0
  101. {pip-25.3 → pip-26.0}/SECURITY.md +0 -0
  102. {pip-25.3 → pip-26.0}/build-project/.python-version +0 -0
  103. {pip-25.3 → pip-26.0}/build-project/build-project.py +0 -0
  104. {pip-25.3 → pip-26.0}/build-project/build-requirements.in +0 -0
  105. {pip-25.3 → pip-26.0}/docs/html/cli/index.md +0 -0
  106. {pip-25.3 → pip-26.0}/docs/html/cli/pip.rst +0 -0
  107. {pip-25.3 → pip-26.0}/docs/html/cli/pip_cache.rst +0 -0
  108. {pip-25.3 → pip-26.0}/docs/html/cli/pip_check.rst +0 -0
  109. {pip-25.3 → pip-26.0}/docs/html/cli/pip_config.rst +0 -0
  110. {pip-25.3 → pip-26.0}/docs/html/cli/pip_debug.rst +0 -0
  111. {pip-25.3 → pip-26.0}/docs/html/cli/pip_freeze.rst +0 -0
  112. {pip-25.3 → pip-26.0}/docs/html/cli/pip_hash.rst +0 -0
  113. {pip-25.3 → pip-26.0}/docs/html/cli/pip_inspect.rst +0 -0
  114. {pip-25.3 → pip-26.0}/docs/html/cli/pip_search.rst +0 -0
  115. {pip-25.3 → pip-26.0}/docs/html/cli/pip_show.rst +0 -0
  116. {pip-25.3 → pip-26.0}/docs/html/cli/pip_uninstall.rst +0 -0
  117. {pip-25.3 → pip-26.0}/docs/html/conf.py +0 -0
  118. {pip-25.3 → pip-26.0}/docs/html/copyright.rst +0 -0
  119. {pip-25.3 → pip-26.0}/docs/html/development/architecture/anatomy.rst +0 -0
  120. {pip-25.3 → pip-26.0}/docs/html/development/architecture/command-line-interface.rst +0 -0
  121. {pip-25.3 → pip-26.0}/docs/html/development/architecture/configuration-files.rst +0 -0
  122. {pip-25.3 → pip-26.0}/docs/html/development/architecture/index.rst +0 -0
  123. {pip-25.3 → pip-26.0}/docs/html/development/architecture/package-finding.rst +0 -0
  124. {pip-25.3 → pip-26.0}/docs/html/development/architecture/upgrade-options.rst +0 -0
  125. {pip-25.3 → pip-26.0}/docs/html/development/ci.rst +0 -0
  126. {pip-25.3 → pip-26.0}/docs/html/development/conventions.rst +0 -0
  127. {pip-25.3 → pip-26.0}/docs/html/development/index.rst +0 -0
  128. {pip-25.3 → pip-26.0}/docs/html/development/issue-triage.md +0 -0
  129. {pip-25.3 → pip-26.0}/docs/html/development/release-process.rst +0 -0
  130. {pip-25.3 → pip-26.0}/docs/html/development/vendoring-policy.rst +0 -0
  131. {pip-25.3 → pip-26.0}/docs/html/getting-started.md +0 -0
  132. {pip-25.3 → pip-26.0}/docs/html/installation.md +0 -0
  133. {pip-25.3 → pip-26.0}/docs/html/installing.rst +0 -0
  134. {pip-25.3 → pip-26.0}/docs/html/news.rst +0 -0
  135. {pip-25.3 → pip-26.0}/docs/html/quickstart.rst +0 -0
  136. {pip-25.3 → pip-26.0}/docs/html/reference/build-system.md +0 -0
  137. {pip-25.3 → pip-26.0}/docs/html/reference/index.md +0 -0
  138. {pip-25.3 → pip-26.0}/docs/html/reference/inspect-report.md +0 -0
  139. {pip-25.3 → pip-26.0}/docs/html/reference/installation-report.md +0 -0
  140. {pip-25.3 → pip-26.0}/docs/html/reference/pip.rst +0 -0
  141. {pip-25.3 → pip-26.0}/docs/html/reference/pip_cache.rst +0 -0
  142. {pip-25.3 → pip-26.0}/docs/html/reference/pip_check.rst +0 -0
  143. {pip-25.3 → pip-26.0}/docs/html/reference/pip_config.rst +0 -0
  144. {pip-25.3 → pip-26.0}/docs/html/reference/pip_debug.rst +0 -0
  145. {pip-25.3 → pip-26.0}/docs/html/reference/pip_download.rst +0 -0
  146. {pip-25.3 → pip-26.0}/docs/html/reference/pip_freeze.rst +0 -0
  147. {pip-25.3 → pip-26.0}/docs/html/reference/pip_hash.rst +0 -0
  148. {pip-25.3 → pip-26.0}/docs/html/reference/pip_index.rst +0 -0
  149. {pip-25.3 → pip-26.0}/docs/html/reference/pip_install.rst +0 -0
  150. {pip-25.3 → pip-26.0}/docs/html/reference/pip_list.rst +0 -0
  151. {pip-25.3 → pip-26.0}/docs/html/reference/pip_search.rst +0 -0
  152. {pip-25.3 → pip-26.0}/docs/html/reference/pip_show.rst +0 -0
  153. {pip-25.3 → pip-26.0}/docs/html/reference/pip_uninstall.rst +0 -0
  154. {pip-25.3 → pip-26.0}/docs/html/reference/pip_wheel.rst +0 -0
  155. {pip-25.3 → pip-26.0}/docs/html/reference/requirement-specifiers.md +0 -0
  156. {pip-25.3 → pip-26.0}/docs/html/reference/requirements-file-format.md +0 -0
  157. {pip-25.3 → pip-26.0}/docs/html/topics/authentication.md +0 -0
  158. {pip-25.3 → pip-26.0}/docs/html/topics/caching.md +0 -0
  159. {pip-25.3 → pip-26.0}/docs/html/topics/configuration.md +0 -0
  160. {pip-25.3 → pip-26.0}/docs/html/topics/dependency-resolution.md +0 -0
  161. {pip-25.3 → pip-26.0}/docs/html/topics/deps.dot +0 -0
  162. {pip-25.3 → pip-26.0}/docs/html/topics/deps.png +0 -0
  163. {pip-25.3 → pip-26.0}/docs/html/topics/index.md +0 -0
  164. {pip-25.3 → pip-26.0}/docs/html/topics/local-project-installs.md +0 -0
  165. {pip-25.3 → pip-26.0}/docs/html/topics/more-dependency-resolution.md +0 -0
  166. {pip-25.3 → pip-26.0}/docs/html/topics/python-option.md +0 -0
  167. {pip-25.3 → pip-26.0}/docs/html/topics/repeatable-installs.md +0 -0
  168. {pip-25.3 → pip-26.0}/docs/html/topics/secure-installs.md +0 -0
  169. {pip-25.3 → pip-26.0}/docs/html/topics/workflow.md +0 -0
  170. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/contribute.md +0 -0
  171. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/guidance.md +0 -0
  172. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/index.md +0 -0
  173. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
  174. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
  175. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +0 -0
  176. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/index.md +0 -0
  177. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
  178. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
  179. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/personas.md +0 -0
  180. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +0 -0
  181. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
  182. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
  183. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/prioritizing-features.md +0 -0
  184. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/research-results/users-and-security.md +0 -0
  185. {pip-25.3 → pip-26.0}/docs/html/ux-research-design/resolution-impossible-example.md +0 -0
  186. {pip-25.3 → pip-26.0}/docs/man/commands/cache.rst +0 -0
  187. {pip-25.3 → pip-26.0}/docs/man/commands/check.rst +0 -0
  188. {pip-25.3 → pip-26.0}/docs/man/commands/config.rst +0 -0
  189. {pip-25.3 → pip-26.0}/docs/man/commands/debug.rst +0 -0
  190. {pip-25.3 → pip-26.0}/docs/man/commands/download.rst +0 -0
  191. {pip-25.3 → pip-26.0}/docs/man/commands/freeze.rst +0 -0
  192. {pip-25.3 → pip-26.0}/docs/man/commands/hash.rst +0 -0
  193. {pip-25.3 → pip-26.0}/docs/man/commands/help.rst +0 -0
  194. {pip-25.3 → pip-26.0}/docs/man/commands/index.rst +0 -0
  195. {pip-25.3 → pip-26.0}/docs/man/commands/install.rst +0 -0
  196. {pip-25.3 → pip-26.0}/docs/man/commands/list.rst +0 -0
  197. {pip-25.3 → pip-26.0}/docs/man/commands/lock.rst +0 -0
  198. {pip-25.3 → pip-26.0}/docs/man/commands/search.rst +0 -0
  199. {pip-25.3 → pip-26.0}/docs/man/commands/show.rst +0 -0
  200. {pip-25.3 → pip-26.0}/docs/man/commands/uninstall.rst +0 -0
  201. {pip-25.3 → pip-26.0}/docs/man/commands/wheel.rst +0 -0
  202. {pip-25.3 → pip-26.0}/docs/man/index.rst +0 -0
  203. {pip-25.3 → pip-26.0}/src/pip/__main__.py +0 -0
  204. {pip-25.3 → pip-26.0}/src/pip/__pip-runner__.py +0 -0
  205. {pip-25.3 → pip-26.0}/src/pip/_internal/__init__.py +0 -0
  206. {pip-25.3 → pip-26.0}/src/pip/_internal/cache.py +0 -0
  207. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/__init__.py +0 -0
  208. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/autocompletion.py +0 -0
  209. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/command_context.py +0 -0
  210. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/spinners.py +0 -0
  211. {pip-25.3 → pip-26.0}/src/pip/_internal/cli/status_codes.py +0 -0
  212. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/__init__.py +0 -0
  213. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/check.py +0 -0
  214. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/configuration.py +0 -0
  215. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/debug.py +0 -0
  216. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/freeze.py +0 -0
  217. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/hash.py +0 -0
  218. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/help.py +0 -0
  219. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/inspect.py +0 -0
  220. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/search.py +0 -0
  221. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/show.py +0 -0
  222. {pip-25.3 → pip-26.0}/src/pip/_internal/commands/uninstall.py +0 -0
  223. {pip-25.3 → pip-26.0}/src/pip/_internal/configuration.py +0 -0
  224. {pip-25.3 → pip-26.0}/src/pip/_internal/distributions/__init__.py +0 -0
  225. {pip-25.3 → pip-26.0}/src/pip/_internal/distributions/base.py +0 -0
  226. {pip-25.3 → pip-26.0}/src/pip/_internal/distributions/installed.py +0 -0
  227. {pip-25.3 → pip-26.0}/src/pip/_internal/distributions/sdist.py +0 -0
  228. {pip-25.3 → pip-26.0}/src/pip/_internal/distributions/wheel.py +0 -0
  229. {pip-25.3 → pip-26.0}/src/pip/_internal/index/__init__.py +0 -0
  230. {pip-25.3 → pip-26.0}/src/pip/_internal/index/sources.py +0 -0
  231. {pip-25.3 → pip-26.0}/src/pip/_internal/locations/_distutils.py +0 -0
  232. {pip-25.3 → pip-26.0}/src/pip/_internal/locations/base.py +0 -0
  233. {pip-25.3 → pip-26.0}/src/pip/_internal/main.py +0 -0
  234. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/__init__.py +0 -0
  235. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/_json.py +0 -0
  236. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/base.py +0 -0
  237. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
  238. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
  239. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/importlib/_dists.py +0 -0
  240. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/importlib/_envs.py +0 -0
  241. {pip-25.3 → pip-26.0}/src/pip/_internal/metadata/pkg_resources.py +0 -0
  242. {pip-25.3 → pip-26.0}/src/pip/_internal/models/__init__.py +0 -0
  243. {pip-25.3 → pip-26.0}/src/pip/_internal/models/candidate.py +0 -0
  244. {pip-25.3 → pip-26.0}/src/pip/_internal/models/direct_url.py +0 -0
  245. {pip-25.3 → pip-26.0}/src/pip/_internal/models/format_control.py +0 -0
  246. {pip-25.3 → pip-26.0}/src/pip/_internal/models/index.py +0 -0
  247. {pip-25.3 → pip-26.0}/src/pip/_internal/models/installation_report.py +0 -0
  248. {pip-25.3 → pip-26.0}/src/pip/_internal/models/scheme.py +0 -0
  249. {pip-25.3 → pip-26.0}/src/pip/_internal/models/search_scope.py +0 -0
  250. {pip-25.3 → pip-26.0}/src/pip/_internal/models/target_python.py +0 -0
  251. {pip-25.3 → pip-26.0}/src/pip/_internal/models/wheel.py +0 -0
  252. {pip-25.3 → pip-26.0}/src/pip/_internal/network/__init__.py +0 -0
  253. {pip-25.3 → pip-26.0}/src/pip/_internal/network/cache.py +0 -0
  254. {pip-25.3 → pip-26.0}/src/pip/_internal/network/lazy_wheel.py +0 -0
  255. {pip-25.3 → pip-26.0}/src/pip/_internal/network/utils.py +0 -0
  256. {pip-25.3 → pip-26.0}/src/pip/_internal/network/xmlrpc.py +0 -0
  257. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/__init__.py +0 -0
  258. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/build/__init__.py +0 -0
  259. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/build/build_tracker.py +0 -0
  260. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/build/metadata.py +0 -0
  261. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/build/metadata_editable.py +0 -0
  262. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/build/wheel.py +0 -0
  263. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/build/wheel_editable.py +0 -0
  264. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/check.py +0 -0
  265. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/freeze.py +0 -0
  266. {pip-25.3 → pip-26.0}/src/pip/_internal/operations/install/__init__.py +0 -0
  267. {pip-25.3 → pip-26.0}/src/pip/_internal/pyproject.py +0 -0
  268. {pip-25.3 → pip-26.0}/src/pip/_internal/req/__init__.py +0 -0
  269. {pip-25.3 → pip-26.0}/src/pip/_internal/req/req_dependency_group.py +0 -0
  270. {pip-25.3 → pip-26.0}/src/pip/_internal/req/req_install.py +0 -0
  271. {pip-25.3 → pip-26.0}/src/pip/_internal/req/req_set.py +0 -0
  272. {pip-25.3 → pip-26.0}/src/pip/_internal/req/req_uninstall.py +0 -0
  273. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/__init__.py +0 -0
  274. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/base.py +0 -0
  275. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
  276. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
  277. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  278. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
  279. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/candidates.py +0 -0
  280. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  281. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/provider.py +0 -0
  282. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/reporter.py +0 -0
  283. {pip-25.3 → pip-26.0}/src/pip/_internal/resolution/resolvelib/resolver.py +0 -0
  284. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/__init__.py +0 -0
  285. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/_jaraco_text.py +0 -0
  286. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/_log.py +0 -0
  287. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/appdirs.py +0 -0
  288. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/compat.py +0 -0
  289. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/compatibility_tags.py +0 -0
  290. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/deprecation.py +0 -0
  291. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
  292. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/egg_link.py +0 -0
  293. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/entrypoints.py +0 -0
  294. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/filetypes.py +0 -0
  295. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/glibc.py +0 -0
  296. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/hashes.py +0 -0
  297. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/packaging.py +0 -0
  298. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/retry.py +0 -0
  299. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/subprocess.py +0 -0
  300. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/temp_dir.py +0 -0
  301. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/urls.py +0 -0
  302. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/virtualenv.py +0 -0
  303. {pip-25.3 → pip-26.0}/src/pip/_internal/utils/wheel.py +0 -0
  304. {pip-25.3 → pip-26.0}/src/pip/_internal/vcs/__init__.py +0 -0
  305. {pip-25.3 → pip-26.0}/src/pip/_internal/vcs/bazaar.py +0 -0
  306. {pip-25.3 → pip-26.0}/src/pip/_internal/vcs/git.py +0 -0
  307. {pip-25.3 → pip-26.0}/src/pip/_internal/vcs/mercurial.py +0 -0
  308. {pip-25.3 → pip-26.0}/src/pip/_internal/vcs/subversion.py +0 -0
  309. {pip-25.3 → pip-26.0}/src/pip/_internal/wheel_builder.py +0 -0
  310. {pip-25.3 → pip-26.0}/src/pip/_vendor/README.rst +0 -0
  311. {pip-25.3 → pip-26.0}/src/pip/_vendor/__init__.py +0 -0
  312. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
  313. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
  314. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/cache.py +0 -0
  315. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  316. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  317. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  318. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/heuristics.py +0 -0
  319. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/py.typed +0 -0
  320. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
  321. {pip-25.3 → pip-26.0}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
  322. {pip-25.3 → pip-26.0}/src/pip/_vendor/certifi/LICENSE +0 -0
  323. {pip-25.3 → pip-26.0}/src/pip/_vendor/certifi/__main__.py +0 -0
  324. {pip-25.3 → pip-26.0}/src/pip/_vendor/certifi/core.py +0 -0
  325. {pip-25.3 → pip-26.0}/src/pip/_vendor/certifi/py.typed +0 -0
  326. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/LICENSE.txt +0 -0
  327. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/__init__.py +0 -0
  328. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/__main__.py +0 -0
  329. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/_implementation.py +0 -0
  330. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
  331. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
  332. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
  333. {pip-25.3 → pip-26.0}/src/pip/_vendor/dependency_groups/py.typed +0 -0
  334. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
  335. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/__init__.py +0 -0
  336. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/compat.py +0 -0
  337. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/resources.py +0 -0
  338. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/scripts.py +0 -0
  339. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/t32.exe +0 -0
  340. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
  341. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/t64.exe +0 -0
  342. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/util.py +0 -0
  343. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/w32.exe +0 -0
  344. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
  345. {pip-25.3 → pip-26.0}/src/pip/_vendor/distlib/w64.exe +0 -0
  346. {pip-25.3 → pip-26.0}/src/pip/_vendor/distro/LICENSE +0 -0
  347. {pip-25.3 → pip-26.0}/src/pip/_vendor/distro/__init__.py +0 -0
  348. {pip-25.3 → pip-26.0}/src/pip/_vendor/distro/__main__.py +0 -0
  349. {pip-25.3 → pip-26.0}/src/pip/_vendor/distro/distro.py +0 -0
  350. {pip-25.3 → pip-26.0}/src/pip/_vendor/distro/py.typed +0 -0
  351. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/__init__.py +0 -0
  352. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/compat.py +0 -0
  353. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/intranges.py +0 -0
  354. {pip-25.3 → pip-26.0}/src/pip/_vendor/idna/py.typed +0 -0
  355. {pip-25.3 → pip-26.0}/src/pip/_vendor/msgpack/COPYING +0 -0
  356. {pip-25.3 → pip-26.0}/src/pip/_vendor/msgpack/__init__.py +0 -0
  357. {pip-25.3 → pip-26.0}/src/pip/_vendor/msgpack/exceptions.py +0 -0
  358. {pip-25.3 → pip-26.0}/src/pip/_vendor/msgpack/ext.py +0 -0
  359. {pip-25.3 → pip-26.0}/src/pip/_vendor/msgpack/fallback.py +0 -0
  360. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/LICENSE +0 -0
  361. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
  362. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
  363. {pip-25.3 → pip-26.0}/src/pip/_vendor/packaging/py.typed +0 -0
  364. {pip-25.3 → pip-26.0}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
  365. {pip-25.3 → pip-26.0}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
  366. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/LICENSE +0 -0
  367. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/__init__.py +0 -0
  368. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/__main__.py +0 -0
  369. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/android.py +0 -0
  370. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/api.py +0 -0
  371. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/macos.py +0 -0
  372. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/py.typed +0 -0
  373. {pip-25.3 → pip-26.0}/src/pip/_vendor/platformdirs/unix.py +0 -0
  374. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/LICENSE +0 -0
  375. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/__init__.py +0 -0
  376. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/__main__.py +0 -0
  377. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/console.py +0 -0
  378. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/filter.py +0 -0
  379. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
  380. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/formatter.py +0 -0
  381. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
  382. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  383. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/lexer.py +0 -0
  384. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
  385. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  386. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/lexers/python.py +0 -0
  387. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/modeline.py +0 -0
  388. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/plugin.py +0 -0
  389. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/regexopt.py +0 -0
  390. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/scanner.py +0 -0
  391. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/sphinxext.py +0 -0
  392. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/style.py +0 -0
  393. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
  394. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
  395. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/token.py +0 -0
  396. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/unistring.py +0 -0
  397. {pip-25.3 → pip-26.0}/src/pip/_vendor/pygments/util.py +0 -0
  398. {pip-25.3 → pip-26.0}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
  399. {pip-25.3 → pip-26.0}/src/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  400. {pip-25.3 → pip-26.0}/src/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  401. {pip-25.3 → pip-26.0}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  402. {pip-25.3 → pip-26.0}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  403. {pip-25.3 → pip-26.0}/src/pip/_vendor/pyproject_hooks/py.typed +0 -0
  404. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/LICENSE +0 -0
  405. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/__init__.py +0 -0
  406. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/__version__.py +0 -0
  407. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/_internal_utils.py +0 -0
  408. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/adapters.py +0 -0
  409. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/api.py +0 -0
  410. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/auth.py +0 -0
  411. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/certs.py +0 -0
  412. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/compat.py +0 -0
  413. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/cookies.py +0 -0
  414. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/exceptions.py +0 -0
  415. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/help.py +0 -0
  416. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/hooks.py +0 -0
  417. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/models.py +0 -0
  418. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/packages.py +0 -0
  419. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/sessions.py +0 -0
  420. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/status_codes.py +0 -0
  421. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/structures.py +0 -0
  422. {pip-25.3 → pip-26.0}/src/pip/_vendor/requests/utils.py +0 -0
  423. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/LICENSE +0 -0
  424. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/__init__.py +0 -0
  425. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/providers.py +0 -0
  426. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/py.typed +0 -0
  427. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/reporters.py +0 -0
  428. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
  429. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/abstract.py +0 -0
  430. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
  431. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
  432. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/resolvers/resolution.py +0 -0
  433. {pip-25.3 → pip-26.0}/src/pip/_vendor/resolvelib/structs.py +0 -0
  434. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/LICENSE +0 -0
  435. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/__init__.py +0 -0
  436. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/__main__.py +0 -0
  437. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_cell_widths.py +0 -0
  438. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
  439. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
  440. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_export_format.py +0 -0
  441. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_extension.py +0 -0
  442. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_fileno.py +0 -0
  443. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_inspect.py +0 -0
  444. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_log_render.py +0 -0
  445. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_loop.py +0 -0
  446. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_null_file.py +0 -0
  447. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_palettes.py +0 -0
  448. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_pick.py +0 -0
  449. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_ratio.py +0 -0
  450. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_spinners.py +0 -0
  451. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_stack.py +0 -0
  452. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_timer.py +0 -0
  453. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_win32_console.py +0 -0
  454. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_windows.py +0 -0
  455. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
  456. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/_wrap.py +0 -0
  457. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/abc.py +0 -0
  458. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/align.py +0 -0
  459. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/ansi.py +0 -0
  460. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/bar.py +0 -0
  461. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/box.py +0 -0
  462. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/cells.py +0 -0
  463. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/color.py +0 -0
  464. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/color_triplet.py +0 -0
  465. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/columns.py +0 -0
  466. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/console.py +0 -0
  467. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/constrain.py +0 -0
  468. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/containers.py +0 -0
  469. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/control.py +0 -0
  470. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/default_styles.py +0 -0
  471. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/diagnose.py +0 -0
  472. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/emoji.py +0 -0
  473. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/errors.py +0 -0
  474. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/file_proxy.py +0 -0
  475. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/filesize.py +0 -0
  476. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/highlighter.py +0 -0
  477. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/json.py +0 -0
  478. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/jupyter.py +0 -0
  479. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/layout.py +0 -0
  480. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/live.py +0 -0
  481. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/live_render.py +0 -0
  482. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/logging.py +0 -0
  483. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/markup.py +0 -0
  484. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/measure.py +0 -0
  485. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/padding.py +0 -0
  486. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/pager.py +0 -0
  487. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/palette.py +0 -0
  488. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/panel.py +0 -0
  489. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/pretty.py +0 -0
  490. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/progress.py +0 -0
  491. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/progress_bar.py +0 -0
  492. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/prompt.py +0 -0
  493. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/protocol.py +0 -0
  494. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/py.typed +0 -0
  495. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/region.py +0 -0
  496. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/repr.py +0 -0
  497. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/rule.py +0 -0
  498. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/scope.py +0 -0
  499. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/screen.py +0 -0
  500. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/segment.py +0 -0
  501. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/spinner.py +0 -0
  502. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/status.py +0 -0
  503. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/style.py +0 -0
  504. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/styled.py +0 -0
  505. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/syntax.py +0 -0
  506. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/table.py +0 -0
  507. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/terminal_theme.py +0 -0
  508. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/text.py +0 -0
  509. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/theme.py +0 -0
  510. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/themes.py +0 -0
  511. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/traceback.py +0 -0
  512. {pip-25.3 → pip-26.0}/src/pip/_vendor/rich/tree.py +0 -0
  513. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli/LICENSE +0 -0
  514. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli/__init__.py +0 -0
  515. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli/_parser.py +0 -0
  516. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli/_re.py +0 -0
  517. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli/_types.py +0 -0
  518. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli/py.typed +0 -0
  519. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli_w/LICENSE +0 -0
  520. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli_w/__init__.py +0 -0
  521. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli_w/_writer.py +0 -0
  522. {pip-25.3 → pip-26.0}/src/pip/_vendor/tomli_w/py.typed +0 -0
  523. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/LICENSE +0 -0
  524. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/__init__.py +0 -0
  525. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/_api.py +0 -0
  526. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/_macos.py +0 -0
  527. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/_openssl.py +0 -0
  528. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
  529. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/_windows.py +0 -0
  530. {pip-25.3 → pip-26.0}/src/pip/_vendor/truststore/py.typed +0 -0
  531. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
  532. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/__init__.py +0 -0
  533. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/_collections.py +0 -0
  534. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/_version.py +0 -0
  535. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/connection.py +0 -0
  536. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/connectionpool.py +0 -0
  537. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  538. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  539. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  540. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  541. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  542. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  543. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  544. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  545. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  546. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
  547. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/exceptions.py +0 -0
  548. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/fields.py +0 -0
  549. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/filepost.py +0 -0
  550. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/packages/__init__.py +0 -0
  551. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  552. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  553. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  554. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/packages/six.py +0 -0
  555. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
  556. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/request.py +0 -0
  557. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/response.py +0 -0
  558. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
  559. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/connection.py +0 -0
  560. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
  561. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/queue.py +0 -0
  562. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/request.py +0 -0
  563. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/response.py +0 -0
  564. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/retry.py +0 -0
  565. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/ssl_.py +0 -0
  566. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  567. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  568. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
  569. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/url.py +0 -0
  570. {pip-25.3 → pip-26.0}/src/pip/_vendor/urllib3/util/wait.py +0 -0
  571. {pip-25.3 → 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
@@ -191,6 +192,7 @@ Dane Hillard
191
192
  daniel
192
193
  Daniel Collins
193
194
  Daniel Hahler
195
+ Daniel Hollas
194
196
  Daniel Holth
195
197
  Daniel Jost
196
198
  Daniel Katz
@@ -318,6 +320,7 @@ gousaiyang
318
320
  gpiks
319
321
  Greg Roodt
320
322
  Greg Ward
323
+ Guido Diepen
321
324
  Guilherme Espada
322
325
  Guillaume Seguin
323
326
  gutsytechster
@@ -327,8 +330,10 @@ gzpan123
327
330
  Hanjun Kim
328
331
  Hari Charan
329
332
  Harsh Vardhan
333
+ Harsha Sai
330
334
  harupy
331
335
  Harutaka Kawamura
336
+ Hasan-8326
332
337
  hauntsaninja
333
338
  Henrich Hartzer
334
339
  Henry Schreiner
@@ -369,6 +374,7 @@ Jakub Kuczys
369
374
  Jakub Stasiak
370
375
  Jakub Vysoky
371
376
  Jakub Wilk
377
+ James
372
378
  James Cleveland
373
379
  James Curtin
374
380
  James Firth
@@ -425,12 +431,14 @@ Josh Hansen
425
431
  Josh Schneier
426
432
  Joshua
427
433
  JoshuaPerdue
434
+ Jost Migenda
428
435
  Juan Luis Cano Rodríguez
429
436
  Juanjo Bazán
430
437
  Judah Rand
431
438
  Julian Berman
432
439
  Julian Gethmann
433
440
  Julien Demoor
441
+ Julien Stephan
434
442
  July Tikhonov
435
443
  Jussi Kukkonen
436
444
  Justin van Heek
@@ -442,6 +450,7 @@ Kamal Bin Mustafa
442
450
  Karolina Surma
443
451
  kasium
444
452
  kaustav haldar
453
+ Kaz Nishimura
445
454
  keanemind
446
455
  Keith Maxwell
447
456
  Kelsey Hightower
@@ -557,6 +566,7 @@ Monty Taylor
557
566
  morotti
558
567
  mrKazzila
559
568
  Muha Ajjan
569
+ MUTHUSRIHEMADHARSHINI S A
560
570
  Nadav Wexler
561
571
  Nahuel Ambrosini
562
572
  Nate Coraor
@@ -581,6 +591,7 @@ Nitesh Sharma
581
591
  Niyas Sait
582
592
  Noah
583
593
  Noah Gorny
594
+ Nothing-991
584
595
  Nowell Strite
585
596
  NtaleGrey
586
597
  nucccc
@@ -601,8 +612,10 @@ Omry Yadan
601
612
  onlinejudge95
602
613
  Oren Held
603
614
  Oscar Benjamin
615
+ oxygen dioxide
604
616
  Oz N Tiram
605
617
  Pachwenko
618
+ Paresh Joshi
606
619
  Patrick Dubroy
607
620
  Patrick Jenkins
608
621
  Patrick Lawson
@@ -737,6 +750,7 @@ Stavros Korokithakis
737
750
  Stefan Scherfke
738
751
  Stefano Rivera
739
752
  Stephan Erb
753
+ Stephane Chazelas
740
754
  Stephen Payne
741
755
  Stephen Rosen
742
756
  stepshal
@@ -760,6 +774,7 @@ Sylvain
760
774
  Takayuki SHIMIZUKAWA
761
775
  Taneli Hukkinen
762
776
  tbeswick
777
+ Terrance
763
778
  Thiago
764
779
  Thijs Triemstra
765
780
  Thomas Fenzl
@@ -808,6 +823,7 @@ Vitaly Babiy
808
823
  Vladimir Fokow
809
824
  Vladimir Rutsky
810
825
  W. Trevor King
826
+ Weida Hong
811
827
  Wil Tan
812
828
  Wilfred Hughes
813
829
  William Edwards
@@ -825,6 +841,8 @@ Xianpeng Shen
825
841
  xoviat
826
842
  xtreak
827
843
  YAMAMOTO Takashi
844
+ Yash
845
+ Yashraj
828
846
  Yen Chi Hsuan
829
847
  Yeray Diaz Diaz
830
848
  Yoval P
@@ -9,6 +9,62 @@
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
+
12
68
  25.3 (2025-10-24)
13
69
  =================
14
70
 
@@ -40,7 +96,7 @@ Features
40
96
  (e.g., setuptools) without affecting the final installation. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
41
97
  - On ``ResolutionImpossible`` errors, include a note about causes with no candidates. (`#13588 <https://github.com/pypa/pip/issues/13588>`_)
42
98
  - Building pip itself from source now uses flit-core instead of setuptools.
43
- This does not affect how pip installs or builds packages you use. (`#13743 <https://github.com/pypa/pip/issues/13743>`_)
99
+ This does not affect how pip installs or builds packages you use. (`#13473 <https://github.com/pypa/pip/issues/13473>`_)
44
100
 
45
101
  Bug Fixes
46
102
  ---------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pip
3
- Version: 25.3
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
6
  Requires-Python: >=3.9
@@ -83,7 +83,7 @@ If you find bugs, need help, or want to talk to the developers, please use our m
83
83
  * `Discourse channel`_
84
84
  * `User IRC`_
85
85
 
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:
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:
87
87
 
88
88
  * `GitHub page`_
89
89
  * `Development documentation`_
@@ -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`_
@@ -4,9 +4,9 @@
4
4
  #
5
5
  # pip-compile --allow-unsafe --generate-hashes build-requirements.in
6
6
  #
7
- build==1.3.0 \
8
- --hash=sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397 \
9
- --hash=sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4
7
+ build==1.4.0 \
8
+ --hash=sha256:6a07c1b8eb6f2b311b96fcbdbce5dab5fe637ffda0fd83c9cac622e927501596 \
9
+ --hash=sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936
10
10
  # via -r build-requirements.in
11
11
  flit-core==3.12.0 \
12
12
  --hash=sha256:18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2 \
@@ -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
  ========
@@ -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
@@ -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
 
@@ -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,6 +31,8 @@ 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
  ========
@@ -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
  ========
@@ -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.
@@ -17,6 +17,9 @@ allow users to specify a different certificate store/bundle for pip to use. It
17
17
  is also possible to use `REQUESTS_CA_BUNDLE` or `CURL_CA_BUNDLE` environment
18
18
  variables.
19
19
 
20
+ If you need a specific certificate bundle, you can download the
21
+ [Mozilla CA bundle provided by the curl project](https://curl.se/docs/caextract.html).
22
+
20
23
  ## Using system certificate stores
21
24
 
22
25
  ```{versionadded} 24.2
@@ -163,7 +163,7 @@ pip also supports an `egg` fragment to specify the "project name". This is a leg
163
163
  feature and its use is discouraged in favour of the
164
164
  {ref}`Direct URL <pypug:dependency-specifiers>` form.
165
165
 
166
- The `egg` fragment **should** be a bare {ref}`project name <pypug:name-normalization>`.
166
+ The `egg` fragment **MUST** be a bare {ref}`project name <pypug:name-normalization>`.
167
167
  Anything else is not guaranteed to work.
168
168
  ```
169
169
 
@@ -296,6 +296,120 @@ Example build constraints file (``build-constraints.txt``):
296
296
  # Pin Cython for packages that use it to build
297
297
  cython==0.29.24
298
298
 
299
+ Controlling Pre-release Installation
300
+ =====================================
301
+
302
+ .. versionadded:: 26.0
303
+
304
+ By default, pip installs stable versions of packages, unless their specifier includes
305
+ a pre-release version (e.g., ``SomePackage>=1.0a1``) or if there are no stable versions
306
+ available that satisfy the requirement. The ``--all-releases`` and ``--only-final``
307
+ options provide per-package control over pre-release selection.
308
+
309
+ Use ``--all-releases`` to allow pre-releases for specific packages:
310
+
311
+ .. tab:: Unix/macOS
312
+
313
+ .. code-block:: shell
314
+
315
+ python -m pip install --all-releases=DependencyPackage SomePackage
316
+ python -m pip install --all-releases=:all: SomePackage
317
+
318
+ .. tab:: Windows
319
+
320
+ .. code-block:: shell
321
+
322
+ py -m pip install --all-releases=DependencyPackage SomePackage
323
+ py -m pip install --all-releases=:all: SomePackage
324
+
325
+ Use ``--only-final`` to explicitly disable pre-releases for specific packages:
326
+
327
+ .. tab:: Unix/macOS
328
+
329
+ .. code-block:: shell
330
+
331
+ python -m pip install --only-final=DependencyPackage SomePackage
332
+ python -m pip install --only-final=:all: SomePackage
333
+
334
+ .. tab:: Windows
335
+
336
+ .. code-block:: shell
337
+
338
+ py -m pip install --only-final=DependencyPackage SomePackage
339
+ py -m pip install --only-final=:all: SomePackage
340
+
341
+ Both options accept ``:all:`` to apply to all packages, ``:none:`` to clear
342
+ the setting, or comma-separated package names. Package-specific settings
343
+ override ``:all:``. These options can also be used in requirements files.
344
+
345
+ .. note::
346
+
347
+ The ``--pre`` flag is equivalent to ``--all-releases :all:`` but cannot
348
+ be combined with ``--all-releases`` or ``--only-final``.
349
+
350
+
351
+ .. _`Filtering by Upload Time`:
352
+
353
+ Filtering by Upload Time
354
+ =========================
355
+
356
+ .. versionadded:: 26.0
357
+
358
+ The ``--uploaded-prior-to`` option allows you to filter packages by their upload time
359
+ to an index, only considering packages that were uploaded before a specified datetime.
360
+ This can be useful for creating reproducible builds by ensuring you only install
361
+ packages that were available at a known point in time.
362
+
363
+ .. tab:: Unix/macOS
364
+
365
+ .. code-block:: shell
366
+
367
+ python -m pip install --uploaded-prior-to=2025-03-16T00:00:00Z SomePackage
368
+
369
+ .. tab:: Windows
370
+
371
+ .. code-block:: shell
372
+
373
+ py -m pip install --uploaded-prior-to=2025-03-16T00:00:00Z SomePackage
374
+
375
+ The option accepts ISO 8601 datetime strings in several formats:
376
+
377
+ * ``2025-03-16`` - Date in local timezone
378
+ * ``2025-03-16T12:30:00`` - Datetime in local timezone
379
+ * ``2025-03-16T12:30:00Z`` - Datetime in UTC
380
+ * ``2025-03-16T12:30:00+05:00`` - Datetime in UTC offset
381
+
382
+ For consistency across machines, use either UTC format (with 'Z' suffix) or UTC offset
383
+ format (with timezone offset like '+05:00'). Local timezone formats may produce different
384
+ results on different machines.
385
+
386
+ .. note::
387
+
388
+ This option only applies to packages from remote indexes, not local files or VCS
389
+ requirements. Local package files are allowed regardless of the
390
+ ``--uploaded-prior-to`` setting, e.g. ``pip install /path/to/package.whl``,
391
+ packages from ``--find-links`` directories, or VCS requirements like
392
+ ``git+https://...``.
393
+
394
+ This option requires package indexes that provide upload-time metadata
395
+ (such as PyPI). If the index does not provide upload-time metadata for a
396
+ package file, pip will fail immediately with an error message indicating
397
+ that upload-time metadata is required when using ``--uploaded-prior-to``.
398
+
399
+ You can combine this option with other filtering mechanisms like constraints files:
400
+
401
+ .. tab:: Unix/macOS
402
+
403
+ .. code-block:: shell
404
+
405
+ python -m pip install -c constraints.txt --uploaded-prior-to=2025-03-16 SomePackage
406
+
407
+ .. tab:: Windows
408
+
409
+ .. code-block:: shell
410
+
411
+ py -m pip install -c constraints.txt --uploaded-prior-to=2025-03-16 SomePackage
412
+
299
413
 
300
414
  .. _`Dependency Groups`:
301
415
 
@@ -303,6 +417,8 @@ Example build constraints file (``build-constraints.txt``):
303
417
  Dependency Groups
304
418
  =================
305
419
 
420
+ .. versionadded:: 25.1
421
+
306
422
  "Dependency Groups" are lists of items to be installed stored in a
307
423
  ``pyproject.toml`` file.
308
424
 
@@ -190,6 +190,17 @@ class PipIndexOptions(PipOptions):
190
190
  )
191
191
 
192
192
 
193
+ class PipPackageSelectionOptions(PipOptions):
194
+ required_arguments = 1
195
+
196
+ def process_options(self) -> None:
197
+ cmd_name = self.arguments[0]
198
+ self._format_options(
199
+ [o() for o in cmdoptions.package_selection_group["options"]],
200
+ cmd_name=cmd_name,
201
+ )
202
+
203
+
193
204
  class PipCommandOptions(PipOptions):
194
205
  required_arguments = 1
195
206
 
@@ -316,6 +327,7 @@ def setup(app: Sphinx) -> dict[str, bool | str]:
316
327
  app.add_directive("pip-command-options", PipCommandOptions)
317
328
  app.add_directive("pip-general-options", PipGeneralOptions)
318
329
  app.add_directive("pip-index-options", PipIndexOptions)
330
+ app.add_directive("pip-package-selection-options", PipPackageSelectionOptions)
319
331
  app.add_directive(
320
332
  "pip-requirements-file-options-ref-list", PipReqFileOptionsReference
321
333
  )
@@ -67,7 +67,6 @@ test = [
67
67
  "virtualenv < 20.0 ; python_version < '3.10' and (sys_platform != 'darwin' or platform_machine != 'arm64')",
68
68
  "virtualenv >= 20.0 ; python_version >= '3.10' or (sys_platform == 'darwin' and platform_machine == 'arm64')",
69
69
  "werkzeug",
70
- "wheel",
71
70
  "tomli-w",
72
71
  "proxy.py",
73
72
  ]
@@ -76,11 +75,11 @@ test-common-wheels = [
76
75
  "flit-core >= 3.11, < 4",
77
76
  # We pin setuptools<80 because our test suite currently
78
77
  # depends on setup.py develop to generate egg-link files.
79
- "setuptools >= 40.8.0, != 60.6.0, <80",
80
- "wheel",
78
+ "setuptools >= 70.1.0, <80",
81
79
  # As required by pytest-cov.
82
80
  "coverage >= 4.4",
83
81
  "pytest-subket >= 0.8.1",
82
+ "keyring",
84
83
  ]
85
84
 
86
85
  docs = [
@@ -112,6 +111,7 @@ include = [
112
111
  "docs/**/*.rst",
113
112
  ]
114
113
  exclude = [
114
+ ".devcontainer/devcontainer.json",
115
115
  "src/pip/_vendor/**/*.pyi",
116
116
  ]
117
117
 
@@ -231,7 +231,6 @@ select = [
231
231
  "G",
232
232
  "I",
233
233
  "ISC",
234
- "PERF",
235
234
  "PIE810",
236
235
  "PLE",
237
236
  "PLR0",
@@ -268,7 +267,7 @@ max-complexity = 33 # default is 10
268
267
  [tool.ruff.lint.pylint]
269
268
  max-args = 15 # default is 5
270
269
  max-branches = 28 # default is 12
271
- max-returns = 13 # default is 6
270
+ max-returns = 15 # default is 6
272
271
  max-statements = 134 # default is 50
273
272
 
274
273
  [tool.ruff.per-file-target-version]
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "25.3"
3
+ __version__ = "26.0"
4
4
 
5
5
 
6
6
  def main(args: list[str] | None = None) -> int: