pip 25.2__tar.gz → 25.3__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 (583) hide show
  1. {pip-25.2 → pip-25.3}/AUTHORS.txt +9 -0
  2. {pip-25.2 → pip-25.3}/NEWS.rst +64 -0
  3. {pip-25.2 → pip-25.3}/PKG-INFO +9 -10
  4. pip-25.3/build-project/build-requirements.in +2 -0
  5. pip-25.3/build-project/build-requirements.txt +22 -0
  6. {pip-25.2 → pip-25.3}/docs/html/cli/pip.rst +1 -1
  7. {pip-25.2 → pip-25.3}/docs/html/cli/pip_freeze.rst +9 -0
  8. {pip-25.2 → pip-25.3}/docs/html/cli/pip_install.rst +18 -19
  9. {pip-25.2 → pip-25.3}/docs/html/cli/pip_lock.rst +1 -1
  10. {pip-25.2 → pip-25.3}/docs/html/cli/pip_wheel.rst +1 -1
  11. {pip-25.2 → pip-25.3}/docs/html/development/architecture/anatomy.rst +0 -2
  12. pip-25.2/docs/html/reference/build-system/pyproject-toml.md → pip-25.3/docs/html/reference/build-system.md +39 -24
  13. {pip-25.2 → pip-25.3}/docs/html/reference/index.md +1 -1
  14. {pip-25.2 → pip-25.3}/docs/html/reference/requirements-file-format.md +0 -28
  15. {pip-25.2 → pip-25.3}/docs/html/topics/dependency-resolution.md +10 -2
  16. {pip-25.2 → pip-25.3}/docs/html/topics/local-project-installs.md +0 -11
  17. {pip-25.2 → pip-25.3}/docs/html/topics/repeatable-installs.md +0 -7
  18. {pip-25.2 → pip-25.3}/docs/html/topics/secure-installs.md +0 -4
  19. {pip-25.2 → pip-25.3}/docs/html/topics/vcs-support.md +32 -8
  20. {pip-25.2 → pip-25.3}/docs/html/user_guide.rst +44 -8
  21. {pip-25.2 → pip-25.3}/pyproject.toml +51 -25
  22. {pip-25.2 → pip-25.3}/src/pip/__init__.py +1 -1
  23. {pip-25.2 → pip-25.3}/src/pip/_internal/build_env.py +71 -3
  24. {pip-25.2 → pip-25.3}/src/pip/_internal/cache.py +1 -1
  25. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/cmdoptions.py +43 -71
  26. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/parser.py +3 -3
  27. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/req_command.py +46 -26
  28. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/download.py +4 -7
  29. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/install.py +19 -14
  30. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/lock.py +3 -6
  31. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/wheel.py +5 -10
  32. {pip-25.2 → pip-25.3}/src/pip/_internal/configuration.py +1 -2
  33. {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/sdist.py +13 -14
  34. {pip-25.2 → pip-25.3}/src/pip/_internal/exceptions.py +20 -3
  35. {pip-25.2 → pip-25.3}/src/pip/_internal/index/package_finder.py +3 -3
  36. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/__init__.py +7 -2
  37. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/_dists.py +8 -2
  38. {pip-25.2 → pip-25.3}/src/pip/_internal/models/link.py +1 -1
  39. pip-25.3/src/pip/_internal/models/wheel.py +80 -0
  40. {pip-25.2 → pip-25.3}/src/pip/_internal/network/cache.py +6 -11
  41. {pip-25.2 → pip-25.3}/src/pip/_internal/network/lazy_wheel.py +5 -3
  42. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/wheel.py +4 -4
  43. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/wheel_editable.py +4 -4
  44. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/prepare.py +7 -1
  45. {pip-25.2 → pip-25.3}/src/pip/_internal/pyproject.py +2 -61
  46. {pip-25.2 → pip-25.3}/src/pip/_internal/req/__init__.py +1 -3
  47. {pip-25.2 → pip-25.3}/src/pip/_internal/req/constructors.py +42 -38
  48. {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_file.py +0 -1
  49. {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_install.py +32 -141
  50. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/candidates.py +20 -11
  51. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/factory.py +31 -0
  52. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/provider.py +9 -0
  53. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/reporter.py +21 -8
  54. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/resolver.py +2 -6
  55. {pip-25.2 → pip-25.3}/src/pip/_internal/self_outdated_check.py +11 -3
  56. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/filesystem.py +12 -0
  57. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/unpacking.py +25 -0
  58. {pip-25.2 → pip-25.3}/src/pip/_internal/wheel_builder.py +23 -96
  59. {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/__init__.py +1 -1
  60. {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/cacert.pem +62 -40
  61. {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/__init__.py +2 -2
  62. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/api.py +1 -1
  63. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/macos.py +10 -8
  64. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/version.py +16 -3
  65. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/__version__.py +2 -2
  66. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/adapters.py +17 -40
  67. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/sessions.py +1 -1
  68. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/__init__.py +1 -1
  69. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/abstract.py +3 -3
  70. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/resolution.py +5 -0
  71. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/style.py +7 -11
  72. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/__init__.py +1 -1
  73. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/_parser.py +28 -21
  74. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/_re.py +8 -5
  75. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/__init__.py +1 -1
  76. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_api.py +14 -6
  77. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_openssl.py +3 -1
  78. {pip-25.2 → pip-25.3}/src/pip/_vendor/vendor.txt +8 -8
  79. pip-25.2/MANIFEST.in +0 -34
  80. pip-25.2/build-project/build-requirements.in +0 -2
  81. pip-25.2/build-project/build-requirements.txt +0 -24
  82. pip-25.2/docs/html/reference/build-system/index.md +0 -127
  83. pip-25.2/docs/html/reference/build-system/setup-py.md +0 -124
  84. pip-25.2/docs/requirements.txt +0 -14
  85. pip-25.2/setup.cfg +0 -4
  86. pip-25.2/src/pip/_internal/models/wheel.py +0 -141
  87. pip-25.2/src/pip/_internal/operations/build/metadata_legacy.py +0 -73
  88. pip-25.2/src/pip/_internal/operations/build/wheel_legacy.py +0 -119
  89. pip-25.2/src/pip/_internal/operations/install/editable_legacy.py +0 -48
  90. pip-25.2/src/pip/_internal/utils/setuptools_build.py +0 -149
  91. pip-25.2/src/pip/_vendor/tomli/LICENSE-HEADER +0 -3
  92. pip-25.2/src/pip.egg-info/PKG-INFO +0 -112
  93. pip-25.2/src/pip.egg-info/SOURCES.txt +0 -578
  94. pip-25.2/src/pip.egg-info/dependency_links.txt +0 -1
  95. pip-25.2/src/pip.egg-info/entry_points.txt +0 -3
  96. pip-25.2/src/pip.egg-info/top_level.txt +0 -1
  97. {pip-25.2 → pip-25.3}/LICENSE.txt +0 -0
  98. {pip-25.2 → pip-25.3}/README.rst +0 -0
  99. {pip-25.2 → pip-25.3}/SECURITY.md +0 -0
  100. {pip-25.2 → pip-25.3}/build-project/.python-version +0 -0
  101. {pip-25.2 → pip-25.3}/build-project/build-project.py +0 -0
  102. {pip-25.2 → pip-25.3}/docs/html/cli/index.md +0 -0
  103. {pip-25.2 → pip-25.3}/docs/html/cli/pip_cache.rst +0 -0
  104. {pip-25.2 → pip-25.3}/docs/html/cli/pip_check.rst +0 -0
  105. {pip-25.2 → pip-25.3}/docs/html/cli/pip_config.rst +0 -0
  106. {pip-25.2 → pip-25.3}/docs/html/cli/pip_debug.rst +0 -0
  107. {pip-25.2 → pip-25.3}/docs/html/cli/pip_download.rst +0 -0
  108. {pip-25.2 → pip-25.3}/docs/html/cli/pip_hash.rst +0 -0
  109. {pip-25.2 → pip-25.3}/docs/html/cli/pip_index.rst +0 -0
  110. {pip-25.2 → pip-25.3}/docs/html/cli/pip_inspect.rst +0 -0
  111. {pip-25.2 → pip-25.3}/docs/html/cli/pip_list.rst +0 -0
  112. {pip-25.2 → pip-25.3}/docs/html/cli/pip_search.rst +0 -0
  113. {pip-25.2 → pip-25.3}/docs/html/cli/pip_show.rst +0 -0
  114. {pip-25.2 → pip-25.3}/docs/html/cli/pip_uninstall.rst +0 -0
  115. {pip-25.2 → pip-25.3}/docs/html/conf.py +0 -0
  116. {pip-25.2 → pip-25.3}/docs/html/copyright.rst +0 -0
  117. {pip-25.2 → pip-25.3}/docs/html/development/architecture/command-line-interface.rst +0 -0
  118. {pip-25.2 → pip-25.3}/docs/html/development/architecture/configuration-files.rst +0 -0
  119. {pip-25.2 → pip-25.3}/docs/html/development/architecture/index.rst +0 -0
  120. {pip-25.2 → pip-25.3}/docs/html/development/architecture/overview.rst +0 -0
  121. {pip-25.2 → pip-25.3}/docs/html/development/architecture/package-finding.rst +0 -0
  122. {pip-25.2 → pip-25.3}/docs/html/development/architecture/upgrade-options.rst +0 -0
  123. {pip-25.2 → pip-25.3}/docs/html/development/ci.rst +0 -0
  124. {pip-25.2 → pip-25.3}/docs/html/development/contributing.rst +0 -0
  125. {pip-25.2 → pip-25.3}/docs/html/development/conventions.rst +0 -0
  126. {pip-25.2 → pip-25.3}/docs/html/development/getting-started.rst +0 -0
  127. {pip-25.2 → pip-25.3}/docs/html/development/index.rst +0 -0
  128. {pip-25.2 → pip-25.3}/docs/html/development/issue-triage.md +0 -0
  129. {pip-25.2 → pip-25.3}/docs/html/development/release-process.rst +0 -0
  130. {pip-25.2 → pip-25.3}/docs/html/development/vendoring-policy.rst +0 -0
  131. {pip-25.2 → pip-25.3}/docs/html/getting-started.md +0 -0
  132. {pip-25.2 → pip-25.3}/docs/html/index.md +0 -0
  133. {pip-25.2 → pip-25.3}/docs/html/installation.md +0 -0
  134. {pip-25.2 → pip-25.3}/docs/html/installing.rst +0 -0
  135. {pip-25.2 → pip-25.3}/docs/html/news.rst +0 -0
  136. {pip-25.2 → pip-25.3}/docs/html/quickstart.rst +0 -0
  137. {pip-25.2 → pip-25.3}/docs/html/reference/inspect-report.md +0 -0
  138. {pip-25.2 → pip-25.3}/docs/html/reference/installation-report.md +0 -0
  139. {pip-25.2 → pip-25.3}/docs/html/reference/pip.rst +0 -0
  140. {pip-25.2 → pip-25.3}/docs/html/reference/pip_cache.rst +0 -0
  141. {pip-25.2 → pip-25.3}/docs/html/reference/pip_check.rst +0 -0
  142. {pip-25.2 → pip-25.3}/docs/html/reference/pip_config.rst +0 -0
  143. {pip-25.2 → pip-25.3}/docs/html/reference/pip_debug.rst +0 -0
  144. {pip-25.2 → pip-25.3}/docs/html/reference/pip_download.rst +0 -0
  145. {pip-25.2 → pip-25.3}/docs/html/reference/pip_freeze.rst +0 -0
  146. {pip-25.2 → pip-25.3}/docs/html/reference/pip_hash.rst +0 -0
  147. {pip-25.2 → pip-25.3}/docs/html/reference/pip_index.rst +0 -0
  148. {pip-25.2 → pip-25.3}/docs/html/reference/pip_install.rst +0 -0
  149. {pip-25.2 → pip-25.3}/docs/html/reference/pip_list.rst +0 -0
  150. {pip-25.2 → pip-25.3}/docs/html/reference/pip_search.rst +0 -0
  151. {pip-25.2 → pip-25.3}/docs/html/reference/pip_show.rst +0 -0
  152. {pip-25.2 → pip-25.3}/docs/html/reference/pip_uninstall.rst +0 -0
  153. {pip-25.2 → pip-25.3}/docs/html/reference/pip_wheel.rst +0 -0
  154. {pip-25.2 → pip-25.3}/docs/html/reference/requirement-specifiers.md +0 -0
  155. {pip-25.2 → pip-25.3}/docs/html/topics/authentication.md +0 -0
  156. {pip-25.2 → pip-25.3}/docs/html/topics/caching.md +0 -0
  157. {pip-25.2 → pip-25.3}/docs/html/topics/configuration.md +0 -0
  158. {pip-25.2 → pip-25.3}/docs/html/topics/deps.dot +0 -0
  159. {pip-25.2 → pip-25.3}/docs/html/topics/deps.png +0 -0
  160. {pip-25.2 → pip-25.3}/docs/html/topics/https-certificates.md +0 -0
  161. {pip-25.2 → pip-25.3}/docs/html/topics/index.md +0 -0
  162. {pip-25.2 → pip-25.3}/docs/html/topics/more-dependency-resolution.md +0 -0
  163. {pip-25.2 → pip-25.3}/docs/html/topics/python-option.md +0 -0
  164. {pip-25.2 → pip-25.3}/docs/html/topics/workflow.md +0 -0
  165. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/contribute.md +0 -0
  166. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/guidance.md +0 -0
  167. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/index.md +0 -0
  168. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
  169. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
  170. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +0 -0
  171. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/index.md +0 -0
  172. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
  173. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
  174. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/personas.md +0 -0
  175. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +0 -0
  176. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
  177. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
  178. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/prioritizing-features.md +0 -0
  179. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/users-and-security.md +0 -0
  180. {pip-25.2 → pip-25.3}/docs/html/ux-research-design/resolution-impossible-example.md +0 -0
  181. {pip-25.2 → pip-25.3}/docs/man/commands/cache.rst +0 -0
  182. {pip-25.2 → pip-25.3}/docs/man/commands/check.rst +0 -0
  183. {pip-25.2 → pip-25.3}/docs/man/commands/config.rst +0 -0
  184. {pip-25.2 → pip-25.3}/docs/man/commands/debug.rst +0 -0
  185. {pip-25.2 → pip-25.3}/docs/man/commands/download.rst +0 -0
  186. {pip-25.2 → pip-25.3}/docs/man/commands/freeze.rst +0 -0
  187. {pip-25.2 → pip-25.3}/docs/man/commands/hash.rst +0 -0
  188. {pip-25.2 → pip-25.3}/docs/man/commands/help.rst +0 -0
  189. {pip-25.2 → pip-25.3}/docs/man/commands/index.rst +0 -0
  190. {pip-25.2 → pip-25.3}/docs/man/commands/install.rst +0 -0
  191. {pip-25.2 → pip-25.3}/docs/man/commands/list.rst +0 -0
  192. {pip-25.2 → pip-25.3}/docs/man/commands/lock.rst +0 -0
  193. {pip-25.2 → pip-25.3}/docs/man/commands/search.rst +0 -0
  194. {pip-25.2 → pip-25.3}/docs/man/commands/show.rst +0 -0
  195. {pip-25.2 → pip-25.3}/docs/man/commands/uninstall.rst +0 -0
  196. {pip-25.2 → pip-25.3}/docs/man/commands/wheel.rst +0 -0
  197. {pip-25.2 → pip-25.3}/docs/man/index.rst +0 -0
  198. {pip-25.2 → pip-25.3}/docs/pip_sphinxext.py +0 -0
  199. {pip-25.2 → pip-25.3}/src/pip/__main__.py +0 -0
  200. {pip-25.2 → pip-25.3}/src/pip/__pip-runner__.py +0 -0
  201. {pip-25.2 → pip-25.3}/src/pip/_internal/__init__.py +0 -0
  202. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/__init__.py +0 -0
  203. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/autocompletion.py +0 -0
  204. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/base_command.py +0 -0
  205. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/command_context.py +0 -0
  206. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/index_command.py +0 -0
  207. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/main.py +0 -0
  208. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/main_parser.py +0 -0
  209. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/progress_bars.py +0 -0
  210. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/spinners.py +0 -0
  211. {pip-25.2 → pip-25.3}/src/pip/_internal/cli/status_codes.py +0 -0
  212. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/__init__.py +0 -0
  213. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/cache.py +0 -0
  214. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/check.py +0 -0
  215. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/completion.py +0 -0
  216. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/configuration.py +0 -0
  217. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/debug.py +0 -0
  218. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/freeze.py +0 -0
  219. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/hash.py +0 -0
  220. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/help.py +0 -0
  221. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/index.py +0 -0
  222. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/inspect.py +0 -0
  223. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/list.py +0 -0
  224. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/search.py +0 -0
  225. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/show.py +0 -0
  226. {pip-25.2 → pip-25.3}/src/pip/_internal/commands/uninstall.py +0 -0
  227. {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/__init__.py +0 -0
  228. {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/base.py +0 -0
  229. {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/installed.py +0 -0
  230. {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/wheel.py +0 -0
  231. {pip-25.2 → pip-25.3}/src/pip/_internal/index/__init__.py +0 -0
  232. {pip-25.2 → pip-25.3}/src/pip/_internal/index/collector.py +0 -0
  233. {pip-25.2 → pip-25.3}/src/pip/_internal/index/sources.py +0 -0
  234. {pip-25.2 → pip-25.3}/src/pip/_internal/locations/__init__.py +0 -0
  235. {pip-25.2 → pip-25.3}/src/pip/_internal/locations/_distutils.py +0 -0
  236. {pip-25.2 → pip-25.3}/src/pip/_internal/locations/_sysconfig.py +0 -0
  237. {pip-25.2 → pip-25.3}/src/pip/_internal/locations/base.py +0 -0
  238. {pip-25.2 → pip-25.3}/src/pip/_internal/main.py +0 -0
  239. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/_json.py +0 -0
  240. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/base.py +0 -0
  241. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
  242. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
  243. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/_envs.py +0 -0
  244. {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/pkg_resources.py +0 -0
  245. {pip-25.2 → pip-25.3}/src/pip/_internal/models/__init__.py +0 -0
  246. {pip-25.2 → pip-25.3}/src/pip/_internal/models/candidate.py +0 -0
  247. {pip-25.2 → pip-25.3}/src/pip/_internal/models/direct_url.py +0 -0
  248. {pip-25.2 → pip-25.3}/src/pip/_internal/models/format_control.py +0 -0
  249. {pip-25.2 → pip-25.3}/src/pip/_internal/models/index.py +0 -0
  250. {pip-25.2 → pip-25.3}/src/pip/_internal/models/installation_report.py +0 -0
  251. {pip-25.2 → pip-25.3}/src/pip/_internal/models/pylock.py +0 -0
  252. {pip-25.2 → pip-25.3}/src/pip/_internal/models/scheme.py +0 -0
  253. {pip-25.2 → pip-25.3}/src/pip/_internal/models/search_scope.py +0 -0
  254. {pip-25.2 → pip-25.3}/src/pip/_internal/models/selection_prefs.py +0 -0
  255. {pip-25.2 → pip-25.3}/src/pip/_internal/models/target_python.py +0 -0
  256. {pip-25.2 → pip-25.3}/src/pip/_internal/network/__init__.py +0 -0
  257. {pip-25.2 → pip-25.3}/src/pip/_internal/network/auth.py +0 -0
  258. {pip-25.2 → pip-25.3}/src/pip/_internal/network/download.py +0 -0
  259. {pip-25.2 → pip-25.3}/src/pip/_internal/network/session.py +0 -0
  260. {pip-25.2 → pip-25.3}/src/pip/_internal/network/utils.py +0 -0
  261. {pip-25.2 → pip-25.3}/src/pip/_internal/network/xmlrpc.py +0 -0
  262. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/__init__.py +0 -0
  263. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/__init__.py +0 -0
  264. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/build_tracker.py +0 -0
  265. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/metadata.py +0 -0
  266. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/metadata_editable.py +0 -0
  267. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/check.py +0 -0
  268. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/freeze.py +0 -0
  269. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/install/__init__.py +0 -0
  270. {pip-25.2 → pip-25.3}/src/pip/_internal/operations/install/wheel.py +0 -0
  271. {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_dependency_group.py +0 -0
  272. {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_set.py +0 -0
  273. {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_uninstall.py +0 -0
  274. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/__init__.py +0 -0
  275. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/base.py +0 -0
  276. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
  277. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
  278. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  279. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
  280. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  281. {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/requirements.py +0 -0
  282. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/__init__.py +0 -0
  283. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/_jaraco_text.py +0 -0
  284. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/_log.py +0 -0
  285. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/appdirs.py +0 -0
  286. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/compat.py +0 -0
  287. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/compatibility_tags.py +0 -0
  288. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/datetime.py +0 -0
  289. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/deprecation.py +0 -0
  290. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
  291. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/egg_link.py +0 -0
  292. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/entrypoints.py +0 -0
  293. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/filetypes.py +0 -0
  294. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/glibc.py +0 -0
  295. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/hashes.py +0 -0
  296. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/logging.py +0 -0
  297. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/misc.py +0 -0
  298. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/packaging.py +0 -0
  299. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/retry.py +0 -0
  300. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/subprocess.py +0 -0
  301. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/temp_dir.py +0 -0
  302. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/urls.py +0 -0
  303. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/virtualenv.py +0 -0
  304. {pip-25.2 → pip-25.3}/src/pip/_internal/utils/wheel.py +0 -0
  305. {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/__init__.py +0 -0
  306. {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/bazaar.py +0 -0
  307. {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/git.py +0 -0
  308. {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/mercurial.py +0 -0
  309. {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/subversion.py +0 -0
  310. {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/versioncontrol.py +0 -0
  311. {pip-25.2 → pip-25.3}/src/pip/_vendor/README.rst +0 -0
  312. {pip-25.2 → pip-25.3}/src/pip/_vendor/__init__.py +0 -0
  313. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
  314. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/__init__.py +0 -0
  315. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
  316. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/adapter.py +0 -0
  317. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/cache.py +0 -0
  318. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  319. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  320. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  321. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/controller.py +0 -0
  322. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/filewrapper.py +0 -0
  323. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/heuristics.py +0 -0
  324. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/py.typed +0 -0
  325. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
  326. {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
  327. {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/LICENSE +0 -0
  328. {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/__main__.py +0 -0
  329. {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/core.py +0 -0
  330. {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/py.typed +0 -0
  331. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/LICENSE.txt +0 -0
  332. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/__init__.py +0 -0
  333. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/__main__.py +0 -0
  334. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_implementation.py +0 -0
  335. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
  336. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
  337. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
  338. {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/py.typed +0 -0
  339. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
  340. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/__init__.py +0 -0
  341. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/compat.py +0 -0
  342. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/resources.py +0 -0
  343. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/scripts.py +0 -0
  344. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/t32.exe +0 -0
  345. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
  346. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/t64.exe +0 -0
  347. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/util.py +0 -0
  348. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/w32.exe +0 -0
  349. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
  350. {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/w64.exe +0 -0
  351. {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/LICENSE +0 -0
  352. {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/__init__.py +0 -0
  353. {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/__main__.py +0 -0
  354. {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/distro.py +0 -0
  355. {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/py.typed +0 -0
  356. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/LICENSE.md +0 -0
  357. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/__init__.py +0 -0
  358. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/codec.py +0 -0
  359. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/compat.py +0 -0
  360. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/core.py +0 -0
  361. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/idnadata.py +0 -0
  362. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/intranges.py +0 -0
  363. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/package_data.py +0 -0
  364. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/py.typed +0 -0
  365. {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/uts46data.py +0 -0
  366. {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/COPYING +0 -0
  367. {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/exceptions.py +0 -0
  368. {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/ext.py +0 -0
  369. {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/fallback.py +0 -0
  370. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/LICENSE +0 -0
  371. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
  372. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
  373. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/__init__.py +0 -0
  374. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_elffile.py +0 -0
  375. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_manylinux.py +0 -0
  376. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_musllinux.py +0 -0
  377. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_parser.py +0 -0
  378. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_structures.py +0 -0
  379. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_tokenizer.py +0 -0
  380. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/licenses/__init__.py +0 -0
  381. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/licenses/_spdx.py +0 -0
  382. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/markers.py +0 -0
  383. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/metadata.py +0 -0
  384. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/py.typed +0 -0
  385. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/requirements.py +0 -0
  386. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/specifiers.py +0 -0
  387. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/tags.py +0 -0
  388. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/utils.py +0 -0
  389. {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/version.py +0 -0
  390. {pip-25.2 → pip-25.3}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
  391. {pip-25.2 → pip-25.3}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
  392. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/LICENSE +0 -0
  393. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/__init__.py +0 -0
  394. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/__main__.py +0 -0
  395. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/android.py +0 -0
  396. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/py.typed +0 -0
  397. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/unix.py +0 -0
  398. {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/windows.py +0 -0
  399. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/LICENSE +0 -0
  400. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/__init__.py +0 -0
  401. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/__main__.py +0 -0
  402. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/console.py +0 -0
  403. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/filter.py +0 -0
  404. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
  405. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/formatter.py +0 -0
  406. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
  407. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  408. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexer.py +0 -0
  409. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
  410. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  411. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexers/python.py +0 -0
  412. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/modeline.py +0 -0
  413. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/plugin.py +0 -0
  414. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/regexopt.py +0 -0
  415. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/scanner.py +0 -0
  416. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/sphinxext.py +0 -0
  417. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/style.py +0 -0
  418. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
  419. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
  420. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/token.py +0 -0
  421. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/unistring.py +0 -0
  422. {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/util.py +0 -0
  423. {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
  424. {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  425. {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  426. {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  427. {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  428. {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/py.typed +0 -0
  429. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/LICENSE +0 -0
  430. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/__init__.py +0 -0
  431. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/_internal_utils.py +0 -0
  432. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/api.py +0 -0
  433. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/auth.py +0 -0
  434. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/certs.py +0 -0
  435. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/compat.py +0 -0
  436. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/cookies.py +0 -0
  437. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/exceptions.py +0 -0
  438. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/help.py +0 -0
  439. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/hooks.py +0 -0
  440. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/models.py +0 -0
  441. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/packages.py +0 -0
  442. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/status_codes.py +0 -0
  443. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/structures.py +0 -0
  444. {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/utils.py +0 -0
  445. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/LICENSE +0 -0
  446. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/providers.py +0 -0
  447. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/py.typed +0 -0
  448. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/reporters.py +0 -0
  449. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
  450. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
  451. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
  452. {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/structs.py +0 -0
  453. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/LICENSE +0 -0
  454. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/__init__.py +0 -0
  455. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/__main__.py +0 -0
  456. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_cell_widths.py +0 -0
  457. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
  458. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
  459. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_export_format.py +0 -0
  460. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_extension.py +0 -0
  461. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_fileno.py +0 -0
  462. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_inspect.py +0 -0
  463. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_log_render.py +0 -0
  464. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_loop.py +0 -0
  465. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_null_file.py +0 -0
  466. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_palettes.py +0 -0
  467. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_pick.py +0 -0
  468. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_ratio.py +0 -0
  469. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_spinners.py +0 -0
  470. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_stack.py +0 -0
  471. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_timer.py +0 -0
  472. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_win32_console.py +0 -0
  473. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_windows.py +0 -0
  474. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
  475. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_wrap.py +0 -0
  476. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/abc.py +0 -0
  477. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/align.py +0 -0
  478. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/ansi.py +0 -0
  479. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/bar.py +0 -0
  480. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/box.py +0 -0
  481. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/cells.py +0 -0
  482. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/color.py +0 -0
  483. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/color_triplet.py +0 -0
  484. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/columns.py +0 -0
  485. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/console.py +0 -0
  486. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/constrain.py +0 -0
  487. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/containers.py +0 -0
  488. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/control.py +0 -0
  489. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/default_styles.py +0 -0
  490. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/diagnose.py +0 -0
  491. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/emoji.py +0 -0
  492. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/errors.py +0 -0
  493. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/file_proxy.py +0 -0
  494. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/filesize.py +0 -0
  495. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/highlighter.py +0 -0
  496. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/json.py +0 -0
  497. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/jupyter.py +0 -0
  498. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/layout.py +0 -0
  499. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/live.py +0 -0
  500. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/live_render.py +0 -0
  501. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/logging.py +0 -0
  502. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/markup.py +0 -0
  503. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/measure.py +0 -0
  504. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/padding.py +0 -0
  505. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/pager.py +0 -0
  506. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/palette.py +0 -0
  507. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/panel.py +0 -0
  508. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/pretty.py +0 -0
  509. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/progress.py +0 -0
  510. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/progress_bar.py +0 -0
  511. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/prompt.py +0 -0
  512. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/protocol.py +0 -0
  513. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/py.typed +0 -0
  514. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/region.py +0 -0
  515. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/repr.py +0 -0
  516. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/rule.py +0 -0
  517. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/scope.py +0 -0
  518. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/screen.py +0 -0
  519. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/segment.py +0 -0
  520. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/spinner.py +0 -0
  521. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/status.py +0 -0
  522. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/styled.py +0 -0
  523. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/syntax.py +0 -0
  524. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/table.py +0 -0
  525. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/terminal_theme.py +0 -0
  526. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/text.py +0 -0
  527. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/theme.py +0 -0
  528. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/themes.py +0 -0
  529. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/traceback.py +0 -0
  530. {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/tree.py +0 -0
  531. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/LICENSE +0 -0
  532. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/_types.py +0 -0
  533. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/py.typed +0 -0
  534. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/LICENSE +0 -0
  535. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/__init__.py +0 -0
  536. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/_writer.py +0 -0
  537. {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/py.typed +0 -0
  538. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/LICENSE +0 -0
  539. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_macos.py +0 -0
  540. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
  541. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_windows.py +0 -0
  542. {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/py.typed +0 -0
  543. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
  544. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/__init__.py +0 -0
  545. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/_collections.py +0 -0
  546. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/_version.py +0 -0
  547. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/connection.py +0 -0
  548. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/connectionpool.py +0 -0
  549. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  550. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  551. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  552. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  553. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  554. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  555. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  556. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  557. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  558. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
  559. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/exceptions.py +0 -0
  560. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/fields.py +0 -0
  561. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/filepost.py +0 -0
  562. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/__init__.py +0 -0
  563. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  564. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  565. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  566. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/six.py +0 -0
  567. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
  568. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/request.py +0 -0
  569. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/response.py +0 -0
  570. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
  571. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/connection.py +0 -0
  572. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
  573. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/queue.py +0 -0
  574. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/request.py +0 -0
  575. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/response.py +0 -0
  576. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/retry.py +0 -0
  577. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/ssl_.py +0 -0
  578. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  579. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  580. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
  581. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/url.py +0 -0
  582. {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/wait.py +0 -0
  583. {pip-25.2 → pip-25.3}/src/pip/py.typed +0 -0
@@ -24,6 +24,7 @@ albertg
24
24
  Alberto Sottile
25
25
  Aleks Bunin
26
26
  Ales Erjavec
27
+ Alessandro Molina
27
28
  Alethea Flowers
28
29
  Alex Gaynor
29
30
  Alex Grönholm
@@ -37,6 +38,7 @@ Alexandre Conrad
37
38
  Alexey Popravka
38
39
  Aleš Erjavec
39
40
  Alli
41
+ Aman
40
42
  Ami Fischman
41
43
  Ananya Maiti
42
44
  Anatoly Techtonik
@@ -56,6 +58,7 @@ Aniruddha Basak
56
58
  Anish Tambe
57
59
  Anrs Hu
58
60
  Anthony Sottile
61
+ Antoine Lambert
59
62
  Antoine Musso
60
63
  Anton Ovchinnikov
61
64
  Anton Patrushev
@@ -236,6 +239,7 @@ Dimitri Merejkowsky
236
239
  Dimitri Papadopoulos
237
240
  Dimitri Papadopoulos Orfanos
238
241
  Dirk Stolle
242
+ dkjsone
239
243
  Dmitry Gladkov
240
244
  Dmitry Volodin
241
245
  Domen Kožar
@@ -347,6 +351,7 @@ Igor Sobreira
347
351
  Ikko Ashimine
348
352
  Ilan Schnell
349
353
  Illia Volochii
354
+ Ilya Abdolmanafi
350
355
  Ilya Baryshev
351
356
  Inada Naoki
352
357
  Ionel Cristian Mărieș
@@ -482,6 +487,7 @@ luojiebin
482
487
  luz.paz
483
488
  László Kiss Kollár
484
489
  M00nL1ght
490
+ MajorTanya
485
491
  Malcolm Smith
486
492
  Marc Abramowitz
487
493
  Marc Tamlyn
@@ -498,6 +504,7 @@ Martin Pavlasek
498
504
  Masaki
499
505
  Masklinn
500
506
  Matej Stuchlik
507
+ Mateusz Sokół
501
508
  Mathew Jennings
502
509
  Mathieu Bridon
503
510
  Mathieu Kniewallner
@@ -525,6 +532,7 @@ mayeut
525
532
  mbaluna
526
533
  Md Sujauddin Sekh
527
534
  mdebi
535
+ Meet Vasita
528
536
  memoselyk
529
537
  meowmeowcat
530
538
  Michael
@@ -714,6 +722,7 @@ Shivansh-007
714
722
  Shixian Sheng
715
723
  Shlomi Fish
716
724
  Shovan Maity
725
+ Shubham Nagure
717
726
  Simeon Visser
718
727
  Simon Cross
719
728
  Simon Pichugin
@@ -9,6 +9,70 @@
9
9
 
10
10
  .. towncrier release notes start
11
11
 
12
+ 25.3 (2025-10-24)
13
+ =================
14
+
15
+ Deprecations and Removals
16
+ -------------------------
17
+
18
+ - Remove support for the legacy ``setup.py develop`` editable method in setuptools
19
+ editable installs; setuptools >= 64 is now required. (`#11457 <https://github.com/pypa/pip/issues/11457>`_)
20
+ - Remove the deprecated ``--global-option`` and ``--build-option``.
21
+ ``--config-setting`` is now the only way to pass options to the build backend. (`#11859 <https://github.com/pypa/pip/issues/11859>`_)
22
+ - Deprecate the ``PIP_CONSTRAINT`` environment variable for specifying build
23
+ constraints.
24
+
25
+ Use the ``--build-constraint`` option or the ``PIP_BUILD_CONSTRAINT`` environment variable
26
+ instead. When build constraints are used, ``PIP_CONSTRAINT`` no longer affects isolated build
27
+ environments. To enable this behavior without specifying any build constraints, use
28
+ ``--use-feature=build-constraint``. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
29
+ - Remove support for non-standard legacy wheel filenames. (`#13581 <https://github.com/pypa/pip/issues/13581>`_)
30
+ - Remove support for the deprecated ``setup.py bdist_wheel`` mechanism. Consequently,
31
+ ``--use-pep517`` is now always on, and ``--no-use-pep517`` has been removed. (`#6334 <https://github.com/pypa/pip/issues/6334>`_)
32
+
33
+ Features
34
+ --------
35
+
36
+ - 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>`_)
37
+ - Add support for installing an editable requirement written as a Direct URL (``PackageName @ URL``). (`#13495 <https://github.com/pypa/pip/issues/13495>`_)
38
+ - Add support for build constraints via the ``--build-constraint`` option. This
39
+ allows constraining the versions of packages used during the build process
40
+ (e.g., setuptools) without affecting the final installation. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
41
+ - On ``ResolutionImpossible`` errors, include a note about causes with no candidates. (`#13588 <https://github.com/pypa/pip/issues/13588>`_)
42
+ - 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>`_)
44
+
45
+ Bug Fixes
46
+ ---------
47
+
48
+ - Handle malformed ``Version`` metadata entries and
49
+ show a sensible error message instead of crashing. (`#13443 <https://github.com/pypa/pip/issues/13443>`_)
50
+ - Permit spaces between a filepath and extras in an install requirement. (`#13523 <https://github.com/pypa/pip/issues/13523>`_)
51
+ - 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>`_)
52
+ - Avoid concurrency issues and improve performance when caching locally built wheels,
53
+ especially when the temporary build directory is on a different filesystem than the cache.
54
+ The wheel directory passed to the build backend is now a temporary subdirectory inside
55
+ the cache directory. (`#13540 <https://github.com/pypa/pip/issues/13540>`_)
56
+ - Include relevant user-supplied constraints in logs when reporting dependency conflicts. (`#13545 <https://github.com/pypa/pip/issues/13545>`_)
57
+ - Fix a regression in configuration parsing that was turning a single value
58
+ into a list and thus leading to a validation error. (`#13548 <https://github.com/pypa/pip/issues/13548>`_)
59
+ - For Python versions that do not support :pep:`706`, pip will now raise an installation error for a
60
+ source distribution when it includes a symlink that points outside the source distribution archive. (`#13550 <https://github.com/pypa/pip/issues/13550>`_)
61
+ - Prevent ``--user`` installs if ``site.ENABLE_USER_SITE`` is set to ``False``. (`#8794 <https://github.com/pypa/pip/issues/8794>`_)
62
+
63
+
64
+ Vendored Libraries
65
+ ------------------
66
+
67
+ - Upgrade certifi to 2025.10.5
68
+ - Upgrade msgpack to 1.1.2
69
+ - Upgrade platformdirs to 4.5.0
70
+ - Upgrade requests to 2.32.5
71
+ - Upgrade resolvelib to 1.2.1
72
+ - Upgrade rich to 14.2.0
73
+ - Upgrade tomli to 2.3.0
74
+ - Upgrade truststore to 0.10.4
75
+
12
76
  25.2 (2025-07-30)
13
77
  =================
14
78
 
@@ -1,13 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pip
3
- Version: 25.2
3
+ Version: 25.3
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
  ==================================
@@ -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
+
@@ -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.3.0 \
8
+ --hash=sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397 \
9
+ --hash=sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4
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
 
@@ -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
  =======
@@ -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
 
@@ -367,21 +367,21 @@ Examples
367
367
 
368
368
  .. code-block:: shell
369
369
 
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
370
+ python -m pip install -e 'SomePackage @ git+https://git.repo/some_pkg.git' # from git
371
+ python -m pip install -e 'SomePackage @ hg+https://hg.repo/some_pkg.git' # from mercurial
372
+ python -m pip install -e 'SomePakcage @ svn+svn://svn.repo/some_pkg/trunk/' # from svn
373
+ python -m pip install -e 'SomePackage @ git+https://git.repo/some_pkg.git@feature' # from 'feature' branch
374
+ 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
375
 
376
376
  .. tab:: Windows
377
377
 
378
378
  .. code-block:: shell
379
379
 
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
380
+ py -m pip install -e "SomePackage @ git+https://git.repo/some_pkg.git" # from git
381
+ py -m pip install -e "SomePackage @ hg+https://hg.repo/some_pkg.git" # from mercurial
382
+ py -m pip install -e "SomePackage @ svn+svn://svn.repo/some_pkg/trunk/" # from svn
383
+ py -m pip install -e "SomePackage @ git+https://git.repo/some_pkg.git@feature" # from 'feature' branch
384
+ 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
385
 
386
386
  #. Install a package with extras, i.e., optional dependencies
387
387
  (:ref:`specification <pypug:dependency-specifiers>`).
@@ -479,12 +479,11 @@ Examples
479
479
 
480
480
  .. warning::
481
481
 
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.
482
+ Using the ``--extra-index-url`` option to search for packages which are
483
+ not in the main repository (for example, private packages) is unsafe.
484
+ 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
485
+ attacker can publish a package with the same name to a public index,
486
+ which may then be chosen instead of your private package.
488
487
 
489
488
  .. tab:: Unix/macOS
490
489
 
@@ -35,7 +35,7 @@ Options
35
35
  Examples
36
36
  ========
37
37
 
38
- #. Emit a ``pylock.toml`` for the the project in the current directory
38
+ #. Emit a ``pylock.toml`` for the project in the current directory
39
39
 
40
40
  .. tab:: Unix/macOS
41
41
 
@@ -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
  ------------------------
@@ -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
 
@@ -1,8 +1,11 @@
1
- # `pyproject.toml`
1
+ (build-interface)=
2
2
 
3
- ```{versionadded} 10.0
3
+ # Build System Interface
4
4
 
5
- ```
5
+ When dealing with installable source distributions of a package, pip does not
6
+ directly handle the build process for the package. This responsibility is
7
+ delegated to "build backends" -- also known as "build systems". This means
8
+ that pip needs an interface, to interact with these build backends.
6
9
 
7
10
  Modern Python packages can contain a `pyproject.toml` file, first introduced in
8
11
  {pep}`518` and later expanded in {pep}`517`, {pep}`621` and {pep}`660`.
@@ -96,16 +99,6 @@ For performing editable installs, pip will use {pep}`660`
96
99
  `build_wheel_for_editable` hook that has to be provided by the build backend.
97
100
  The wheels generated using this mechanism are not cached.
98
101
 
99
- ```{admonition} Compatibility fallback
100
- If this hook is missing on the build backend _and_ there's a `setup.py` file
101
- in the project, pip will fallback to the legacy setup.py-based editable
102
- installation.
103
-
104
- This is considered a stopgap solution until setuptools adds support for
105
- {pep}`660`, at which point this functionality will be removed; following pip's
106
- regular {ref}`deprecation policy <Deprecation Policy>`.
107
- ```
108
-
109
102
  ### Backend Configuration
110
103
 
111
104
  Build backends have the ability to accept configuration settings, which can
@@ -125,8 +118,7 @@ files.
125
118
  ## Build output
126
119
 
127
120
  It is the responsibility of the build backend to ensure that the output is
128
- in the correct encoding, as described in {pep}`517`. This likely involves
129
- dealing with [the same challenges as pip has for legacy builds](build-output).
121
+ in the correct encoding, as described in {pep}`517`.
130
122
 
131
123
  ## Fallback Behaviour
132
124
 
@@ -138,7 +130,8 @@ https://setuptools.pypa.io/en/stable/userguide/quickstart.html#basic-use).
138
130
  ```
139
131
 
140
132
  If a project does not have a `pyproject.toml` file containing a `build-system`
141
- section, it will be assumed to have the following backend settings:
133
+ section, and contains a `setup.py` it will be assumed to have the following
134
+ backend settings:
142
135
 
143
136
  ```toml
144
137
  [build-system]
@@ -164,14 +157,36 @@ passed.
164
157
 
165
158
  ## Historical notes
166
159
 
160
+ ```{versionadded} 10.0
161
+
162
+ ```
163
+
167
164
  As this feature was incrementally rolled out, there have been various notable
168
165
  changes and improvements in it.
169
166
 
170
- - setuptools 40.8.0 is the first version of setuptools that offers a
171
- {pep}`517` backend that closely mimics directly executing `setup.py`.
172
- - Prior to pip 18.0, pip only supports installing build requirements from
173
- wheels, and does not support the use of environment markers and extras (only
174
- version specifiers are respected).
175
- - Prior to pip 18.1, build dependencies using `.pth` files are not properly
176
- supported; as a result namespace packages do not work under Python 3.2 and
177
- earlier.
167
+ Setuptools 40.8.0 is the first version of setuptools that offers a
168
+ {pep}`517` backend that closely mimics directly executing `setup.py`.
169
+
170
+ ```{versionadded} 18.0
171
+ Prior to pip 18.0, pip only supports installing build requirements from
172
+ wheels, and does not support the use of environment markers and extras (only
173
+ version specifiers are respected).
174
+ ```
175
+
176
+ ```{versionadded} 18.1
177
+ Prior to pip 18.1, build dependencies using `.pth` files are not properly
178
+ supported; as a result namespace packages do not work under Python 3.2 and
179
+ earlier.
180
+ ```
181
+
182
+ ```{versionchanged} 23.1
183
+ The legacy interface where pip could invoke `setup.py install`
184
+ in some circumstances was removed,
185
+ in favor of the fallback behavior described above.
186
+ ```
187
+
188
+ ```{versionchanged} 25.3
189
+ The legacy interface where pip could invoke `setup.py build_wheel` or
190
+ `setup.py develop` in some circumstances was removed,
191
+ in favor of the fallback behavior described above.
192
+ ```
@@ -6,7 +6,7 @@ interoperability standards that pip utilises/implements.
6
6
  ```{toctree}
7
7
  :titlesonly:
8
8
 
9
- build-system/index
9
+ build-system
10
10
  requirement-specifiers
11
11
  requirements-file-format
12
12
  installation-report
@@ -109,7 +109,6 @@ and two {ref}`--find-links <install_--find-links>` locations:
109
109
 
110
110
  The options which can be applied to individual requirements are:
111
111
 
112
- - {ref}`--global-option <install_--global-option>`
113
112
  - {ref}`--config-settings <install_--config-settings>`
114
113
  - `--hash` (for {ref}`Hash-checking mode`)
115
114
 
@@ -150,30 +149,3 @@ You can now store sensitive data (tokens, keys, etc.) in environment variables
150
149
  and only specify the variable name for your requirements, letting pip lookup
151
150
  the value at runtime. This approach aligns with the commonly used
152
151
  [12-factor configuration pattern](https://12factor.net/config).
153
-
154
-
155
- ## Influencing the build system
156
-
157
- ```{danger}
158
- This disables the use of wheels (cached or otherwise). This could mean that builds will be slower, less deterministic, less reliable and may not behave correctly upon installation.
159
-
160
- This mechanism is only preserved for backwards compatibility and should be considered deprecated. A future release of pip may drop these options.
161
- ```
162
-
163
- The `--global-option` option is used to pass options to `setup.py`.
164
-
165
- ```{attention}
166
- These options are highly coupled with how pip invokes setuptools using the {doc}`../reference/build-system/setup-py` build system interface. It is not compatible with newer {doc}`../reference/build-system/pyproject-toml` build system interface.
167
-
168
- This is will not work with other build-backends or newer setup.cfg-only projects.
169
- ```
170
-
171
- If you have a declaration like:
172
-
173
- FooProject >= 1.2 --global-option="--no-user-cfg"
174
-
175
- The above translates roughly into running FooProject's `setup.py` script as:
176
-
177
- python setup.py --no-user-cfg install
178
-
179
- Note that the only way of giving more than one option to `setup.py` is through multiple `--global-option` options.
@@ -165,6 +165,9 @@ will avoid performing dependency resolution during deployment.
165
165
 
166
166
  ## Dealing with dependency conflicts
167
167
 
168
+ This section uses hypothetical packages (`package_coffee`, `package_tea`, and
169
+ `package_water`) to explain how pip resolves conflicts.
170
+
168
171
  This section provides practical suggestions to pip users who encounter
169
172
  a `ResolutionImpossible` error, where pip cannot install their specified
170
173
  packages due to conflicting dependencies.
@@ -194,6 +197,11 @@ because they each depend on different versions of the same package
194
197
  - ``package_tea`` version ``4.3.0`` depends on version ``2.3.1`` of
195
198
  ``package_water``
196
199
 
200
+ Note: `package_coffee`, `package_tea`, and `package_water` are hypothetical
201
+ packages used only to illustrate dependency conflicts. They are not real
202
+ projects you can install.
203
+
204
+
197
205
  Sometimes these messages are straightforward to read, because they use
198
206
  commonly understood comparison operators to specify the required version
199
207
  (e.g. `<` or `>`).
@@ -252,10 +260,10 @@ the same version of `package_water`, you might consider:
252
260
 
253
261
  In the second case, pip will automatically find a version of both
254
262
  `package_coffee` and `package_tea` that depend on the same version of
255
- `package_water`, installing:
263
+ `package_water`, for example:
256
264
 
257
265
  - `package_coffee 0.44.1`, which depends on `package_water 2.6.1`
258
- - `package_tea 4.4.3` which _also_ depends on `package_water 2.6.1`
266
+ - `package_tea 4.4.3`, which also depends on `package_water 2.6.1`
259
267
 
260
268
  If you want to prioritize one package over another, you can add version
261
269
  specifiers to _only_ the more important package:
@@ -37,17 +37,6 @@ With an editable install, you only need to perform a re-installation if you chan
37
37
  It is possible to see behaviour differences between regular installs vs editable installs. These differences depend on the build-backend, and you should check the build-backend documentation for the details. In case you distribute the project as a "distribution package", users will see the behaviour of regular installs -- thus, it is important to ensure that regular installs work correctly.
38
38
  ```
39
39
 
40
- ```{note}
41
- This is functionally the same as [setuptools' develop mode], and that's precisely the mechanism used for setuptools-based projects.
42
-
43
- There are two advantages over using `setup.py develop` directly:
44
-
45
- - This works with non-setuptools build-backends as well.
46
- - The ".egg-info" directory is created relative to the project path, when using pip. This is generally a better location than setuptools, which dumps it in the current working directory.
47
- ```
48
-
49
- [setuptools' develop mode]: https://setuptools.readthedocs.io/en/latest/userguide/development_mode.html
50
-
51
40
  ## Build artifacts
52
41
 
53
42
  ```{versionchanged} 21.3
@@ -90,10 +90,3 @@ across machines.
90
90
  Hash-checking mode can also be used along with this method (since this uses a
91
91
  requirements file as well), to ensure that future archives are built with
92
92
  identical packages.
93
-
94
- ```{warning}
95
- Beware of the `setup_requires` keyword arg in {file}`setup.py`. The (rare)
96
- packages that use it will cause those dependencies to be downloaded by
97
- setuptools directly, skipping pip's protections. If you need to use such a
98
- package, see {ref}`Controlling setup_requires <controlling-setup_requires>`.
99
- ```
@@ -77,10 +77,6 @@ Other hash algorithms that have guaranteed support from `hashlib` are also suppo
77
77
 
78
78
  Hash-checking mode also works with {ref}`pip download` and {ref}`pip wheel`. See {doc}`../topics/repeatable-installs` for a comparison of hash-checking mode with other repeatability strategies.
79
79
 
80
- ```{warning}
81
- Beware of the `setup_requires` keyword arg in {file}`setup.py`. The (rare) packages that use it will cause those dependencies to be downloaded by setuptools directly, skipping pip's hash-checking. If you need to use such a package, see {ref}`controlling setup_requires <controlling-setup_requires>`.
82
- ```
83
-
84
80
  ## Do not use setuptools directly
85
81
 
86
82
  Be careful not to nullify all your security work by installing your actual project by using setuptools' deprecated interfaces directly: for example, by calling `python setup.py install`, `python setup.py develop`, or `easy_install`.