@pyscript/core 0.5.7 → 0.5.9

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 (1667) hide show
  1. package/dist/{codemirror-jVwF0Nvq.js → codemirror-DgYE9rP-.js} +2 -2
  2. package/dist/{codemirror-jVwF0Nvq.js.map → codemirror-DgYE9rP-.js.map} +1 -1
  3. package/dist/codemirror_commands-DzVQ2VDo.js +2 -0
  4. package/dist/codemirror_commands-DzVQ2VDo.js.map +1 -0
  5. package/dist/core-ChsB5XKV.js +2 -0
  6. package/dist/core-ChsB5XKV.js.map +1 -0
  7. package/dist/core.js +1 -1
  8. package/dist/{deprecations-manager-DSTPOQe0.js → deprecations-manager-BIGbxm9d.js} +2 -2
  9. package/dist/{deprecations-manager-DSTPOQe0.js.map → deprecations-manager-BIGbxm9d.js.map} +1 -1
  10. package/dist/{error-D2xNLHJ6.js → error-CZ_xZceV.js} +2 -2
  11. package/dist/{error-D2xNLHJ6.js.map → error-CZ_xZceV.js.map} +1 -1
  12. package/dist/{mpy-BR_l4RTo.js → mpy-sbGK0OC8.js} +2 -2
  13. package/dist/{mpy-BR_l4RTo.js.map → mpy-sbGK0OC8.js.map} +1 -1
  14. package/dist/{py-C4pTyP7z.js → py-DaDp5KT2.js} +2 -2
  15. package/dist/{py-C4pTyP7z.js.map → py-DaDp5KT2.js.map} +1 -1
  16. package/dist/py-editor-QaFsPbeG.js +2 -0
  17. package/dist/py-editor-QaFsPbeG.js.map +1 -0
  18. package/dist/{py-terminal-D1VMb_71.js → py-terminal-DkjvNCaY.js} +2 -2
  19. package/dist/{py-terminal-D1VMb_71.js.map → py-terminal-DkjvNCaY.js.map} +1 -1
  20. package/dist/{zip-BIfA-Q-T.js → zip-DrwYHuF9.js} +2 -2
  21. package/dist/zip-DrwYHuF9.js.map +1 -0
  22. package/package.json +18 -9
  23. package/src/plugins/py-editor.js +58 -23
  24. package/src/stdlib/pyscript/event_handling.py +10 -2
  25. package/src/stdlib/pyscript/web.py +1 -1
  26. package/src/stdlib/pyscript.js +2 -2
  27. package/dev.cjs +0 -31
  28. package/dist/codemirror_commands-DbitAX-b.js +0 -2
  29. package/dist/codemirror_commands-DbitAX-b.js.map +0 -1
  30. package/dist/core-CHD-6qHy.js +0 -2
  31. package/dist/core-CHD-6qHy.js.map +0 -1
  32. package/dist/py-editor-DN6Ir37A.js +0 -2
  33. package/dist/py-editor-DN6Ir37A.js.map +0 -1
  34. package/dist/zip-BIfA-Q-T.js.map +0 -1
  35. package/dist.zip +0 -0
  36. package/docs/README.md +0 -271
  37. package/env/bin/Activate.ps1 +0 -247
  38. package/env/bin/activate +0 -70
  39. package/env/bin/activate.csh +0 -27
  40. package/env/bin/activate.fish +0 -69
  41. package/env/bin/pip +0 -8
  42. package/env/bin/pip3 +0 -8
  43. package/env/bin/pip3.12 +0 -8
  44. package/env/bin/pyminify +0 -8
  45. package/env/lib/python3.12/site-packages/_distutils_hack/__init__.py +0 -240
  46. package/env/lib/python3.12/site-packages/_distutils_hack/__pycache__/__init__.cpython-312.pyc +0 -0
  47. package/env/lib/python3.12/site-packages/_distutils_hack/__pycache__/override.cpython-312.pyc +0 -0
  48. package/env/lib/python3.12/site-packages/_distutils_hack/override.py +0 -1
  49. package/env/lib/python3.12/site-packages/distutils-precedence.pth +0 -1
  50. package/env/lib/python3.12/site-packages/pip/__init__.py +0 -13
  51. package/env/lib/python3.12/site-packages/pip/__main__.py +0 -24
  52. package/env/lib/python3.12/site-packages/pip/__pip-runner__.py +0 -50
  53. package/env/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  54. package/env/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  55. package/env/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  56. package/env/lib/python3.12/site-packages/pip/_internal/__init__.py +0 -18
  57. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  58. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  59. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  60. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  61. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  62. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  63. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  64. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  65. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  66. package/env/lib/python3.12/site-packages/pip/_internal/build_env.py +0 -315
  67. package/env/lib/python3.12/site-packages/pip/_internal/cache.py +0 -290
  68. package/env/lib/python3.12/site-packages/pip/_internal/cli/__init__.py +0 -4
  69. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  70. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  71. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  72. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  73. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  74. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc +0 -0
  75. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  76. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  77. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  78. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  79. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  80. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  81. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  82. package/env/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py +0 -176
  83. package/env/lib/python3.12/site-packages/pip/_internal/cli/base_command.py +0 -231
  84. package/env/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py +0 -1075
  85. package/env/lib/python3.12/site-packages/pip/_internal/cli/command_context.py +0 -27
  86. package/env/lib/python3.12/site-packages/pip/_internal/cli/index_command.py +0 -170
  87. package/env/lib/python3.12/site-packages/pip/_internal/cli/main.py +0 -80
  88. package/env/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py +0 -134
  89. package/env/lib/python3.12/site-packages/pip/_internal/cli/parser.py +0 -294
  90. package/env/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py +0 -94
  91. package/env/lib/python3.12/site-packages/pip/_internal/cli/req_command.py +0 -329
  92. package/env/lib/python3.12/site-packages/pip/_internal/cli/spinners.py +0 -159
  93. package/env/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py +0 -6
  94. package/env/lib/python3.12/site-packages/pip/_internal/commands/__init__.py +0 -132
  95. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  96. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  97. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  98. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  99. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  100. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  101. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  102. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  103. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  104. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  105. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  106. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  107. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  108. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  109. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  110. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  111. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  112. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  113. package/env/lib/python3.12/site-packages/pip/_internal/commands/cache.py +0 -225
  114. package/env/lib/python3.12/site-packages/pip/_internal/commands/check.py +0 -67
  115. package/env/lib/python3.12/site-packages/pip/_internal/commands/completion.py +0 -130
  116. package/env/lib/python3.12/site-packages/pip/_internal/commands/configuration.py +0 -280
  117. package/env/lib/python3.12/site-packages/pip/_internal/commands/debug.py +0 -201
  118. package/env/lib/python3.12/site-packages/pip/_internal/commands/download.py +0 -146
  119. package/env/lib/python3.12/site-packages/pip/_internal/commands/freeze.py +0 -109
  120. package/env/lib/python3.12/site-packages/pip/_internal/commands/hash.py +0 -59
  121. package/env/lib/python3.12/site-packages/pip/_internal/commands/help.py +0 -41
  122. package/env/lib/python3.12/site-packages/pip/_internal/commands/index.py +0 -139
  123. package/env/lib/python3.12/site-packages/pip/_internal/commands/inspect.py +0 -92
  124. package/env/lib/python3.12/site-packages/pip/_internal/commands/install.py +0 -783
  125. package/env/lib/python3.12/site-packages/pip/_internal/commands/list.py +0 -375
  126. package/env/lib/python3.12/site-packages/pip/_internal/commands/search.py +0 -172
  127. package/env/lib/python3.12/site-packages/pip/_internal/commands/show.py +0 -217
  128. package/env/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py +0 -114
  129. package/env/lib/python3.12/site-packages/pip/_internal/commands/wheel.py +0 -182
  130. package/env/lib/python3.12/site-packages/pip/_internal/configuration.py +0 -383
  131. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py +0 -21
  132. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  133. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  134. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  135. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  136. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  137. package/env/lib/python3.12/site-packages/pip/_internal/distributions/base.py +0 -53
  138. package/env/lib/python3.12/site-packages/pip/_internal/distributions/installed.py +0 -29
  139. package/env/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py +0 -158
  140. package/env/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py +0 -42
  141. package/env/lib/python3.12/site-packages/pip/_internal/exceptions.py +0 -777
  142. package/env/lib/python3.12/site-packages/pip/_internal/index/__init__.py +0 -2
  143. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  144. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  145. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  146. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  147. package/env/lib/python3.12/site-packages/pip/_internal/index/collector.py +0 -494
  148. package/env/lib/python3.12/site-packages/pip/_internal/index/package_finder.py +0 -1020
  149. package/env/lib/python3.12/site-packages/pip/_internal/index/sources.py +0 -285
  150. package/env/lib/python3.12/site-packages/pip/_internal/locations/__init__.py +0 -456
  151. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  152. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  153. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  154. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  155. package/env/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py +0 -172
  156. package/env/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py +0 -214
  157. package/env/lib/python3.12/site-packages/pip/_internal/locations/base.py +0 -81
  158. package/env/lib/python3.12/site-packages/pip/_internal/main.py +0 -12
  159. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py +0 -128
  160. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  161. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  162. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  163. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  164. package/env/lib/python3.12/site-packages/pip/_internal/metadata/_json.py +0 -84
  165. package/env/lib/python3.12/site-packages/pip/_internal/metadata/base.py +0 -688
  166. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -6
  167. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  168. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  169. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  170. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  171. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -85
  172. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -221
  173. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -189
  174. package/env/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py +0 -301
  175. package/env/lib/python3.12/site-packages/pip/_internal/models/__init__.py +0 -2
  176. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  177. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  178. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  179. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  180. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  181. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  182. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  183. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  184. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  185. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  186. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  187. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  188. package/env/lib/python3.12/site-packages/pip/_internal/models/candidate.py +0 -25
  189. package/env/lib/python3.12/site-packages/pip/_internal/models/direct_url.py +0 -224
  190. package/env/lib/python3.12/site-packages/pip/_internal/models/format_control.py +0 -78
  191. package/env/lib/python3.12/site-packages/pip/_internal/models/index.py +0 -28
  192. package/env/lib/python3.12/site-packages/pip/_internal/models/installation_report.py +0 -56
  193. package/env/lib/python3.12/site-packages/pip/_internal/models/link.py +0 -590
  194. package/env/lib/python3.12/site-packages/pip/_internal/models/scheme.py +0 -25
  195. package/env/lib/python3.12/site-packages/pip/_internal/models/search_scope.py +0 -127
  196. package/env/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py +0 -53
  197. package/env/lib/python3.12/site-packages/pip/_internal/models/target_python.py +0 -121
  198. package/env/lib/python3.12/site-packages/pip/_internal/models/wheel.py +0 -93
  199. package/env/lib/python3.12/site-packages/pip/_internal/network/__init__.py +0 -2
  200. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  201. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  202. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  203. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  204. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  205. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  206. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  207. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  208. package/env/lib/python3.12/site-packages/pip/_internal/network/auth.py +0 -566
  209. package/env/lib/python3.12/site-packages/pip/_internal/network/cache.py +0 -106
  210. package/env/lib/python3.12/site-packages/pip/_internal/network/download.py +0 -187
  211. package/env/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  212. package/env/lib/python3.12/site-packages/pip/_internal/network/session.py +0 -522
  213. package/env/lib/python3.12/site-packages/pip/_internal/network/utils.py +0 -98
  214. package/env/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py +0 -62
  215. package/env/lib/python3.12/site-packages/pip/_internal/operations/__init__.py +0 -0
  216. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  217. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  218. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  219. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  220. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  221. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  222. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  223. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  224. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  225. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
  226. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  227. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  228. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
  229. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py +0 -138
  230. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  231. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  232. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  233. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  234. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  235. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  236. package/env/lib/python3.12/site-packages/pip/_internal/operations/check.py +0 -181
  237. package/env/lib/python3.12/site-packages/pip/_internal/operations/freeze.py +0 -258
  238. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  239. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  240. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
  241. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  242. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  243. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py +0 -741
  244. package/env/lib/python3.12/site-packages/pip/_internal/operations/prepare.py +0 -732
  245. package/env/lib/python3.12/site-packages/pip/_internal/pyproject.py +0 -185
  246. package/env/lib/python3.12/site-packages/pip/_internal/req/__init__.py +0 -90
  247. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  248. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  249. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  250. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  251. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  252. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  253. package/env/lib/python3.12/site-packages/pip/_internal/req/constructors.py +0 -560
  254. package/env/lib/python3.12/site-packages/pip/_internal/req/req_file.py +0 -551
  255. package/env/lib/python3.12/site-packages/pip/_internal/req/req_install.py +0 -934
  256. package/env/lib/python3.12/site-packages/pip/_internal/req/req_set.py +0 -82
  257. package/env/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py +0 -633
  258. package/env/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py +0 -0
  259. package/env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  260. package/env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  261. package/env/lib/python3.12/site-packages/pip/_internal/resolution/base.py +0 -20
  262. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  263. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  264. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  265. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -597
  266. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  267. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  268. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  269. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  270. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  271. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  272. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  273. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  274. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  275. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  276. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -139
  277. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -569
  278. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -817
  279. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -174
  280. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -258
  281. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -81
  282. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -245
  283. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -317
  284. package/env/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py +0 -244
  285. package/env/lib/python3.12/site-packages/pip/_internal/utils/__init__.py +0 -0
  286. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  287. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  288. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  289. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  290. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  291. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  292. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  293. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  294. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  295. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  296. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-312.pyc +0 -0
  297. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  298. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  299. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  300. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  301. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  302. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  303. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  304. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  305. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc +0 -0
  306. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
  307. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  308. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  309. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  310. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  311. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  312. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  313. package/env/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py +0 -109
  314. package/env/lib/python3.12/site-packages/pip/_internal/utils/_log.py +0 -38
  315. package/env/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py +0 -52
  316. package/env/lib/python3.12/site-packages/pip/_internal/utils/compat.py +0 -79
  317. package/env/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  318. package/env/lib/python3.12/site-packages/pip/_internal/utils/datetime.py +0 -11
  319. package/env/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py +0 -124
  320. package/env/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  321. package/env/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py +0 -80
  322. package/env/lib/python3.12/site-packages/pip/_internal/utils/encoding.py +0 -36
  323. package/env/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py +0 -84
  324. package/env/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py +0 -149
  325. package/env/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py +0 -27
  326. package/env/lib/python3.12/site-packages/pip/_internal/utils/glibc.py +0 -101
  327. package/env/lib/python3.12/site-packages/pip/_internal/utils/hashes.py +0 -147
  328. package/env/lib/python3.12/site-packages/pip/_internal/utils/logging.py +0 -347
  329. package/env/lib/python3.12/site-packages/pip/_internal/utils/misc.py +0 -777
  330. package/env/lib/python3.12/site-packages/pip/_internal/utils/packaging.py +0 -57
  331. package/env/lib/python3.12/site-packages/pip/_internal/utils/retry.py +0 -42
  332. package/env/lib/python3.12/site-packages/pip/_internal/utils/setuptools_build.py +0 -146
  333. package/env/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py +0 -245
  334. package/env/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py +0 -296
  335. package/env/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py +0 -337
  336. package/env/lib/python3.12/site-packages/pip/_internal/utils/urls.py +0 -55
  337. package/env/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  338. package/env/lib/python3.12/site-packages/pip/_internal/utils/wheel.py +0 -134
  339. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py +0 -15
  340. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  341. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  342. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  343. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  344. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  345. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  346. package/env/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py +0 -112
  347. package/env/lib/python3.12/site-packages/pip/_internal/vcs/git.py +0 -527
  348. package/env/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  349. package/env/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py +0 -324
  350. package/env/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py +0 -688
  351. package/env/lib/python3.12/site-packages/pip/_internal/wheel_builder.py +0 -354
  352. package/env/lib/python3.12/site-packages/pip/_vendor/__init__.py +0 -116
  353. package/env/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  354. package/env/lib/python3.12/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  355. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -28
  356. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  357. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  358. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  359. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  360. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  361. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  362. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  363. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  364. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  365. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -70
  366. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -161
  367. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py +0 -74
  368. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -8
  369. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  370. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  371. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  372. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -182
  373. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -48
  374. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py +0 -499
  375. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -119
  376. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -154
  377. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  378. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -146
  379. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -43
  380. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  381. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  382. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  383. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  384. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  385. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem +0 -4798
  386. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/core.py +0 -114
  387. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed +0 -0
  388. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py +0 -33
  389. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  390. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  391. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
  392. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
  393. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
  394. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
  395. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
  396. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
  397. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  398. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  399. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  400. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
  401. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
  402. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py +0 -1138
  403. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/database.py +0 -1359
  404. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/index.py +0 -508
  405. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/locators.py +0 -1303
  406. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/manifest.py +0 -384
  407. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/markers.py +0 -167
  408. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/metadata.py +0 -1068
  409. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py +0 -358
  410. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py +0 -466
  411. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  412. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  413. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  414. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/util.py +0 -2025
  415. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/version.py +0 -751
  416. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  417. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  418. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  419. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/wheel.py +0 -1099
  420. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py +0 -54
  421. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py +0 -4
  422. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  423. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  424. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  425. package/env/lib/python3.12/site-packages/pip/_vendor/distro/distro.py +0 -1403
  426. package/env/lib/python3.12/site-packages/pip/_vendor/distro/py.typed +0 -0
  427. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py +0 -44
  428. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  429. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  430. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  431. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  432. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  433. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  434. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  435. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  436. package/env/lib/python3.12/site-packages/pip/_vendor/idna/codec.py +0 -118
  437. package/env/lib/python3.12/site-packages/pip/_vendor/idna/compat.py +0 -13
  438. package/env/lib/python3.12/site-packages/pip/_vendor/idna/core.py +0 -395
  439. package/env/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py +0 -4245
  440. package/env/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py +0 -54
  441. package/env/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py +0 -2
  442. package/env/lib/python3.12/site-packages/pip/_vendor/idna/py.typed +0 -0
  443. package/env/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py +0 -8598
  444. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py +0 -55
  445. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  446. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  447. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  448. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  449. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  450. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py +0 -168
  451. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py +0 -951
  452. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py +0 -15
  453. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  454. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  455. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  456. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  457. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  458. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  459. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  460. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  461. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  462. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  463. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  464. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  465. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  466. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  467. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py +0 -110
  468. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py +0 -262
  469. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py +0 -85
  470. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py +0 -354
  471. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  472. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -194
  473. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py +0 -325
  474. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py +0 -804
  475. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed +0 -0
  476. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py +0 -91
  477. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py +0 -1009
  478. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py +0 -568
  479. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py +0 -174
  480. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/version.py +0 -563
  481. package/env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3676
  482. package/env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  483. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py +0 -627
  484. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py +0 -55
  485. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  486. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  487. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  488. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  489. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  490. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  491. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  492. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  493. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py +0 -249
  494. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py +0 -292
  495. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py +0 -130
  496. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  497. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py +0 -275
  498. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py +0 -16
  499. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py +0 -272
  500. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  501. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  502. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  503. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  504. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
  505. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  506. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  507. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  508. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  509. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  510. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  511. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  512. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  513. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  514. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  515. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  516. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  517. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  518. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/cmdline.py +0 -668
  519. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/console.py +0 -70
  520. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py +0 -70
  521. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  522. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  523. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py +0 -129
  524. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -157
  525. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  526. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  527. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
  528. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
  529. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
  530. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
  531. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
  532. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
  533. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
  534. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
  535. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
  536. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
  537. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
  538. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
  539. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  540. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  541. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -170
  542. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/html.py +0 -987
  543. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/img.py +0 -685
  544. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -154
  545. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -518
  546. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/other.py +0 -160
  547. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  548. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -349
  549. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -185
  550. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  551. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  552. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py +0 -963
  553. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -362
  554. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  555. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  556. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  557. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -589
  558. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1198
  559. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  560. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py +0 -72
  561. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  562. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  563. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py +0 -247
  564. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/style.py +0 -203
  565. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -61
  566. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  567. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc +0 -0
  568. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -54
  569. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/token.py +0 -214
  570. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  571. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/util.py +0 -324
  572. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -23
  573. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  574. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-312.pyc +0 -0
  575. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  576. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -8
  577. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -330
  578. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -18
  579. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  580. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  581. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -353
  582. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py +0 -179
  583. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  584. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  585. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  586. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  587. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  588. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  589. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  590. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  591. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  592. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  593. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  594. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  595. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  596. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  597. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  598. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  599. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  600. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  601. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py +0 -14
  602. package/env/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py +0 -50
  603. package/env/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py +0 -719
  604. package/env/lib/python3.12/site-packages/pip/_vendor/requests/api.py +0 -157
  605. package/env/lib/python3.12/site-packages/pip/_vendor/requests/auth.py +0 -314
  606. package/env/lib/python3.12/site-packages/pip/_vendor/requests/certs.py +0 -24
  607. package/env/lib/python3.12/site-packages/pip/_vendor/requests/compat.py +0 -78
  608. package/env/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py +0 -561
  609. package/env/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py +0 -151
  610. package/env/lib/python3.12/site-packages/pip/_vendor/requests/help.py +0 -127
  611. package/env/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py +0 -33
  612. package/env/lib/python3.12/site-packages/pip/_vendor/requests/models.py +0 -1037
  613. package/env/lib/python3.12/site-packages/pip/_vendor/requests/packages.py +0 -25
  614. package/env/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py +0 -831
  615. package/env/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  616. package/env/lib/python3.12/site-packages/pip/_vendor/requests/structures.py +0 -99
  617. package/env/lib/python3.12/site-packages/pip/_vendor/requests/utils.py +0 -1096
  618. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  619. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  620. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  621. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  622. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
  623. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  624. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  625. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  626. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
  627. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  628. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  629. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  630. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  631. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -547
  632. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py +0 -170
  633. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py +0 -177
  634. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py +0 -273
  635. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  636. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  637. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  638. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  639. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  640. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  641. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  642. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  643. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  644. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  645. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  646. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  647. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  648. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  649. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  650. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  651. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  652. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  653. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  654. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  655. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  656. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  657. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  658. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  659. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  660. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  661. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  662. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  663. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  664. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  665. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  666. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  667. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  668. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  669. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  670. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  671. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  672. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  673. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  674. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  675. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  676. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  677. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  678. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  679. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  680. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  681. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  682. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  683. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  684. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  685. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  686. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  687. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  688. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  689. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  690. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  691. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  692. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  693. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  694. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  695. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  696. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  697. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  698. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  699. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  700. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  701. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  702. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  703. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  704. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  705. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  706. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  707. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  708. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  709. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  710. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  711. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  712. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py +0 -454
  713. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  714. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  715. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py +0 -76
  716. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py +0 -10
  717. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py +0 -24
  718. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py +0 -270
  719. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  720. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py +0 -43
  721. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py +0 -69
  722. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  723. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py +0 -17
  724. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py +0 -159
  725. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  726. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py +0 -16
  727. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py +0 -19
  728. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py +0 -662
  729. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py +0 -71
  730. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  731. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py +0 -93
  732. package/env/lib/python3.12/site-packages/pip/_vendor/rich/abc.py +0 -33
  733. package/env/lib/python3.12/site-packages/pip/_vendor/rich/align.py +0 -311
  734. package/env/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py +0 -240
  735. package/env/lib/python3.12/site-packages/pip/_vendor/rich/bar.py +0 -93
  736. package/env/lib/python3.12/site-packages/pip/_vendor/rich/box.py +0 -480
  737. package/env/lib/python3.12/site-packages/pip/_vendor/rich/cells.py +0 -167
  738. package/env/lib/python3.12/site-packages/pip/_vendor/rich/color.py +0 -621
  739. package/env/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  740. package/env/lib/python3.12/site-packages/pip/_vendor/rich/columns.py +0 -187
  741. package/env/lib/python3.12/site-packages/pip/_vendor/rich/console.py +0 -2633
  742. package/env/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py +0 -37
  743. package/env/lib/python3.12/site-packages/pip/_vendor/rich/containers.py +0 -167
  744. package/env/lib/python3.12/site-packages/pip/_vendor/rich/control.py +0 -225
  745. package/env/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py +0 -190
  746. package/env/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py +0 -37
  747. package/env/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py +0 -96
  748. package/env/lib/python3.12/site-packages/pip/_vendor/rich/errors.py +0 -34
  749. package/env/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py +0 -57
  750. package/env/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py +0 -89
  751. package/env/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  752. package/env/lib/python3.12/site-packages/pip/_vendor/rich/json.py +0 -139
  753. package/env/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  754. package/env/lib/python3.12/site-packages/pip/_vendor/rich/layout.py +0 -442
  755. package/env/lib/python3.12/site-packages/pip/_vendor/rich/live.py +0 -375
  756. package/env/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py +0 -112
  757. package/env/lib/python3.12/site-packages/pip/_vendor/rich/logging.py +0 -289
  758. package/env/lib/python3.12/site-packages/pip/_vendor/rich/markup.py +0 -251
  759. package/env/lib/python3.12/site-packages/pip/_vendor/rich/measure.py +0 -151
  760. package/env/lib/python3.12/site-packages/pip/_vendor/rich/padding.py +0 -141
  761. package/env/lib/python3.12/site-packages/pip/_vendor/rich/pager.py +0 -34
  762. package/env/lib/python3.12/site-packages/pip/_vendor/rich/palette.py +0 -100
  763. package/env/lib/python3.12/site-packages/pip/_vendor/rich/panel.py +0 -312
  764. package/env/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py +0 -995
  765. package/env/lib/python3.12/site-packages/pip/_vendor/rich/progress.py +0 -1699
  766. package/env/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py +0 -223
  767. package/env/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py +0 -375
  768. package/env/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py +0 -42
  769. package/env/lib/python3.12/site-packages/pip/_vendor/rich/py.typed +0 -0
  770. package/env/lib/python3.12/site-packages/pip/_vendor/rich/region.py +0 -10
  771. package/env/lib/python3.12/site-packages/pip/_vendor/rich/repr.py +0 -149
  772. package/env/lib/python3.12/site-packages/pip/_vendor/rich/rule.py +0 -130
  773. package/env/lib/python3.12/site-packages/pip/_vendor/rich/scope.py +0 -86
  774. package/env/lib/python3.12/site-packages/pip/_vendor/rich/screen.py +0 -54
  775. package/env/lib/python3.12/site-packages/pip/_vendor/rich/segment.py +0 -738
  776. package/env/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py +0 -137
  777. package/env/lib/python3.12/site-packages/pip/_vendor/rich/status.py +0 -131
  778. package/env/lib/python3.12/site-packages/pip/_vendor/rich/style.py +0 -796
  779. package/env/lib/python3.12/site-packages/pip/_vendor/rich/styled.py +0 -42
  780. package/env/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py +0 -958
  781. package/env/lib/python3.12/site-packages/pip/_vendor/rich/table.py +0 -1000
  782. package/env/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  783. package/env/lib/python3.12/site-packages/pip/_vendor/rich/text.py +0 -1357
  784. package/env/lib/python3.12/site-packages/pip/_vendor/rich/theme.py +0 -115
  785. package/env/lib/python3.12/site-packages/pip/_vendor/rich/themes.py +0 -5
  786. package/env/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py +0 -753
  787. package/env/lib/python3.12/site-packages/pip/_vendor/rich/tree.py +0 -249
  788. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py +0 -11
  789. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  790. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  791. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  792. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  793. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py +0 -691
  794. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py +0 -107
  795. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py +0 -10
  796. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed +0 -1
  797. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py +0 -13
  798. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  799. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  800. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  801. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  802. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  803. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  804. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py +0 -313
  805. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py +0 -499
  806. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py +0 -66
  807. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -31
  808. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py +0 -564
  809. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed +0 -0
  810. package/env/lib/python3.12/site-packages/pip/_vendor/typing_extensions.py +0 -3641
  811. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  812. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  813. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  814. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  815. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  816. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  817. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  818. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  819. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  820. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  821. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  822. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  823. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  824. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  825. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py +0 -572
  826. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1137
  827. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  828. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  829. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  830. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  831. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  832. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  833. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  834. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  835. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  836. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  837. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  838. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  839. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  840. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  841. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  842. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  843. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  844. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -518
  845. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -920
  846. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  847. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  848. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  849. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  850. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  851. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  852. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  853. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  854. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  855. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  856. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  857. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  858. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -155
  859. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  860. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -540
  861. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/request.py +0 -191
  862. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py +0 -879
  863. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  864. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  865. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  866. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  867. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  868. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  869. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  870. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  871. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  872. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  873. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  874. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  875. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  876. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  877. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  878. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  879. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  880. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  881. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  882. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py +0 -620
  883. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  884. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  885. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  886. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -271
  887. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  888. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  889. package/env/lib/python3.12/site-packages/pip/_vendor/vendor.txt +0 -18
  890. package/env/lib/python3.12/site-packages/pip/py.typed +0 -4
  891. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/AUTHORS.txt +0 -796
  892. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/INSTALLER +0 -1
  893. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/LICENSE.txt +0 -20
  894. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/METADATA +0 -89
  895. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/RECORD +0 -853
  896. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/REQUESTED +0 -0
  897. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/WHEEL +0 -5
  898. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/entry_points.txt +0 -3
  899. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/top_level.txt +0 -1
  900. package/env/lib/python3.12/site-packages/pkg_resources/__init__.py +0 -3709
  901. package/env/lib/python3.12/site-packages/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  902. package/env/lib/python3.12/site-packages/pkg_resources/api_tests.txt +0 -424
  903. package/env/lib/python3.12/site-packages/pkg_resources/py.typed +0 -0
  904. package/env/lib/python3.12/site-packages/python_minifier/__init__.py +0 -231
  905. package/env/lib/python3.12/site-packages/python_minifier/__init__.pyi +0 -34
  906. package/env/lib/python3.12/site-packages/python_minifier/__main__.py +0 -262
  907. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/__init__.cpython-312.pyc +0 -0
  908. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/__main__.cpython-312.pyc +0 -0
  909. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/ast_compare.cpython-312.pyc +0 -0
  910. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/expression_printer.cpython-312.pyc +0 -0
  911. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/f_string.cpython-312.pyc +0 -0
  912. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/ministring.cpython-312.pyc +0 -0
  913. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/module_printer.cpython-312.pyc +0 -0
  914. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/token_printer.cpython-312.pyc +0 -0
  915. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/util.cpython-312.pyc +0 -0
  916. package/env/lib/python3.12/site-packages/python_minifier/ast_compare.py +0 -104
  917. package/env/lib/python3.12/site-packages/python_minifier/expression_printer.py +0 -748
  918. package/env/lib/python3.12/site-packages/python_minifier/f_string.py +0 -426
  919. package/env/lib/python3.12/site-packages/python_minifier/ministring.py +0 -175
  920. package/env/lib/python3.12/site-packages/python_minifier/module_printer.py +0 -794
  921. package/env/lib/python3.12/site-packages/python_minifier/py.typed +0 -0
  922. package/env/lib/python3.12/site-packages/python_minifier/rename/__init__.py +0 -6
  923. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/__init__.cpython-312.pyc +0 -0
  924. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/bind_names.cpython-312.pyc +0 -0
  925. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/binding.cpython-312.pyc +0 -0
  926. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/mapper.cpython-312.pyc +0 -0
  927. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/name_generator.cpython-312.pyc +0 -0
  928. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/rename_literals.cpython-312.pyc +0 -0
  929. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/renamer.cpython-312.pyc +0 -0
  930. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/resolve_names.cpython-312.pyc +0 -0
  931. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/util.cpython-312.pyc +0 -0
  932. package/env/lib/python3.12/site-packages/python_minifier/rename/bind_names.py +0 -174
  933. package/env/lib/python3.12/site-packages/python_minifier/rename/binding.py +0 -450
  934. package/env/lib/python3.12/site-packages/python_minifier/rename/mapper.py +0 -160
  935. package/env/lib/python3.12/site-packages/python_minifier/rename/name_generator.py +0 -51
  936. package/env/lib/python3.12/site-packages/python_minifier/rename/rename_literals.py +0 -234
  937. package/env/lib/python3.12/site-packages/python_minifier/rename/renamer.py +0 -230
  938. package/env/lib/python3.12/site-packages/python_minifier/rename/resolve_names.py +0 -88
  939. package/env/lib/python3.12/site-packages/python_minifier/rename/util.py +0 -193
  940. package/env/lib/python3.12/site-packages/python_minifier/token_printer.py +0 -297
  941. package/env/lib/python3.12/site-packages/python_minifier/transforms/__init__.py +0 -0
  942. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/__init__.cpython-312.pyc +0 -0
  943. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/combine_imports.cpython-312.pyc +0 -0
  944. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_annotations.cpython-312.pyc +0 -0
  945. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_asserts.cpython-312.pyc +0 -0
  946. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_debug.cpython-312.pyc +0 -0
  947. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_explicit_return_none.cpython-312.pyc +0 -0
  948. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_literal_statements.cpython-312.pyc +0 -0
  949. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_object_base.cpython-312.pyc +0 -0
  950. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_pass.cpython-312.pyc +0 -0
  951. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_posargs.cpython-312.pyc +0 -0
  952. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/suite_transformer.cpython-312.pyc +0 -0
  953. package/env/lib/python3.12/site-packages/python_minifier/transforms/combine_imports.py +0 -73
  954. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_annotations.py +0 -110
  955. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_asserts.py +0 -26
  956. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_debug.py +0 -53
  957. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_explicit_return_none.py +0 -38
  958. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_literal_statements.py +0 -61
  959. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_object_base.py +0 -21
  960. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_pass.py +0 -26
  961. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_posargs.py +0 -13
  962. package/env/lib/python3.12/site-packages/python_minifier/transforms/suite_transformer.py +0 -193
  963. package/env/lib/python3.12/site-packages/python_minifier/util.py +0 -48
  964. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/INSTALLER +0 -1
  965. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/LICENSE +0 -21
  966. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/METADATA +0 -169
  967. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/RECORD +0 -70
  968. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/REQUESTED +0 -0
  969. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/WHEEL +0 -6
  970. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/entry_points.txt +0 -2
  971. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/top_level.txt +0 -1
  972. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/zip-safe +0 -1
  973. package/env/lib/python3.12/site-packages/setuptools/__init__.py +0 -282
  974. package/env/lib/python3.12/site-packages/setuptools/__pycache__/__init__.cpython-312.pyc +0 -0
  975. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_core_metadata.cpython-312.pyc +0 -0
  976. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_entry_points.cpython-312.pyc +0 -0
  977. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_imp.cpython-312.pyc +0 -0
  978. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_importlib.cpython-312.pyc +0 -0
  979. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_itertools.cpython-312.pyc +0 -0
  980. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_normalization.cpython-312.pyc +0 -0
  981. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_path.cpython-312.pyc +0 -0
  982. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_reqs.cpython-312.pyc +0 -0
  983. package/env/lib/python3.12/site-packages/setuptools/__pycache__/archive_util.cpython-312.pyc +0 -0
  984. package/env/lib/python3.12/site-packages/setuptools/__pycache__/build_meta.cpython-312.pyc +0 -0
  985. package/env/lib/python3.12/site-packages/setuptools/__pycache__/depends.cpython-312.pyc +0 -0
  986. package/env/lib/python3.12/site-packages/setuptools/__pycache__/discovery.cpython-312.pyc +0 -0
  987. package/env/lib/python3.12/site-packages/setuptools/__pycache__/dist.cpython-312.pyc +0 -0
  988. package/env/lib/python3.12/site-packages/setuptools/__pycache__/errors.cpython-312.pyc +0 -0
  989. package/env/lib/python3.12/site-packages/setuptools/__pycache__/extension.cpython-312.pyc +0 -0
  990. package/env/lib/python3.12/site-packages/setuptools/__pycache__/glob.cpython-312.pyc +0 -0
  991. package/env/lib/python3.12/site-packages/setuptools/__pycache__/installer.cpython-312.pyc +0 -0
  992. package/env/lib/python3.12/site-packages/setuptools/__pycache__/launch.cpython-312.pyc +0 -0
  993. package/env/lib/python3.12/site-packages/setuptools/__pycache__/logging.cpython-312.pyc +0 -0
  994. package/env/lib/python3.12/site-packages/setuptools/__pycache__/modified.cpython-312.pyc +0 -0
  995. package/env/lib/python3.12/site-packages/setuptools/__pycache__/monkey.cpython-312.pyc +0 -0
  996. package/env/lib/python3.12/site-packages/setuptools/__pycache__/msvc.cpython-312.pyc +0 -0
  997. package/env/lib/python3.12/site-packages/setuptools/__pycache__/namespaces.cpython-312.pyc +0 -0
  998. package/env/lib/python3.12/site-packages/setuptools/__pycache__/package_index.cpython-312.pyc +0 -0
  999. package/env/lib/python3.12/site-packages/setuptools/__pycache__/sandbox.cpython-312.pyc +0 -0
  1000. package/env/lib/python3.12/site-packages/setuptools/__pycache__/unicode_utils.cpython-312.pyc +0 -0
  1001. package/env/lib/python3.12/site-packages/setuptools/__pycache__/version.cpython-312.pyc +0 -0
  1002. package/env/lib/python3.12/site-packages/setuptools/__pycache__/warnings.cpython-312.pyc +0 -0
  1003. package/env/lib/python3.12/site-packages/setuptools/__pycache__/wheel.cpython-312.pyc +0 -0
  1004. package/env/lib/python3.12/site-packages/setuptools/__pycache__/windows_support.cpython-312.pyc +0 -0
  1005. package/env/lib/python3.12/site-packages/setuptools/_core_metadata.py +0 -286
  1006. package/env/lib/python3.12/site-packages/setuptools/_distutils/__init__.py +0 -14
  1007. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-312.pyc +0 -0
  1008. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-312.pyc +0 -0
  1009. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-312.pyc +0 -0
  1010. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_itertools.cpython-312.pyc +0 -0
  1011. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_log.cpython-312.pyc +0 -0
  1012. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-312.pyc +0 -0
  1013. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_modified.cpython-312.pyc +0 -0
  1014. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-312.pyc +0 -0
  1015. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-312.pyc +0 -0
  1016. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-312.pyc +0 -0
  1017. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-312.pyc +0 -0
  1018. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-312.pyc +0 -0
  1019. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/config.cpython-312.pyc +0 -0
  1020. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/core.cpython-312.pyc +0 -0
  1021. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-312.pyc +0 -0
  1022. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/debug.cpython-312.pyc +0 -0
  1023. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-312.pyc +0 -0
  1024. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-312.pyc +0 -0
  1025. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dist.cpython-312.pyc +0 -0
  1026. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/errors.cpython-312.pyc +0 -0
  1027. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/extension.cpython-312.pyc +0 -0
  1028. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-312.pyc +0 -0
  1029. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-312.pyc +0 -0
  1030. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-312.pyc +0 -0
  1031. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/log.cpython-312.pyc +0 -0
  1032. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-312.pyc +0 -0
  1033. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-312.pyc +0 -0
  1034. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-312.pyc +0 -0
  1035. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-312.pyc +0 -0
  1036. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-312.pyc +0 -0
  1037. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-312.pyc +0 -0
  1038. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/util.cpython-312.pyc +0 -0
  1039. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/version.cpython-312.pyc +0 -0
  1040. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-312.pyc +0 -0
  1041. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/zosccompiler.cpython-312.pyc +0 -0
  1042. package/env/lib/python3.12/site-packages/setuptools/_distutils/_collections.py +0 -58
  1043. package/env/lib/python3.12/site-packages/setuptools/_distutils/_functools.py +0 -73
  1044. package/env/lib/python3.12/site-packages/setuptools/_distutils/_itertools.py +0 -52
  1045. package/env/lib/python3.12/site-packages/setuptools/_distutils/_log.py +0 -3
  1046. package/env/lib/python3.12/site-packages/setuptools/_distutils/_macos_compat.py +0 -12
  1047. package/env/lib/python3.12/site-packages/setuptools/_distutils/_modified.py +0 -72
  1048. package/env/lib/python3.12/site-packages/setuptools/_distutils/_msvccompiler.py +0 -568
  1049. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/__init__.py +0 -0
  1050. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  1051. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__init__.py +0 -15
  1052. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1053. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  1054. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  1055. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  1056. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  1057. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1058. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  1059. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  1060. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  1061. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  1062. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  1063. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  1064. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  1065. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1066. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_elffile.py +0 -108
  1067. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_manylinux.py +0 -260
  1068. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_musllinux.py +0 -83
  1069. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_parser.py +0 -356
  1070. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_structures.py +0 -61
  1071. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_tokenizer.py +0 -192
  1072. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/markers.py +0 -252
  1073. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/metadata.py +0 -825
  1074. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/py.typed +0 -0
  1075. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/requirements.py +0 -90
  1076. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/specifiers.py +0 -1017
  1077. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/tags.py +0 -571
  1078. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/utils.py +0 -172
  1079. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/version.py +0 -563
  1080. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE +0 -3
  1081. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE.APACHE +0 -177
  1082. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE.BSD +0 -23
  1083. package/env/lib/python3.12/site-packages/setuptools/_distutils/archive_util.py +0 -283
  1084. package/env/lib/python3.12/site-packages/setuptools/_distutils/bcppcompiler.py +0 -396
  1085. package/env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py +0 -1255
  1086. package/env/lib/python3.12/site-packages/setuptools/_distutils/cmd.py +0 -439
  1087. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__init__.py +0 -25
  1088. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-312.pyc +0 -0
  1089. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-312.pyc +0 -0
  1090. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-312.pyc +0 -0
  1091. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-312.pyc +0 -0
  1092. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-312.pyc +0 -0
  1093. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-312.pyc +0 -0
  1094. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-312.pyc +0 -0
  1095. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-312.pyc +0 -0
  1096. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-312.pyc +0 -0
  1097. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-312.pyc +0 -0
  1098. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-312.pyc +0 -0
  1099. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-312.pyc +0 -0
  1100. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-312.pyc +0 -0
  1101. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-312.pyc +0 -0
  1102. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-312.pyc +0 -0
  1103. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-312.pyc +0 -0
  1104. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-312.pyc +0 -0
  1105. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-312.pyc +0 -0
  1106. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-312.pyc +0 -0
  1107. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-312.pyc +0 -0
  1108. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-312.pyc +0 -0
  1109. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-312.pyc +0 -0
  1110. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/_framework_compat.py +0 -54
  1111. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist.py +0 -155
  1112. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -140
  1113. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -597
  1114. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build.py +0 -156
  1115. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_clib.py +0 -208
  1116. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py +0 -797
  1117. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_py.py +0 -406
  1118. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_scripts.py +0 -170
  1119. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/check.py +0 -154
  1120. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1121. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/config.py +0 -369
  1122. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install.py +0 -810
  1123. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_data.py +0 -94
  1124. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -92
  1125. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_headers.py +0 -44
  1126. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_lib.py +0 -234
  1127. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_scripts.py +0 -61
  1128. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/register.py +0 -322
  1129. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py +0 -527
  1130. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/upload.py +0 -208
  1131. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-10.0-amd64.exe +0 -0
  1132. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-10.0.exe +0 -0
  1133. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-14.0-amd64.exe +0 -0
  1134. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-14.0.exe +0 -0
  1135. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-6.0.exe +0 -0
  1136. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-7.1.exe +0 -0
  1137. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-8.0.exe +0 -0
  1138. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-9.0-amd64.exe +0 -0
  1139. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-9.0.exe +0 -0
  1140. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__init__.py +0 -15
  1141. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1142. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1143. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1144. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/py38.py +0 -34
  1145. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/py39.py +0 -66
  1146. package/env/lib/python3.12/site-packages/setuptools/_distutils/config.py +0 -151
  1147. package/env/lib/python3.12/site-packages/setuptools/_distutils/core.py +0 -287
  1148. package/env/lib/python3.12/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -334
  1149. package/env/lib/python3.12/site-packages/setuptools/_distutils/debug.py +0 -5
  1150. package/env/lib/python3.12/site-packages/setuptools/_distutils/dep_util.py +0 -14
  1151. package/env/lib/python3.12/site-packages/setuptools/_distutils/dir_util.py +0 -238
  1152. package/env/lib/python3.12/site-packages/setuptools/_distutils/dist.py +0 -1298
  1153. package/env/lib/python3.12/site-packages/setuptools/_distutils/errors.py +0 -127
  1154. package/env/lib/python3.12/site-packages/setuptools/_distutils/extension.py +0 -247
  1155. package/env/lib/python3.12/site-packages/setuptools/_distutils/fancy_getopt.py +0 -469
  1156. package/env/lib/python3.12/site-packages/setuptools/_distutils/file_util.py +0 -235
  1157. package/env/lib/python3.12/site-packages/setuptools/_distutils/filelist.py +0 -369
  1158. package/env/lib/python3.12/site-packages/setuptools/_distutils/log.py +0 -56
  1159. package/env/lib/python3.12/site-packages/setuptools/_distutils/msvc9compiler.py +0 -822
  1160. package/env/lib/python3.12/site-packages/setuptools/_distutils/msvccompiler.py +0 -687
  1161. package/env/lib/python3.12/site-packages/setuptools/_distutils/spawn.py +0 -117
  1162. package/env/lib/python3.12/site-packages/setuptools/_distutils/sysconfig.py +0 -582
  1163. package/env/lib/python3.12/site-packages/setuptools/_distutils/text_file.py +0 -286
  1164. package/env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py +0 -402
  1165. package/env/lib/python3.12/site-packages/setuptools/_distutils/util.py +0 -504
  1166. package/env/lib/python3.12/site-packages/setuptools/_distutils/version.py +0 -349
  1167. package/env/lib/python3.12/site-packages/setuptools/_distutils/versionpredicate.py +0 -175
  1168. package/env/lib/python3.12/site-packages/setuptools/_distutils/zosccompiler.py +0 -229
  1169. package/env/lib/python3.12/site-packages/setuptools/_entry_points.py +0 -90
  1170. package/env/lib/python3.12/site-packages/setuptools/_imp.py +0 -87
  1171. package/env/lib/python3.12/site-packages/setuptools/_importlib.py +0 -12
  1172. package/env/lib/python3.12/site-packages/setuptools/_itertools.py +0 -23
  1173. package/env/lib/python3.12/site-packages/setuptools/_normalization.py +0 -144
  1174. package/env/lib/python3.12/site-packages/setuptools/_path.py +0 -87
  1175. package/env/lib/python3.12/site-packages/setuptools/_reqs.py +0 -43
  1176. package/env/lib/python3.12/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  1177. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__init__.py +0 -27
  1178. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/__init__.cpython-312.pyc +0 -0
  1179. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autoasync.cpython-312.pyc +0 -0
  1180. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autocommand.cpython-312.pyc +0 -0
  1181. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/automain.cpython-312.pyc +0 -0
  1182. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autoparse.cpython-312.pyc +0 -0
  1183. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/errors.cpython-312.pyc +0 -0
  1184. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autoasync.py +0 -142
  1185. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autocommand.py +0 -70
  1186. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/automain.py +0 -59
  1187. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autoparse.py +0 -333
  1188. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/errors.py +0 -23
  1189. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/INSTALLER +0 -1
  1190. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/LICENSE +0 -166
  1191. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/METADATA +0 -420
  1192. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/RECORD +0 -18
  1193. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/WHEEL +0 -5
  1194. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/top_level.txt +0 -1
  1195. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/__init__.py +0 -1
  1196. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  1197. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +0 -2937
  1198. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +0 -5
  1199. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__init__.cpython-312.pyc +0 -0
  1200. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__main__.cpython-312.pyc +0 -0
  1201. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py +0 -0
  1202. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1203. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1204. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +0 -24
  1205. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/INSTALLER +0 -1
  1206. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/LICENSE +0 -17
  1207. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/METADATA +0 -46
  1208. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/RECORD +0 -17
  1209. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/REQUESTED +0 -0
  1210. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/WHEEL +0 -5
  1211. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/top_level.txt +0 -1
  1212. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +0 -1083
  1213. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  1214. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-312.pyc +0 -0
  1215. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-312.pyc +0 -0
  1216. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-312.pyc +0 -0
  1217. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-312.pyc +0 -0
  1218. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-312.pyc +0 -0
  1219. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-312.pyc +0 -0
  1220. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-312.pyc +0 -0
  1221. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/diagnose.cpython-312.pyc +0 -0
  1222. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +0 -83
  1223. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +0 -30
  1224. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +0 -57
  1225. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +0 -104
  1226. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +0 -73
  1227. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +0 -67
  1228. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_text.py +0 -99
  1229. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py +0 -0
  1230. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1231. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py311.cpython-312.pyc +0 -0
  1232. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1233. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +0 -22
  1234. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +0 -36
  1235. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +0 -21
  1236. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
  1237. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/INSTALLER +0 -1
  1238. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/LICENSE +0 -202
  1239. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/METADATA +0 -129
  1240. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/RECORD +0 -32
  1241. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/REQUESTED +0 -0
  1242. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/WHEEL +0 -5
  1243. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/top_level.txt +0 -1
  1244. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  1245. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  1246. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-312.pyc +0 -0
  1247. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-312.pyc +0 -0
  1248. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-312.pyc +0 -0
  1249. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-312.pyc +0 -0
  1250. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/functional.cpython-312.pyc +0 -0
  1251. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-312.pyc +0 -0
  1252. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-312.pyc +0 -0
  1253. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
  1254. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
  1255. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
  1256. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
  1257. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
  1258. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1259. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1260. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1261. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
  1262. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
  1263. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
  1264. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
  1265. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/__init__.cpython-312.pyc +0 -0
  1266. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/adapters.cpython-312.pyc +0 -0
  1267. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
  1268. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/py.typed +0 -0
  1269. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
  1270. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
  1271. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/INSTALLER +0 -1
  1272. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/LICENSE +0 -202
  1273. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/METADATA +0 -100
  1274. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/RECORD +0 -89
  1275. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/REQUESTED +0 -0
  1276. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/WHEEL +0 -5
  1277. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/top_level.txt +0 -1
  1278. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/__init__.py +0 -3986
  1279. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/__pycache__/__init__.cpython-312.pyc +0 -0
  1280. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
  1281. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1282. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1283. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/py38.py +0 -7
  1284. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
  1285. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/INSTALLER +0 -1
  1286. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/LICENSE +0 -17
  1287. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/METADATA +0 -591
  1288. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/RECORD +0 -13
  1289. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/WHEEL +0 -5
  1290. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/top_level.txt +0 -1
  1291. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/__pycache__/context.cpython-312.pyc +0 -0
  1292. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/context.py +0 -361
  1293. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +0 -633
  1294. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +0 -125
  1295. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__pycache__/__init__.cpython-312.pyc +0 -0
  1296. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
  1297. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
  1298. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__init__.py +0 -624
  1299. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/__init__.cpython-312.pyc +0 -0
  1300. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/layouts.cpython-312.pyc +0 -0
  1301. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/show-newlines.cpython-312.pyc +0 -0
  1302. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/strip-prefix.cpython-312.pyc +0 -0
  1303. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/to-dvorak.cpython-312.pyc +0 -0
  1304. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/to-qwerty.cpython-312.pyc +0 -0
  1305. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/layouts.py +0 -25
  1306. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +0 -33
  1307. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +0 -21
  1308. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +0 -6
  1309. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +0 -6
  1310. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/INSTALLER +0 -1
  1311. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/LICENSE +0 -17
  1312. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/METADATA +0 -75
  1313. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/RECORD +0 -8
  1314. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/WHEEL +0 -5
  1315. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/top_level.txt +0 -1
  1316. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/INSTALLER +0 -1
  1317. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/LICENSE +0 -17
  1318. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/METADATA +0 -64
  1319. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/RECORD +0 -10
  1320. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/WHEEL +0 -5
  1321. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/top_level.txt +0 -1
  1322. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/INSTALLER +0 -1
  1323. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/LICENSE +0 -17
  1324. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/METADATA +0 -95
  1325. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/RECORD +0 -20
  1326. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/REQUESTED +0 -0
  1327. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/WHEEL +0 -5
  1328. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/top_level.txt +0 -1
  1329. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -6
  1330. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +0 -2
  1331. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-312.pyc +0 -0
  1332. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-312.pyc +0 -0
  1333. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-312.pyc +0 -0
  1334. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/more.py +0 -4806
  1335. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/more.pyi +0 -709
  1336. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
  1337. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -1046
  1338. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +0 -136
  1339. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/INSTALLER +0 -1
  1340. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/LICENSE +0 -19
  1341. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/METADATA +0 -266
  1342. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/RECORD +0 -16
  1343. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/REQUESTED +0 -0
  1344. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/WHEEL +0 -4
  1345. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__init__.py +0 -15
  1346. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1347. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  1348. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  1349. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  1350. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  1351. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1352. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  1353. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  1354. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  1355. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  1356. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  1357. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  1358. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  1359. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1360. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_elffile.py +0 -110
  1361. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -262
  1362. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -85
  1363. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_parser.py +0 -354
  1364. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_structures.py +0 -61
  1365. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_tokenizer.py +0 -194
  1366. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/markers.py +0 -325
  1367. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/metadata.py +0 -804
  1368. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
  1369. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/requirements.py +0 -91
  1370. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -1009
  1371. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/tags.py +0 -568
  1372. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/utils.py +0 -174
  1373. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/version.py +0 -563
  1374. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/INSTALLER +0 -1
  1375. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE +0 -3
  1376. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE.APACHE +0 -177
  1377. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE.BSD +0 -23
  1378. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/METADATA +0 -102
  1379. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/RECORD +0 -37
  1380. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/REQUESTED +0 -0
  1381. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/WHEEL +0 -4
  1382. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__init__.py +0 -627
  1383. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__main__.py +0 -55
  1384. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  1385. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  1386. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  1387. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  1388. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  1389. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  1390. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  1391. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  1392. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/android.py +0 -249
  1393. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/api.py +0 -292
  1394. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/macos.py +0 -130
  1395. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
  1396. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/unix.py +0 -275
  1397. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/version.py +0 -16
  1398. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/windows.py +0 -272
  1399. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/INSTALLER +0 -1
  1400. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/METADATA +0 -319
  1401. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/RECORD +0 -23
  1402. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/REQUESTED +0 -0
  1403. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/WHEEL +0 -4
  1404. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/licenses/LICENSE +0 -21
  1405. package/env/lib/python3.12/site-packages/setuptools/_vendor/ruff.toml +0 -1
  1406. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__init__.py +0 -11
  1407. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  1408. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  1409. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  1410. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  1411. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_parser.py +0 -691
  1412. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_re.py +0 -107
  1413. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_types.py +0 -10
  1414. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/py.typed +0 -1
  1415. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/INSTALLER +0 -1
  1416. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/LICENSE +0 -21
  1417. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/METADATA +0 -206
  1418. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/RECORD +0 -15
  1419. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/REQUESTED +0 -0
  1420. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/WHEEL +0 -4
  1421. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__init__.py +0 -48
  1422. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/__init__.cpython-312.pyc +0 -0
  1423. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_checkers.cpython-312.pyc +0 -0
  1424. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_config.cpython-312.pyc +0 -0
  1425. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_decorators.cpython-312.pyc +0 -0
  1426. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_exceptions.cpython-312.pyc +0 -0
  1427. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_functions.cpython-312.pyc +0 -0
  1428. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_importhook.cpython-312.pyc +0 -0
  1429. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_memo.cpython-312.pyc +0 -0
  1430. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_pytest_plugin.cpython-312.pyc +0 -0
  1431. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_suppression.cpython-312.pyc +0 -0
  1432. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_transformer.cpython-312.pyc +0 -0
  1433. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_union_transformer.cpython-312.pyc +0 -0
  1434. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_utils.cpython-312.pyc +0 -0
  1435. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_checkers.py +0 -993
  1436. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_config.py +0 -108
  1437. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_decorators.py +0 -235
  1438. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_exceptions.py +0 -42
  1439. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_functions.py +0 -308
  1440. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_importhook.py +0 -213
  1441. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_memo.py +0 -48
  1442. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +0 -127
  1443. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_suppression.py +0 -86
  1444. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_transformer.py +0 -1229
  1445. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +0 -55
  1446. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_utils.py +0 -173
  1447. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
  1448. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/INSTALLER +0 -1
  1449. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/LICENSE +0 -19
  1450. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/METADATA +0 -81
  1451. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/RECORD +0 -34
  1452. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/WHEEL +0 -5
  1453. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/entry_points.txt +0 -2
  1454. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/top_level.txt +0 -1
  1455. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/INSTALLER +0 -1
  1456. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1457. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1458. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/RECORD +0 -7
  1459. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1460. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions.py +0 -3641
  1461. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__init__.py +0 -3
  1462. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__main__.py +0 -23
  1463. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/__init__.cpython-312.pyc +0 -0
  1464. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/__main__.cpython-312.pyc +0 -0
  1465. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/_setuptools_logging.cpython-312.pyc +0 -0
  1466. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/bdist_wheel.cpython-312.pyc +0 -0
  1467. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/macosx_libfile.cpython-312.pyc +0 -0
  1468. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/metadata.cpython-312.pyc +0 -0
  1469. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/util.cpython-312.pyc +0 -0
  1470. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/wheelfile.cpython-312.pyc +0 -0
  1471. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +0 -26
  1472. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +0 -595
  1473. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__init__.py +0 -155
  1474. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1475. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/convert.cpython-312.pyc +0 -0
  1476. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/pack.cpython-312.pyc +0 -0
  1477. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/tags.cpython-312.pyc +0 -0
  1478. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/unpack.cpython-312.pyc +0 -0
  1479. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/convert.py +0 -273
  1480. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/pack.py +0 -85
  1481. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/tags.py +0 -139
  1482. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/unpack.py +0 -30
  1483. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +0 -469
  1484. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/metadata.py +0 -180
  1485. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/util.py +0 -26
  1486. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
  1487. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__pycache__/__init__.cpython-312.pyc +0 -0
  1488. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
  1489. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1490. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  1491. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  1492. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  1493. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  1494. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1495. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  1496. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  1497. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  1498. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  1499. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  1500. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  1501. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1502. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +0 -108
  1503. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +0 -260
  1504. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +0 -83
  1505. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +0 -356
  1506. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +0 -61
  1507. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +0 -192
  1508. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +0 -253
  1509. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +0 -90
  1510. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +0 -1011
  1511. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +0 -571
  1512. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +0 -172
  1513. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +0 -561
  1514. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/vendor.txt +0 -1
  1515. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/wheelfile.py +0 -196
  1516. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/INSTALLER +0 -1
  1517. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/LICENSE.txt +0 -21
  1518. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/METADATA +0 -61
  1519. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/RECORD +0 -63
  1520. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/REQUESTED +0 -0
  1521. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/WHEEL +0 -4
  1522. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/entry_points.txt +0 -6
  1523. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__init__.py +0 -501
  1524. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__pycache__/__init__.cpython-312.pyc +0 -0
  1525. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__pycache__/glob.cpython-312.pyc +0 -0
  1526. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
  1527. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1528. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__pycache__/py310.cpython-312.pyc +0 -0
  1529. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/py310.py +0 -11
  1530. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/glob.py +0 -106
  1531. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/INSTALLER +0 -1
  1532. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/LICENSE +0 -17
  1533. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/METADATA +0 -102
  1534. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/RECORD +0 -15
  1535. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/REQUESTED +0 -0
  1536. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/WHEEL +0 -5
  1537. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/top_level.txt +0 -1
  1538. package/env/lib/python3.12/site-packages/setuptools/archive_util.py +0 -217
  1539. package/env/lib/python3.12/site-packages/setuptools/build_meta.py +0 -529
  1540. package/env/lib/python3.12/site-packages/setuptools/cli-32.exe +0 -0
  1541. package/env/lib/python3.12/site-packages/setuptools/cli-64.exe +0 -0
  1542. package/env/lib/python3.12/site-packages/setuptools/cli-arm64.exe +0 -0
  1543. package/env/lib/python3.12/site-packages/setuptools/cli.exe +0 -0
  1544. package/env/lib/python3.12/site-packages/setuptools/command/__init__.py +0 -13
  1545. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/__init__.cpython-312.pyc +0 -0
  1546. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/_requirestxt.cpython-312.pyc +0 -0
  1547. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/alias.cpython-312.pyc +0 -0
  1548. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-312.pyc +0 -0
  1549. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-312.pyc +0 -0
  1550. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_wheel.cpython-312.pyc +0 -0
  1551. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build.cpython-312.pyc +0 -0
  1552. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_clib.cpython-312.pyc +0 -0
  1553. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_ext.cpython-312.pyc +0 -0
  1554. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_py.cpython-312.pyc +0 -0
  1555. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/develop.cpython-312.pyc +0 -0
  1556. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/dist_info.cpython-312.pyc +0 -0
  1557. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/easy_install.cpython-312.pyc +0 -0
  1558. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/editable_wheel.cpython-312.pyc +0 -0
  1559. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/egg_info.cpython-312.pyc +0 -0
  1560. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install.cpython-312.pyc +0 -0
  1561. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-312.pyc +0 -0
  1562. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_lib.cpython-312.pyc +0 -0
  1563. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_scripts.cpython-312.pyc +0 -0
  1564. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/register.cpython-312.pyc +0 -0
  1565. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/rotate.cpython-312.pyc +0 -0
  1566. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/saveopts.cpython-312.pyc +0 -0
  1567. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/sdist.cpython-312.pyc +0 -0
  1568. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/setopt.cpython-312.pyc +0 -0
  1569. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/test.cpython-312.pyc +0 -0
  1570. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/upload.cpython-312.pyc +0 -0
  1571. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/upload_docs.cpython-312.pyc +0 -0
  1572. package/env/lib/python3.12/site-packages/setuptools/command/_requirestxt.py +0 -131
  1573. package/env/lib/python3.12/site-packages/setuptools/command/alias.py +0 -78
  1574. package/env/lib/python3.12/site-packages/setuptools/command/bdist_egg.py +0 -465
  1575. package/env/lib/python3.12/site-packages/setuptools/command/bdist_rpm.py +0 -42
  1576. package/env/lib/python3.12/site-packages/setuptools/command/bdist_wheel.py +0 -621
  1577. package/env/lib/python3.12/site-packages/setuptools/command/build.py +0 -129
  1578. package/env/lib/python3.12/site-packages/setuptools/command/build_clib.py +0 -108
  1579. package/env/lib/python3.12/site-packages/setuptools/command/build_ext.py +0 -462
  1580. package/env/lib/python3.12/site-packages/setuptools/command/build_py.py +0 -404
  1581. package/env/lib/python3.12/site-packages/setuptools/command/develop.py +0 -195
  1582. package/env/lib/python3.12/site-packages/setuptools/command/dist_info.py +0 -107
  1583. package/env/lib/python3.12/site-packages/setuptools/command/easy_install.py +0 -2364
  1584. package/env/lib/python3.12/site-packages/setuptools/command/editable_wheel.py +0 -899
  1585. package/env/lib/python3.12/site-packages/setuptools/command/egg_info.py +0 -727
  1586. package/env/lib/python3.12/site-packages/setuptools/command/install.py +0 -165
  1587. package/env/lib/python3.12/site-packages/setuptools/command/install_egg_info.py +0 -58
  1588. package/env/lib/python3.12/site-packages/setuptools/command/install_lib.py +0 -134
  1589. package/env/lib/python3.12/site-packages/setuptools/command/install_scripts.py +0 -73
  1590. package/env/lib/python3.12/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1591. package/env/lib/python3.12/site-packages/setuptools/command/register.py +0 -22
  1592. package/env/lib/python3.12/site-packages/setuptools/command/rotate.py +0 -65
  1593. package/env/lib/python3.12/site-packages/setuptools/command/saveopts.py +0 -21
  1594. package/env/lib/python3.12/site-packages/setuptools/command/sdist.py +0 -207
  1595. package/env/lib/python3.12/site-packages/setuptools/command/setopt.py +0 -141
  1596. package/env/lib/python3.12/site-packages/setuptools/command/test.py +0 -42
  1597. package/env/lib/python3.12/site-packages/setuptools/command/upload.py +0 -20
  1598. package/env/lib/python3.12/site-packages/setuptools/command/upload_docs.py +0 -221
  1599. package/env/lib/python3.12/site-packages/setuptools/compat/__init__.py +0 -0
  1600. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1601. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py310.cpython-312.pyc +0 -0
  1602. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py311.cpython-312.pyc +0 -0
  1603. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1604. package/env/lib/python3.12/site-packages/setuptools/compat/py310.py +0 -9
  1605. package/env/lib/python3.12/site-packages/setuptools/compat/py311.py +0 -27
  1606. package/env/lib/python3.12/site-packages/setuptools/compat/py39.py +0 -9
  1607. package/env/lib/python3.12/site-packages/setuptools/config/NOTICE +0 -10
  1608. package/env/lib/python3.12/site-packages/setuptools/config/__init__.py +0 -43
  1609. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/__init__.cpython-312.pyc +0 -0
  1610. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/_apply_pyprojecttoml.cpython-312.pyc +0 -0
  1611. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/expand.cpython-312.pyc +0 -0
  1612. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-312.pyc +0 -0
  1613. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/setupcfg.cpython-312.pyc +0 -0
  1614. package/env/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py +0 -439
  1615. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/NOTICE +0 -438
  1616. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__init__.py +0 -34
  1617. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/__init__.cpython-312.pyc +0 -0
  1618. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/error_reporting.cpython-312.pyc +0 -0
  1619. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/extra_validations.cpython-312.pyc +0 -0
  1620. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-312.pyc +0 -0
  1621. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-312.pyc +0 -0
  1622. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/formats.cpython-312.pyc +0 -0
  1623. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +0 -336
  1624. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +0 -52
  1625. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +0 -51
  1626. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +0 -1104
  1627. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/formats.py +0 -375
  1628. package/env/lib/python3.12/site-packages/setuptools/config/distutils.schema.json +0 -26
  1629. package/env/lib/python3.12/site-packages/setuptools/config/expand.py +0 -436
  1630. package/env/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py +0 -453
  1631. package/env/lib/python3.12/site-packages/setuptools/config/setupcfg.py +0 -777
  1632. package/env/lib/python3.12/site-packages/setuptools/config/setuptools.schema.json +0 -352
  1633. package/env/lib/python3.12/site-packages/setuptools/depends.py +0 -166
  1634. package/env/lib/python3.12/site-packages/setuptools/discovery.py +0 -607
  1635. package/env/lib/python3.12/site-packages/setuptools/dist.py +0 -953
  1636. package/env/lib/python3.12/site-packages/setuptools/errors.py +0 -65
  1637. package/env/lib/python3.12/site-packages/setuptools/extension.py +0 -163
  1638. package/env/lib/python3.12/site-packages/setuptools/glob.py +0 -165
  1639. package/env/lib/python3.12/site-packages/setuptools/gui-32.exe +0 -0
  1640. package/env/lib/python3.12/site-packages/setuptools/gui-64.exe +0 -0
  1641. package/env/lib/python3.12/site-packages/setuptools/gui-arm64.exe +0 -0
  1642. package/env/lib/python3.12/site-packages/setuptools/gui.exe +0 -0
  1643. package/env/lib/python3.12/site-packages/setuptools/installer.py +0 -145
  1644. package/env/lib/python3.12/site-packages/setuptools/launch.py +0 -36
  1645. package/env/lib/python3.12/site-packages/setuptools/logging.py +0 -40
  1646. package/env/lib/python3.12/site-packages/setuptools/modified.py +0 -8
  1647. package/env/lib/python3.12/site-packages/setuptools/monkey.py +0 -156
  1648. package/env/lib/python3.12/site-packages/setuptools/msvc.py +0 -1748
  1649. package/env/lib/python3.12/site-packages/setuptools/namespaces.py +0 -105
  1650. package/env/lib/python3.12/site-packages/setuptools/package_index.py +0 -1148
  1651. package/env/lib/python3.12/site-packages/setuptools/sandbox.py +0 -514
  1652. package/env/lib/python3.12/site-packages/setuptools/script (dev).tmpl +0 -6
  1653. package/env/lib/python3.12/site-packages/setuptools/script.tmpl +0 -3
  1654. package/env/lib/python3.12/site-packages/setuptools/unicode_utils.py +0 -102
  1655. package/env/lib/python3.12/site-packages/setuptools/version.py +0 -6
  1656. package/env/lib/python3.12/site-packages/setuptools/warnings.py +0 -107
  1657. package/env/lib/python3.12/site-packages/setuptools/wheel.py +0 -236
  1658. package/env/lib/python3.12/site-packages/setuptools/windows_support.py +0 -30
  1659. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/INSTALLER +0 -1
  1660. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/LICENSE +0 -17
  1661. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/METADATA +0 -136
  1662. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/RECORD +0 -1007
  1663. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/REQUESTED +0 -0
  1664. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/WHEEL +0 -5
  1665. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/entry_points.txt +0 -52
  1666. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/top_level.txt +0 -3
  1667. package/env/pyvenv.cfg +0 -5
@@ -1,1104 +0,0 @@
1
- # noqa
2
- # ruff: noqa
3
- # flake8: noqa
4
- # pylint: skip-file
5
- # mypy: ignore-errors
6
- # yapf: disable
7
- # pylama:skip=1
8
-
9
-
10
- # *** PLEASE DO NOT MODIFY DIRECTLY: Automatically generated code ***
11
-
12
-
13
- VERSION = "2.20.0"
14
- from decimal import Decimal
15
- import re
16
- from .fastjsonschema_exceptions import JsonSchemaValueException
17
-
18
-
19
- REGEX_PATTERNS = {
20
- '^.*$': re.compile('^.*$'),
21
- '.+': re.compile('.+'),
22
- '^.+$': re.compile('^.+$'),
23
- 'idn-email_re_pattern': re.compile('^[^@]+@[^@]+\\.[^@]+\\Z')
24
- }
25
-
26
- NoneType = type(None)
27
-
28
- def validate(data, custom_formats={}, name_prefix=None):
29
- validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependencies(data, custom_formats, (name_prefix or "data") + "")
30
- return data
31
-
32
- def validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependencies(data, custom_formats={}, name_prefix=None):
33
- if not isinstance(data, (dict)):
34
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/declaring-build-dependencies/', 'title': 'Data structure for ``pyproject.toml`` files', '$$description': ['File format containing build-time configurations for the Python ecosystem. ', ':pep:`517` initially defined a build-system independent format for source trees', 'which was complemented by :pep:`518` to provide a way of specifying dependencies ', 'for building Python projects.', 'Please notice the ``project`` table (as initially defined in :pep:`621`) is not included', 'in this schema and should be considered separately.'], 'type': 'object', 'additionalProperties': False, 'properties': {'build-system': {'type': 'object', 'description': 'Table used to store build-related data', 'additionalProperties': False, 'properties': {'requires': {'type': 'array', '$$description': ['List of dependencies in the :pep:`508` format required to execute the build', 'system. Please notice that the resulting dependency graph', '**MUST NOT contain cycles**'], 'items': {'type': 'string'}}, 'build-backend': {'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, 'backend-path': {'type': 'array', '$$description': ['List of directories to be prepended to ``sys.path`` when loading the', 'back-end, and running its hooks'], 'items': {'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}}}, 'required': ['requires']}, 'project': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create command-line wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.']}, 'gui-scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create GUI wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.', 'The difference between ``scripts`` and ``gui-scripts`` is only relevant in', 'Windows.']}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$ref': '#/definitions/entry-point-group'}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$ref': '#/definitions/dependency'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$ref': '#/definitions/dependency'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}, 'tool': {'type': 'object', 'properties': {'distutils': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html', 'title': '``tool.distutils`` table', '$$description': ['**EXPERIMENTAL** (NOT OFFICIALLY SUPPORTED): Use ``tool.distutils``', 'subtables to configure arguments for ``distutils`` commands.', 'Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` commands via `distutils configuration files', '<https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html>`_.', 'See also `the old Python docs <https://docs.python.org/3.11/install/>_`.'], 'type': 'object', 'properties': {'global': {'type': 'object', 'description': 'Global options applied to all ``distutils`` commands'}}, 'patternProperties': {'.+': {'type': 'object'}}, '$comment': 'TODO: Is there a practical way of making this schema more specific?'}, 'setuptools': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html', 'title': '``tool.setuptools`` table', '$$description': ['``setuptools``-specific configurations that can be set by users that require', 'customization.', 'These configurations are completely optional and probably can be skipped when', 'creating simple packages. They are equivalent to some of the `Keywords', '<https://setuptools.pypa.io/en/latest/references/keywords.html>`_', 'used by the ``setup.py`` file, and can be set via the ``tool.setuptools`` table.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration>`_', 'that are not covered by :pep:`621`; and intentionally excludes ``dependency_links``', 'and ``setup_requires`` (incompatible with modern workflows/standards).'], 'type': 'object', 'additionalProperties': False, 'properties': {'platforms': {'type': 'array', 'items': {'type': 'string'}}, 'provides': {'$$description': ['Package and virtual package names contained within this package', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'obsoletes': {'$$description': ['Packages which this package renders obsolete', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'zip-safe': {'$$description': ['Whether the project can be safely installed and run from a zip file.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'boolean'}, 'script-files': {'$$description': ['Legacy way of defining scripts (entry-points are preferred).', 'Equivalent to the ``script`` keyword in ``setup.py``', '(it was renamed to avoid confusion with entry-point based ``project.scripts``', 'defined in :pep:`621`).', '**DISCOURAGED**: generic script wrappers are tricky and may not work properly.', 'Whenever possible, please use ``project.scripts`` instead.'], 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, 'eager-resources': {'$$description': ['Resources that should be extracted together, if any of them is needed,', 'or if any C extensions included in the project are imported.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'array', 'items': {'type': 'string'}}, 'packages': {'$$description': ['Packages that should be included in the distribution.', 'It can be given either as a list of package identifiers', 'or as a ``dict``-like structure with a single key ``find``', 'which corresponds to a dynamic call to', '``setuptools.config.expand.find_packages`` function.', 'The ``find`` key is associated with a nested ``dict``-like structure that can', 'contain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,', 'mimicking the keyword arguments of the associated function.'], 'oneOf': [{'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$ref': '#/definitions/package-name'}}, {'$ref': '#/definitions/find-directive'}]}, 'package-dir': {'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$ref': '#/definitions/package-name'}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, 'package-data': {'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'include-package-data': {'$$description': ['Automatically include any data files inside the package directories', 'that are specified by ``MANIFEST.in``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'boolean'}, 'exclude-package-data': {'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html', 'description': '**DEPRECATED**: use implicit namespaces instead (:pep:`420`).'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['``dict``-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', '**DISCOURAGED**: please notice this might not work as expected with wheels.', 'Whenever possible, consider using data files inside the package directories', '(or create a new namespace package that only contains data files).', 'See `data files support', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'cmdclass': {'$$description': ['Mapping of distutils-style command names to ``setuptools.Command`` subclasses', 'which in turn should be represented by strings with a qualified class name', '(i.e., "dotted" form with module), e.g.::\n\n', ' cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}\n\n', 'The command class should be a directly defined at the top-level of the', 'containing module (no class nesting).'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'string', 'format': 'python-qualified-identifier'}}}, 'license-files': {'type': 'array', 'items': {'type': 'string'}, '$$description': ['**PROVISIONAL**: list of glob patterns for all license files being distributed.', '(likely to become standard with :pep:`639`).', "By default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``"], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, 'dynamic': {'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'$ref': '#/definitions/attr-directive'}, {'$ref': '#/definitions/file-directive'}]}, 'classifiers': {'$ref': '#/definitions/file-directive'}, 'description': {'$ref': '#/definitions/file-directive'}, 'entry-points': {'$ref': '#/definitions/file-directive'}, 'dependencies': {'$ref': '#/definitions/file-directive-for-dependencies'}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$ref': '#/definitions/file-directive-for-dependencies'}}}, 'readme': {'type': 'object', 'anyOf': [{'$ref': '#/definitions/file-directive'}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'$ref': '#/definitions/file-directive/properties/file'}}, 'additionalProperties': False}], 'required': ['file']}}}}, 'definitions': {'package-name': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, 'file-directive': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'file-directive-for-dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'attr-directive': {'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, 'find-directive': {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}}}}}}, 'project': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create command-line wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.']}, 'gui-scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create GUI wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.', 'The difference between ``scripts`` and ``gui-scripts`` is only relevant in', 'Windows.']}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$ref': '#/definitions/entry-point-group'}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$ref': '#/definitions/dependency'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$ref': '#/definitions/dependency'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, rule='type')
35
- data_is_dict = isinstance(data, dict)
36
- if data_is_dict:
37
- data_keys = set(data.keys())
38
- if "build-system" in data_keys:
39
- data_keys.remove("build-system")
40
- data__buildsystem = data["build-system"]
41
- if not isinstance(data__buildsystem, (dict)):
42
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system must be object", value=data__buildsystem, name="" + (name_prefix or "data") + ".build-system", definition={'type': 'object', 'description': 'Table used to store build-related data', 'additionalProperties': False, 'properties': {'requires': {'type': 'array', '$$description': ['List of dependencies in the :pep:`508` format required to execute the build', 'system. Please notice that the resulting dependency graph', '**MUST NOT contain cycles**'], 'items': {'type': 'string'}}, 'build-backend': {'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, 'backend-path': {'type': 'array', '$$description': ['List of directories to be prepended to ``sys.path`` when loading the', 'back-end, and running its hooks'], 'items': {'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}}}, 'required': ['requires']}, rule='type')
43
- data__buildsystem_is_dict = isinstance(data__buildsystem, dict)
44
- if data__buildsystem_is_dict:
45
- data__buildsystem__missing_keys = set(['requires']) - data__buildsystem.keys()
46
- if data__buildsystem__missing_keys:
47
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system must contain " + (str(sorted(data__buildsystem__missing_keys)) + " properties"), value=data__buildsystem, name="" + (name_prefix or "data") + ".build-system", definition={'type': 'object', 'description': 'Table used to store build-related data', 'additionalProperties': False, 'properties': {'requires': {'type': 'array', '$$description': ['List of dependencies in the :pep:`508` format required to execute the build', 'system. Please notice that the resulting dependency graph', '**MUST NOT contain cycles**'], 'items': {'type': 'string'}}, 'build-backend': {'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, 'backend-path': {'type': 'array', '$$description': ['List of directories to be prepended to ``sys.path`` when loading the', 'back-end, and running its hooks'], 'items': {'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}}}, 'required': ['requires']}, rule='required')
48
- data__buildsystem_keys = set(data__buildsystem.keys())
49
- if "requires" in data__buildsystem_keys:
50
- data__buildsystem_keys.remove("requires")
51
- data__buildsystem__requires = data__buildsystem["requires"]
52
- if not isinstance(data__buildsystem__requires, (list, tuple)):
53
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system.requires must be array", value=data__buildsystem__requires, name="" + (name_prefix or "data") + ".build-system.requires", definition={'type': 'array', '$$description': ['List of dependencies in the :pep:`508` format required to execute the build', 'system. Please notice that the resulting dependency graph', '**MUST NOT contain cycles**'], 'items': {'type': 'string'}}, rule='type')
54
- data__buildsystem__requires_is_list = isinstance(data__buildsystem__requires, (list, tuple))
55
- if data__buildsystem__requires_is_list:
56
- data__buildsystem__requires_len = len(data__buildsystem__requires)
57
- for data__buildsystem__requires_x, data__buildsystem__requires_item in enumerate(data__buildsystem__requires):
58
- if not isinstance(data__buildsystem__requires_item, (str)):
59
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system.requires[{data__buildsystem__requires_x}]".format(**locals()) + " must be string", value=data__buildsystem__requires_item, name="" + (name_prefix or "data") + ".build-system.requires[{data__buildsystem__requires_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
60
- if "build-backend" in data__buildsystem_keys:
61
- data__buildsystem_keys.remove("build-backend")
62
- data__buildsystem__buildbackend = data__buildsystem["build-backend"]
63
- if not isinstance(data__buildsystem__buildbackend, (str)):
64
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system.build-backend must be string", value=data__buildsystem__buildbackend, name="" + (name_prefix or "data") + ".build-system.build-backend", definition={'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, rule='type')
65
- if isinstance(data__buildsystem__buildbackend, str):
66
- if not custom_formats["pep517-backend-reference"](data__buildsystem__buildbackend):
67
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system.build-backend must be pep517-backend-reference", value=data__buildsystem__buildbackend, name="" + (name_prefix or "data") + ".build-system.build-backend", definition={'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, rule='format')
68
- if "backend-path" in data__buildsystem_keys:
69
- data__buildsystem_keys.remove("backend-path")
70
- data__buildsystem__backendpath = data__buildsystem["backend-path"]
71
- if not isinstance(data__buildsystem__backendpath, (list, tuple)):
72
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system.backend-path must be array", value=data__buildsystem__backendpath, name="" + (name_prefix or "data") + ".build-system.backend-path", definition={'type': 'array', '$$description': ['List of directories to be prepended to ``sys.path`` when loading the', 'back-end, and running its hooks'], 'items': {'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}}, rule='type')
73
- data__buildsystem__backendpath_is_list = isinstance(data__buildsystem__backendpath, (list, tuple))
74
- if data__buildsystem__backendpath_is_list:
75
- data__buildsystem__backendpath_len = len(data__buildsystem__backendpath)
76
- for data__buildsystem__backendpath_x, data__buildsystem__backendpath_item in enumerate(data__buildsystem__backendpath):
77
- if not isinstance(data__buildsystem__backendpath_item, (str)):
78
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system.backend-path[{data__buildsystem__backendpath_x}]".format(**locals()) + " must be string", value=data__buildsystem__backendpath_item, name="" + (name_prefix or "data") + ".build-system.backend-path[{data__buildsystem__backendpath_x}]".format(**locals()) + "", definition={'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}, rule='type')
79
- if data__buildsystem_keys:
80
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system must not contain "+str(data__buildsystem_keys)+" properties", value=data__buildsystem, name="" + (name_prefix or "data") + ".build-system", definition={'type': 'object', 'description': 'Table used to store build-related data', 'additionalProperties': False, 'properties': {'requires': {'type': 'array', '$$description': ['List of dependencies in the :pep:`508` format required to execute the build', 'system. Please notice that the resulting dependency graph', '**MUST NOT contain cycles**'], 'items': {'type': 'string'}}, 'build-backend': {'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, 'backend-path': {'type': 'array', '$$description': ['List of directories to be prepended to ``sys.path`` when loading the', 'back-end, and running its hooks'], 'items': {'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}}}, 'required': ['requires']}, rule='additionalProperties')
81
- if "project" in data_keys:
82
- data_keys.remove("project")
83
- data__project = data["project"]
84
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml(data__project, custom_formats, (name_prefix or "data") + ".project")
85
- if "tool" in data_keys:
86
- data_keys.remove("tool")
87
- data__tool = data["tool"]
88
- if not isinstance(data__tool, (dict)):
89
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".tool must be object", value=data__tool, name="" + (name_prefix or "data") + ".tool", definition={'type': 'object', 'properties': {'distutils': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html', 'title': '``tool.distutils`` table', '$$description': ['**EXPERIMENTAL** (NOT OFFICIALLY SUPPORTED): Use ``tool.distutils``', 'subtables to configure arguments for ``distutils`` commands.', 'Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` commands via `distutils configuration files', '<https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html>`_.', 'See also `the old Python docs <https://docs.python.org/3.11/install/>_`.'], 'type': 'object', 'properties': {'global': {'type': 'object', 'description': 'Global options applied to all ``distutils`` commands'}}, 'patternProperties': {'.+': {'type': 'object'}}, '$comment': 'TODO: Is there a practical way of making this schema more specific?'}, 'setuptools': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html', 'title': '``tool.setuptools`` table', '$$description': ['``setuptools``-specific configurations that can be set by users that require', 'customization.', 'These configurations are completely optional and probably can be skipped when', 'creating simple packages. They are equivalent to some of the `Keywords', '<https://setuptools.pypa.io/en/latest/references/keywords.html>`_', 'used by the ``setup.py`` file, and can be set via the ``tool.setuptools`` table.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration>`_', 'that are not covered by :pep:`621`; and intentionally excludes ``dependency_links``', 'and ``setup_requires`` (incompatible with modern workflows/standards).'], 'type': 'object', 'additionalProperties': False, 'properties': {'platforms': {'type': 'array', 'items': {'type': 'string'}}, 'provides': {'$$description': ['Package and virtual package names contained within this package', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'obsoletes': {'$$description': ['Packages which this package renders obsolete', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'zip-safe': {'$$description': ['Whether the project can be safely installed and run from a zip file.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'boolean'}, 'script-files': {'$$description': ['Legacy way of defining scripts (entry-points are preferred).', 'Equivalent to the ``script`` keyword in ``setup.py``', '(it was renamed to avoid confusion with entry-point based ``project.scripts``', 'defined in :pep:`621`).', '**DISCOURAGED**: generic script wrappers are tricky and may not work properly.', 'Whenever possible, please use ``project.scripts`` instead.'], 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, 'eager-resources': {'$$description': ['Resources that should be extracted together, if any of them is needed,', 'or if any C extensions included in the project are imported.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'array', 'items': {'type': 'string'}}, 'packages': {'$$description': ['Packages that should be included in the distribution.', 'It can be given either as a list of package identifiers', 'or as a ``dict``-like structure with a single key ``find``', 'which corresponds to a dynamic call to', '``setuptools.config.expand.find_packages`` function.', 'The ``find`` key is associated with a nested ``dict``-like structure that can', 'contain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,', 'mimicking the keyword arguments of the associated function.'], 'oneOf': [{'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$ref': '#/definitions/package-name'}}, {'$ref': '#/definitions/find-directive'}]}, 'package-dir': {'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$ref': '#/definitions/package-name'}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, 'package-data': {'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'include-package-data': {'$$description': ['Automatically include any data files inside the package directories', 'that are specified by ``MANIFEST.in``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'boolean'}, 'exclude-package-data': {'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html', 'description': '**DEPRECATED**: use implicit namespaces instead (:pep:`420`).'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['``dict``-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', '**DISCOURAGED**: please notice this might not work as expected with wheels.', 'Whenever possible, consider using data files inside the package directories', '(or create a new namespace package that only contains data files).', 'See `data files support', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'cmdclass': {'$$description': ['Mapping of distutils-style command names to ``setuptools.Command`` subclasses', 'which in turn should be represented by strings with a qualified class name', '(i.e., "dotted" form with module), e.g.::\n\n', ' cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}\n\n', 'The command class should be a directly defined at the top-level of the', 'containing module (no class nesting).'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'string', 'format': 'python-qualified-identifier'}}}, 'license-files': {'type': 'array', 'items': {'type': 'string'}, '$$description': ['**PROVISIONAL**: list of glob patterns for all license files being distributed.', '(likely to become standard with :pep:`639`).', "By default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``"], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, 'dynamic': {'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'$ref': '#/definitions/attr-directive'}, {'$ref': '#/definitions/file-directive'}]}, 'classifiers': {'$ref': '#/definitions/file-directive'}, 'description': {'$ref': '#/definitions/file-directive'}, 'entry-points': {'$ref': '#/definitions/file-directive'}, 'dependencies': {'$ref': '#/definitions/file-directive-for-dependencies'}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$ref': '#/definitions/file-directive-for-dependencies'}}}, 'readme': {'type': 'object', 'anyOf': [{'$ref': '#/definitions/file-directive'}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'$ref': '#/definitions/file-directive/properties/file'}}, 'additionalProperties': False}], 'required': ['file']}}}}, 'definitions': {'package-name': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, 'file-directive': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'file-directive-for-dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'attr-directive': {'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, 'find-directive': {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}}}}}, rule='type')
90
- data__tool_is_dict = isinstance(data__tool, dict)
91
- if data__tool_is_dict:
92
- data__tool_keys = set(data__tool.keys())
93
- if "distutils" in data__tool_keys:
94
- data__tool_keys.remove("distutils")
95
- data__tool__distutils = data__tool["distutils"]
96
- validate_https___setuptools_pypa_io_en_latest_deprecated_distutils_configfile_html(data__tool__distutils, custom_formats, (name_prefix or "data") + ".tool.distutils")
97
- if "setuptools" in data__tool_keys:
98
- data__tool_keys.remove("setuptools")
99
- data__tool__setuptools = data__tool["setuptools"]
100
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html(data__tool__setuptools, custom_formats, (name_prefix or "data") + ".tool.setuptools")
101
- if data_keys:
102
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/declaring-build-dependencies/', 'title': 'Data structure for ``pyproject.toml`` files', '$$description': ['File format containing build-time configurations for the Python ecosystem. ', ':pep:`517` initially defined a build-system independent format for source trees', 'which was complemented by :pep:`518` to provide a way of specifying dependencies ', 'for building Python projects.', 'Please notice the ``project`` table (as initially defined in :pep:`621`) is not included', 'in this schema and should be considered separately.'], 'type': 'object', 'additionalProperties': False, 'properties': {'build-system': {'type': 'object', 'description': 'Table used to store build-related data', 'additionalProperties': False, 'properties': {'requires': {'type': 'array', '$$description': ['List of dependencies in the :pep:`508` format required to execute the build', 'system. Please notice that the resulting dependency graph', '**MUST NOT contain cycles**'], 'items': {'type': 'string'}}, 'build-backend': {'type': 'string', 'description': 'Python object that will be used to perform the build according to :pep:`517`', 'format': 'pep517-backend-reference'}, 'backend-path': {'type': 'array', '$$description': ['List of directories to be prepended to ``sys.path`` when loading the', 'back-end, and running its hooks'], 'items': {'type': 'string', '$comment': 'Should be a path (TODO: enforce it with format?)'}}}, 'required': ['requires']}, 'project': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create command-line wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.']}, 'gui-scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create GUI wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.', 'The difference between ``scripts`` and ``gui-scripts`` is only relevant in', 'Windows.']}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$ref': '#/definitions/entry-point-group'}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$ref': '#/definitions/dependency'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$ref': '#/definitions/dependency'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}, 'tool': {'type': 'object', 'properties': {'distutils': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html', 'title': '``tool.distutils`` table', '$$description': ['**EXPERIMENTAL** (NOT OFFICIALLY SUPPORTED): Use ``tool.distutils``', 'subtables to configure arguments for ``distutils`` commands.', 'Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` commands via `distutils configuration files', '<https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html>`_.', 'See also `the old Python docs <https://docs.python.org/3.11/install/>_`.'], 'type': 'object', 'properties': {'global': {'type': 'object', 'description': 'Global options applied to all ``distutils`` commands'}}, 'patternProperties': {'.+': {'type': 'object'}}, '$comment': 'TODO: Is there a practical way of making this schema more specific?'}, 'setuptools': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html', 'title': '``tool.setuptools`` table', '$$description': ['``setuptools``-specific configurations that can be set by users that require', 'customization.', 'These configurations are completely optional and probably can be skipped when', 'creating simple packages. They are equivalent to some of the `Keywords', '<https://setuptools.pypa.io/en/latest/references/keywords.html>`_', 'used by the ``setup.py`` file, and can be set via the ``tool.setuptools`` table.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration>`_', 'that are not covered by :pep:`621`; and intentionally excludes ``dependency_links``', 'and ``setup_requires`` (incompatible with modern workflows/standards).'], 'type': 'object', 'additionalProperties': False, 'properties': {'platforms': {'type': 'array', 'items': {'type': 'string'}}, 'provides': {'$$description': ['Package and virtual package names contained within this package', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'obsoletes': {'$$description': ['Packages which this package renders obsolete', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'zip-safe': {'$$description': ['Whether the project can be safely installed and run from a zip file.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'boolean'}, 'script-files': {'$$description': ['Legacy way of defining scripts (entry-points are preferred).', 'Equivalent to the ``script`` keyword in ``setup.py``', '(it was renamed to avoid confusion with entry-point based ``project.scripts``', 'defined in :pep:`621`).', '**DISCOURAGED**: generic script wrappers are tricky and may not work properly.', 'Whenever possible, please use ``project.scripts`` instead.'], 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, 'eager-resources': {'$$description': ['Resources that should be extracted together, if any of them is needed,', 'or if any C extensions included in the project are imported.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'array', 'items': {'type': 'string'}}, 'packages': {'$$description': ['Packages that should be included in the distribution.', 'It can be given either as a list of package identifiers', 'or as a ``dict``-like structure with a single key ``find``', 'which corresponds to a dynamic call to', '``setuptools.config.expand.find_packages`` function.', 'The ``find`` key is associated with a nested ``dict``-like structure that can', 'contain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,', 'mimicking the keyword arguments of the associated function.'], 'oneOf': [{'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$ref': '#/definitions/package-name'}}, {'$ref': '#/definitions/find-directive'}]}, 'package-dir': {'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$ref': '#/definitions/package-name'}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, 'package-data': {'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'include-package-data': {'$$description': ['Automatically include any data files inside the package directories', 'that are specified by ``MANIFEST.in``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'boolean'}, 'exclude-package-data': {'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html', 'description': '**DEPRECATED**: use implicit namespaces instead (:pep:`420`).'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['``dict``-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', '**DISCOURAGED**: please notice this might not work as expected with wheels.', 'Whenever possible, consider using data files inside the package directories', '(or create a new namespace package that only contains data files).', 'See `data files support', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'cmdclass': {'$$description': ['Mapping of distutils-style command names to ``setuptools.Command`` subclasses', 'which in turn should be represented by strings with a qualified class name', '(i.e., "dotted" form with module), e.g.::\n\n', ' cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}\n\n', 'The command class should be a directly defined at the top-level of the', 'containing module (no class nesting).'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'string', 'format': 'python-qualified-identifier'}}}, 'license-files': {'type': 'array', 'items': {'type': 'string'}, '$$description': ['**PROVISIONAL**: list of glob patterns for all license files being distributed.', '(likely to become standard with :pep:`639`).', "By default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``"], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, 'dynamic': {'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'$ref': '#/definitions/attr-directive'}, {'$ref': '#/definitions/file-directive'}]}, 'classifiers': {'$ref': '#/definitions/file-directive'}, 'description': {'$ref': '#/definitions/file-directive'}, 'entry-points': {'$ref': '#/definitions/file-directive'}, 'dependencies': {'$ref': '#/definitions/file-directive-for-dependencies'}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$ref': '#/definitions/file-directive-for-dependencies'}}}, 'readme': {'type': 'object', 'anyOf': [{'$ref': '#/definitions/file-directive'}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'$ref': '#/definitions/file-directive/properties/file'}}, 'additionalProperties': False}], 'required': ['file']}}}}, 'definitions': {'package-name': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, 'file-directive': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'file-directive-for-dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'attr-directive': {'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, 'find-directive': {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}}}}}}, 'project': {'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$ref': '#/definitions/author'}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create command-line wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.']}, 'gui-scripts': {'$ref': '#/definitions/entry-point-group', '$$description': ['Instruct the installer to create GUI wrappers for the given', '`entry points <https://packaging.python.org/specifications/entry-points/>`_.', 'The difference between ``scripts`` and ``gui-scripts`` is only relevant in', 'Windows.']}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$ref': '#/definitions/entry-point-group'}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$ref': '#/definitions/dependency'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$ref': '#/definitions/dependency'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, rule='additionalProperties')
103
- return data
104
-
105
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html(data, custom_formats={}, name_prefix=None):
106
- if not isinstance(data, (dict)):
107
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html', 'title': '``tool.setuptools`` table', '$$description': ['``setuptools``-specific configurations that can be set by users that require', 'customization.', 'These configurations are completely optional and probably can be skipped when', 'creating simple packages. They are equivalent to some of the `Keywords', '<https://setuptools.pypa.io/en/latest/references/keywords.html>`_', 'used by the ``setup.py`` file, and can be set via the ``tool.setuptools`` table.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration>`_', 'that are not covered by :pep:`621`; and intentionally excludes ``dependency_links``', 'and ``setup_requires`` (incompatible with modern workflows/standards).'], 'type': 'object', 'additionalProperties': False, 'properties': {'platforms': {'type': 'array', 'items': {'type': 'string'}}, 'provides': {'$$description': ['Package and virtual package names contained within this package', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'obsoletes': {'$$description': ['Packages which this package renders obsolete', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'zip-safe': {'$$description': ['Whether the project can be safely installed and run from a zip file.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'boolean'}, 'script-files': {'$$description': ['Legacy way of defining scripts (entry-points are preferred).', 'Equivalent to the ``script`` keyword in ``setup.py``', '(it was renamed to avoid confusion with entry-point based ``project.scripts``', 'defined in :pep:`621`).', '**DISCOURAGED**: generic script wrappers are tricky and may not work properly.', 'Whenever possible, please use ``project.scripts`` instead.'], 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, 'eager-resources': {'$$description': ['Resources that should be extracted together, if any of them is needed,', 'or if any C extensions included in the project are imported.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'array', 'items': {'type': 'string'}}, 'packages': {'$$description': ['Packages that should be included in the distribution.', 'It can be given either as a list of package identifiers', 'or as a ``dict``-like structure with a single key ``find``', 'which corresponds to a dynamic call to', '``setuptools.config.expand.find_packages`` function.', 'The ``find`` key is associated with a nested ``dict``-like structure that can', 'contain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,', 'mimicking the keyword arguments of the associated function.'], 'oneOf': [{'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}}, {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}]}, 'package-dir': {'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, 'package-data': {'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'include-package-data': {'$$description': ['Automatically include any data files inside the package directories', 'that are specified by ``MANIFEST.in``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'boolean'}, 'exclude-package-data': {'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html', 'description': '**DEPRECATED**: use implicit namespaces instead (:pep:`420`).'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['``dict``-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', '**DISCOURAGED**: please notice this might not work as expected with wheels.', 'Whenever possible, consider using data files inside the package directories', '(or create a new namespace package that only contains data files).', 'See `data files support', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'cmdclass': {'$$description': ['Mapping of distutils-style command names to ``setuptools.Command`` subclasses', 'which in turn should be represented by strings with a qualified class name', '(i.e., "dotted" form with module), e.g.::\n\n', ' cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}\n\n', 'The command class should be a directly defined at the top-level of the', 'containing module (no class nesting).'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'string', 'format': 'python-qualified-identifier'}}}, 'license-files': {'type': 'array', 'items': {'type': 'string'}, '$$description': ['**PROVISIONAL**: list of glob patterns for all license files being distributed.', '(likely to become standard with :pep:`639`).', "By default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``"], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, 'dynamic': {'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, 'classifiers': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'description': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'entry-points': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, 'readme': {'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}}}}, 'definitions': {'package-name': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, 'file-directive': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'file-directive-for-dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, 'attr-directive': {'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, 'find-directive': {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}}}, rule='type')
108
- data_is_dict = isinstance(data, dict)
109
- if data_is_dict:
110
- data_keys = set(data.keys())
111
- if "platforms" in data_keys:
112
- data_keys.remove("platforms")
113
- data__platforms = data["platforms"]
114
- if not isinstance(data__platforms, (list, tuple)):
115
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".platforms must be array", value=data__platforms, name="" + (name_prefix or "data") + ".platforms", definition={'type': 'array', 'items': {'type': 'string'}}, rule='type')
116
- data__platforms_is_list = isinstance(data__platforms, (list, tuple))
117
- if data__platforms_is_list:
118
- data__platforms_len = len(data__platforms)
119
- for data__platforms_x, data__platforms_item in enumerate(data__platforms):
120
- if not isinstance(data__platforms_item, (str)):
121
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".platforms[{data__platforms_x}]".format(**locals()) + " must be string", value=data__platforms_item, name="" + (name_prefix or "data") + ".platforms[{data__platforms_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
122
- if "provides" in data_keys:
123
- data_keys.remove("provides")
124
- data__provides = data["provides"]
125
- if not isinstance(data__provides, (list, tuple)):
126
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".provides must be array", value=data__provides, name="" + (name_prefix or "data") + ".provides", definition={'$$description': ['Package and virtual package names contained within this package', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, rule='type')
127
- data__provides_is_list = isinstance(data__provides, (list, tuple))
128
- if data__provides_is_list:
129
- data__provides_len = len(data__provides)
130
- for data__provides_x, data__provides_item in enumerate(data__provides):
131
- if not isinstance(data__provides_item, (str)):
132
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".provides[{data__provides_x}]".format(**locals()) + " must be string", value=data__provides_item, name="" + (name_prefix or "data") + ".provides[{data__provides_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'pep508-identifier'}, rule='type')
133
- if isinstance(data__provides_item, str):
134
- if not custom_formats["pep508-identifier"](data__provides_item):
135
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".provides[{data__provides_x}]".format(**locals()) + " must be pep508-identifier", value=data__provides_item, name="" + (name_prefix or "data") + ".provides[{data__provides_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'pep508-identifier'}, rule='format')
136
- if "obsoletes" in data_keys:
137
- data_keys.remove("obsoletes")
138
- data__obsoletes = data["obsoletes"]
139
- if not isinstance(data__obsoletes, (list, tuple)):
140
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".obsoletes must be array", value=data__obsoletes, name="" + (name_prefix or "data") + ".obsoletes", definition={'$$description': ['Packages which this package renders obsolete', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, rule='type')
141
- data__obsoletes_is_list = isinstance(data__obsoletes, (list, tuple))
142
- if data__obsoletes_is_list:
143
- data__obsoletes_len = len(data__obsoletes)
144
- for data__obsoletes_x, data__obsoletes_item in enumerate(data__obsoletes):
145
- if not isinstance(data__obsoletes_item, (str)):
146
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".obsoletes[{data__obsoletes_x}]".format(**locals()) + " must be string", value=data__obsoletes_item, name="" + (name_prefix or "data") + ".obsoletes[{data__obsoletes_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'pep508-identifier'}, rule='type')
147
- if isinstance(data__obsoletes_item, str):
148
- if not custom_formats["pep508-identifier"](data__obsoletes_item):
149
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".obsoletes[{data__obsoletes_x}]".format(**locals()) + " must be pep508-identifier", value=data__obsoletes_item, name="" + (name_prefix or "data") + ".obsoletes[{data__obsoletes_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'pep508-identifier'}, rule='format')
150
- if "zip-safe" in data_keys:
151
- data_keys.remove("zip-safe")
152
- data__zipsafe = data["zip-safe"]
153
- if not isinstance(data__zipsafe, (bool)):
154
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".zip-safe must be boolean", value=data__zipsafe, name="" + (name_prefix or "data") + ".zip-safe", definition={'$$description': ['Whether the project can be safely installed and run from a zip file.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'boolean'}, rule='type')
155
- if "script-files" in data_keys:
156
- data_keys.remove("script-files")
157
- data__scriptfiles = data["script-files"]
158
- if not isinstance(data__scriptfiles, (list, tuple)):
159
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".script-files must be array", value=data__scriptfiles, name="" + (name_prefix or "data") + ".script-files", definition={'$$description': ['Legacy way of defining scripts (entry-points are preferred).', 'Equivalent to the ``script`` keyword in ``setup.py``', '(it was renamed to avoid confusion with entry-point based ``project.scripts``', 'defined in :pep:`621`).', '**DISCOURAGED**: generic script wrappers are tricky and may not work properly.', 'Whenever possible, please use ``project.scripts`` instead.'], 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, rule='type')
160
- data__scriptfiles_is_list = isinstance(data__scriptfiles, (list, tuple))
161
- if data__scriptfiles_is_list:
162
- data__scriptfiles_len = len(data__scriptfiles)
163
- for data__scriptfiles_x, data__scriptfiles_item in enumerate(data__scriptfiles):
164
- if not isinstance(data__scriptfiles_item, (str)):
165
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".script-files[{data__scriptfiles_x}]".format(**locals()) + " must be string", value=data__scriptfiles_item, name="" + (name_prefix or "data") + ".script-files[{data__scriptfiles_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
166
- if "eager-resources" in data_keys:
167
- data_keys.remove("eager-resources")
168
- data__eagerresources = data["eager-resources"]
169
- if not isinstance(data__eagerresources, (list, tuple)):
170
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".eager-resources must be array", value=data__eagerresources, name="" + (name_prefix or "data") + ".eager-resources", definition={'$$description': ['Resources that should be extracted together, if any of them is needed,', 'or if any C extensions included in the project are imported.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'array', 'items': {'type': 'string'}}, rule='type')
171
- data__eagerresources_is_list = isinstance(data__eagerresources, (list, tuple))
172
- if data__eagerresources_is_list:
173
- data__eagerresources_len = len(data__eagerresources)
174
- for data__eagerresources_x, data__eagerresources_item in enumerate(data__eagerresources):
175
- if not isinstance(data__eagerresources_item, (str)):
176
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".eager-resources[{data__eagerresources_x}]".format(**locals()) + " must be string", value=data__eagerresources_item, name="" + (name_prefix or "data") + ".eager-resources[{data__eagerresources_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
177
- if "packages" in data_keys:
178
- data_keys.remove("packages")
179
- data__packages = data["packages"]
180
- data__packages_one_of_count1 = 0
181
- if data__packages_one_of_count1 < 2:
182
- try:
183
- if not isinstance(data__packages, (list, tuple)):
184
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".packages must be array", value=data__packages, name="" + (name_prefix or "data") + ".packages", definition={'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}}, rule='type')
185
- data__packages_is_list = isinstance(data__packages, (list, tuple))
186
- if data__packages_is_list:
187
- data__packages_len = len(data__packages)
188
- for data__packages_x, data__packages_item in enumerate(data__packages):
189
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_package_name(data__packages_item, custom_formats, (name_prefix or "data") + ".packages[{data__packages_x}]".format(**locals()))
190
- data__packages_one_of_count1 += 1
191
- except JsonSchemaValueException: pass
192
- if data__packages_one_of_count1 < 2:
193
- try:
194
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_find_directive(data__packages, custom_formats, (name_prefix or "data") + ".packages")
195
- data__packages_one_of_count1 += 1
196
- except JsonSchemaValueException: pass
197
- if data__packages_one_of_count1 != 1:
198
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".packages must be valid exactly by one definition" + (" (" + str(data__packages_one_of_count1) + " matches found)"), value=data__packages, name="" + (name_prefix or "data") + ".packages", definition={'$$description': ['Packages that should be included in the distribution.', 'It can be given either as a list of package identifiers', 'or as a ``dict``-like structure with a single key ``find``', 'which corresponds to a dynamic call to', '``setuptools.config.expand.find_packages`` function.', 'The ``find`` key is associated with a nested ``dict``-like structure that can', 'contain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,', 'mimicking the keyword arguments of the associated function.'], 'oneOf': [{'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}}, {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}]}, rule='oneOf')
199
- if "package-dir" in data_keys:
200
- data_keys.remove("package-dir")
201
- data__packagedir = data["package-dir"]
202
- if not isinstance(data__packagedir, (dict)):
203
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir must be object", value=data__packagedir, name="" + (name_prefix or "data") + ".package-dir", definition={'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, rule='type')
204
- data__packagedir_is_dict = isinstance(data__packagedir, dict)
205
- if data__packagedir_is_dict:
206
- data__packagedir_keys = set(data__packagedir.keys())
207
- for data__packagedir_key, data__packagedir_val in data__packagedir.items():
208
- if REGEX_PATTERNS['^.*$'].search(data__packagedir_key):
209
- if data__packagedir_key in data__packagedir_keys:
210
- data__packagedir_keys.remove(data__packagedir_key)
211
- if not isinstance(data__packagedir_val, (str)):
212
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir.{data__packagedir_key}".format(**locals()) + " must be string", value=data__packagedir_val, name="" + (name_prefix or "data") + ".package-dir.{data__packagedir_key}".format(**locals()) + "", definition={'type': 'string'}, rule='type')
213
- if data__packagedir_keys:
214
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir must not contain "+str(data__packagedir_keys)+" properties", value=data__packagedir, name="" + (name_prefix or "data") + ".package-dir", definition={'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, rule='additionalProperties')
215
- data__packagedir_len = len(data__packagedir)
216
- if data__packagedir_len != 0:
217
- data__packagedir_property_names = True
218
- for data__packagedir_key in data__packagedir:
219
- try:
220
- data__packagedir_key_any_of_count2 = 0
221
- if not data__packagedir_key_any_of_count2:
222
- try:
223
- if data__packagedir_key != "":
224
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir must be same as const definition: ", value=data__packagedir_key, name="" + (name_prefix or "data") + ".package-dir", definition={'const': ''}, rule='const')
225
- data__packagedir_key_any_of_count2 += 1
226
- except JsonSchemaValueException: pass
227
- if not data__packagedir_key_any_of_count2:
228
- try:
229
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_package_name(data__packagedir_key, custom_formats, (name_prefix or "data") + ".package-dir")
230
- data__packagedir_key_any_of_count2 += 1
231
- except JsonSchemaValueException: pass
232
- if not data__packagedir_key_any_of_count2:
233
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir cannot be validated by any definition", value=data__packagedir_key, name="" + (name_prefix or "data") + ".package-dir", definition={'anyOf': [{'const': ''}, {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}]}, rule='anyOf')
234
- except JsonSchemaValueException:
235
- data__packagedir_property_names = False
236
- if not data__packagedir_property_names:
237
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir must be named by propertyName definition", value=data__packagedir, name="" + (name_prefix or "data") + ".package-dir", definition={'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, rule='propertyNames')
238
- if "package-data" in data_keys:
239
- data_keys.remove("package-data")
240
- data__packagedata = data["package-data"]
241
- if not isinstance(data__packagedata, (dict)):
242
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must be object", value=data__packagedata, name="" + (name_prefix or "data") + ".package-data", definition={'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='type')
243
- data__packagedata_is_dict = isinstance(data__packagedata, dict)
244
- if data__packagedata_is_dict:
245
- data__packagedata_keys = set(data__packagedata.keys())
246
- for data__packagedata_key, data__packagedata_val in data__packagedata.items():
247
- if REGEX_PATTERNS['^.*$'].search(data__packagedata_key):
248
- if data__packagedata_key in data__packagedata_keys:
249
- data__packagedata_keys.remove(data__packagedata_key)
250
- if not isinstance(data__packagedata_val, (list, tuple)):
251
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data.{data__packagedata_key}".format(**locals()) + " must be array", value=data__packagedata_val, name="" + (name_prefix or "data") + ".package-data.{data__packagedata_key}".format(**locals()) + "", definition={'type': 'array', 'items': {'type': 'string'}}, rule='type')
252
- data__packagedata_val_is_list = isinstance(data__packagedata_val, (list, tuple))
253
- if data__packagedata_val_is_list:
254
- data__packagedata_val_len = len(data__packagedata_val)
255
- for data__packagedata_val_x, data__packagedata_val_item in enumerate(data__packagedata_val):
256
- if not isinstance(data__packagedata_val_item, (str)):
257
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data.{data__packagedata_key}[{data__packagedata_val_x}]".format(**locals()) + " must be string", value=data__packagedata_val_item, name="" + (name_prefix or "data") + ".package-data.{data__packagedata_key}[{data__packagedata_val_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
258
- if data__packagedata_keys:
259
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must not contain "+str(data__packagedata_keys)+" properties", value=data__packagedata, name="" + (name_prefix or "data") + ".package-data", definition={'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='additionalProperties')
260
- data__packagedata_len = len(data__packagedata)
261
- if data__packagedata_len != 0:
262
- data__packagedata_property_names = True
263
- for data__packagedata_key in data__packagedata:
264
- try:
265
- data__packagedata_key_any_of_count3 = 0
266
- if not data__packagedata_key_any_of_count3:
267
- try:
268
- if not isinstance(data__packagedata_key, (str)):
269
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must be string", value=data__packagedata_key, name="" + (name_prefix or "data") + ".package-data", definition={'type': 'string', 'format': 'python-module-name'}, rule='type')
270
- if isinstance(data__packagedata_key, str):
271
- if not custom_formats["python-module-name"](data__packagedata_key):
272
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must be python-module-name", value=data__packagedata_key, name="" + (name_prefix or "data") + ".package-data", definition={'type': 'string', 'format': 'python-module-name'}, rule='format')
273
- data__packagedata_key_any_of_count3 += 1
274
- except JsonSchemaValueException: pass
275
- if not data__packagedata_key_any_of_count3:
276
- try:
277
- if data__packagedata_key != "*":
278
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must be same as const definition: *", value=data__packagedata_key, name="" + (name_prefix or "data") + ".package-data", definition={'const': '*'}, rule='const')
279
- data__packagedata_key_any_of_count3 += 1
280
- except JsonSchemaValueException: pass
281
- if not data__packagedata_key_any_of_count3:
282
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data cannot be validated by any definition", value=data__packagedata_key, name="" + (name_prefix or "data") + ".package-data", definition={'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, rule='anyOf')
283
- except JsonSchemaValueException:
284
- data__packagedata_property_names = False
285
- if not data__packagedata_property_names:
286
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must be named by propertyName definition", value=data__packagedata, name="" + (name_prefix or "data") + ".package-data", definition={'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='propertyNames')
287
- if "include-package-data" in data_keys:
288
- data_keys.remove("include-package-data")
289
- data__includepackagedata = data["include-package-data"]
290
- if not isinstance(data__includepackagedata, (bool)):
291
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".include-package-data must be boolean", value=data__includepackagedata, name="" + (name_prefix or "data") + ".include-package-data", definition={'$$description': ['Automatically include any data files inside the package directories', 'that are specified by ``MANIFEST.in``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'boolean'}, rule='type')
292
- if "exclude-package-data" in data_keys:
293
- data_keys.remove("exclude-package-data")
294
- data__excludepackagedata = data["exclude-package-data"]
295
- if not isinstance(data__excludepackagedata, (dict)):
296
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must be object", value=data__excludepackagedata, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='type')
297
- data__excludepackagedata_is_dict = isinstance(data__excludepackagedata, dict)
298
- if data__excludepackagedata_is_dict:
299
- data__excludepackagedata_keys = set(data__excludepackagedata.keys())
300
- for data__excludepackagedata_key, data__excludepackagedata_val in data__excludepackagedata.items():
301
- if REGEX_PATTERNS['^.*$'].search(data__excludepackagedata_key):
302
- if data__excludepackagedata_key in data__excludepackagedata_keys:
303
- data__excludepackagedata_keys.remove(data__excludepackagedata_key)
304
- if not isinstance(data__excludepackagedata_val, (list, tuple)):
305
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data.{data__excludepackagedata_key}".format(**locals()) + " must be array", value=data__excludepackagedata_val, name="" + (name_prefix or "data") + ".exclude-package-data.{data__excludepackagedata_key}".format(**locals()) + "", definition={'type': 'array', 'items': {'type': 'string'}}, rule='type')
306
- data__excludepackagedata_val_is_list = isinstance(data__excludepackagedata_val, (list, tuple))
307
- if data__excludepackagedata_val_is_list:
308
- data__excludepackagedata_val_len = len(data__excludepackagedata_val)
309
- for data__excludepackagedata_val_x, data__excludepackagedata_val_item in enumerate(data__excludepackagedata_val):
310
- if not isinstance(data__excludepackagedata_val_item, (str)):
311
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data.{data__excludepackagedata_key}[{data__excludepackagedata_val_x}]".format(**locals()) + " must be string", value=data__excludepackagedata_val_item, name="" + (name_prefix or "data") + ".exclude-package-data.{data__excludepackagedata_key}[{data__excludepackagedata_val_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
312
- if data__excludepackagedata_keys:
313
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must not contain "+str(data__excludepackagedata_keys)+" properties", value=data__excludepackagedata, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='additionalProperties')
314
- data__excludepackagedata_len = len(data__excludepackagedata)
315
- if data__excludepackagedata_len != 0:
316
- data__excludepackagedata_property_names = True
317
- for data__excludepackagedata_key in data__excludepackagedata:
318
- try:
319
- data__excludepackagedata_key_any_of_count4 = 0
320
- if not data__excludepackagedata_key_any_of_count4:
321
- try:
322
- if not isinstance(data__excludepackagedata_key, (str)):
323
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must be string", value=data__excludepackagedata_key, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'type': 'string', 'format': 'python-module-name'}, rule='type')
324
- if isinstance(data__excludepackagedata_key, str):
325
- if not custom_formats["python-module-name"](data__excludepackagedata_key):
326
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must be python-module-name", value=data__excludepackagedata_key, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'type': 'string', 'format': 'python-module-name'}, rule='format')
327
- data__excludepackagedata_key_any_of_count4 += 1
328
- except JsonSchemaValueException: pass
329
- if not data__excludepackagedata_key_any_of_count4:
330
- try:
331
- if data__excludepackagedata_key != "*":
332
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must be same as const definition: *", value=data__excludepackagedata_key, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'const': '*'}, rule='const')
333
- data__excludepackagedata_key_any_of_count4 += 1
334
- except JsonSchemaValueException: pass
335
- if not data__excludepackagedata_key_any_of_count4:
336
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data cannot be validated by any definition", value=data__excludepackagedata_key, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, rule='anyOf')
337
- except JsonSchemaValueException:
338
- data__excludepackagedata_property_names = False
339
- if not data__excludepackagedata_property_names:
340
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must be named by propertyName definition", value=data__excludepackagedata, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='propertyNames')
341
- if "namespace-packages" in data_keys:
342
- data_keys.remove("namespace-packages")
343
- data__namespacepackages = data["namespace-packages"]
344
- if not isinstance(data__namespacepackages, (list, tuple)):
345
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".namespace-packages must be array", value=data__namespacepackages, name="" + (name_prefix or "data") + ".namespace-packages", definition={'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html', 'description': '**DEPRECATED**: use implicit namespaces instead (:pep:`420`).'}, rule='type')
346
- data__namespacepackages_is_list = isinstance(data__namespacepackages, (list, tuple))
347
- if data__namespacepackages_is_list:
348
- data__namespacepackages_len = len(data__namespacepackages)
349
- for data__namespacepackages_x, data__namespacepackages_item in enumerate(data__namespacepackages):
350
- if not isinstance(data__namespacepackages_item, (str)):
351
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".namespace-packages[{data__namespacepackages_x}]".format(**locals()) + " must be string", value=data__namespacepackages_item, name="" + (name_prefix or "data") + ".namespace-packages[{data__namespacepackages_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name-relaxed'}, rule='type')
352
- if isinstance(data__namespacepackages_item, str):
353
- if not custom_formats["python-module-name-relaxed"](data__namespacepackages_item):
354
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".namespace-packages[{data__namespacepackages_x}]".format(**locals()) + " must be python-module-name-relaxed", value=data__namespacepackages_item, name="" + (name_prefix or "data") + ".namespace-packages[{data__namespacepackages_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name-relaxed'}, rule='format')
355
- if "py-modules" in data_keys:
356
- data_keys.remove("py-modules")
357
- data__pymodules = data["py-modules"]
358
- if not isinstance(data__pymodules, (list, tuple)):
359
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".py-modules must be array", value=data__pymodules, name="" + (name_prefix or "data") + ".py-modules", definition={'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, rule='type')
360
- data__pymodules_is_list = isinstance(data__pymodules, (list, tuple))
361
- if data__pymodules_is_list:
362
- data__pymodules_len = len(data__pymodules)
363
- for data__pymodules_x, data__pymodules_item in enumerate(data__pymodules):
364
- if not isinstance(data__pymodules_item, (str)):
365
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".py-modules[{data__pymodules_x}]".format(**locals()) + " must be string", value=data__pymodules_item, name="" + (name_prefix or "data") + ".py-modules[{data__pymodules_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name-relaxed'}, rule='type')
366
- if isinstance(data__pymodules_item, str):
367
- if not custom_formats["python-module-name-relaxed"](data__pymodules_item):
368
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".py-modules[{data__pymodules_x}]".format(**locals()) + " must be python-module-name-relaxed", value=data__pymodules_item, name="" + (name_prefix or "data") + ".py-modules[{data__pymodules_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name-relaxed'}, rule='format')
369
- if "data-files" in data_keys:
370
- data_keys.remove("data-files")
371
- data__datafiles = data["data-files"]
372
- if not isinstance(data__datafiles, (dict)):
373
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".data-files must be object", value=data__datafiles, name="" + (name_prefix or "data") + ".data-files", definition={'$$description': ['``dict``-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', '**DISCOURAGED**: please notice this might not work as expected with wheels.', 'Whenever possible, consider using data files inside the package directories', '(or create a new namespace package that only contains data files).', 'See `data files support', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='type')
374
- data__datafiles_is_dict = isinstance(data__datafiles, dict)
375
- if data__datafiles_is_dict:
376
- data__datafiles_keys = set(data__datafiles.keys())
377
- for data__datafiles_key, data__datafiles_val in data__datafiles.items():
378
- if REGEX_PATTERNS['^.*$'].search(data__datafiles_key):
379
- if data__datafiles_key in data__datafiles_keys:
380
- data__datafiles_keys.remove(data__datafiles_key)
381
- if not isinstance(data__datafiles_val, (list, tuple)):
382
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".data-files.{data__datafiles_key}".format(**locals()) + " must be array", value=data__datafiles_val, name="" + (name_prefix or "data") + ".data-files.{data__datafiles_key}".format(**locals()) + "", definition={'type': 'array', 'items': {'type': 'string'}}, rule='type')
383
- data__datafiles_val_is_list = isinstance(data__datafiles_val, (list, tuple))
384
- if data__datafiles_val_is_list:
385
- data__datafiles_val_len = len(data__datafiles_val)
386
- for data__datafiles_val_x, data__datafiles_val_item in enumerate(data__datafiles_val):
387
- if not isinstance(data__datafiles_val_item, (str)):
388
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".data-files.{data__datafiles_key}[{data__datafiles_val_x}]".format(**locals()) + " must be string", value=data__datafiles_val_item, name="" + (name_prefix or "data") + ".data-files.{data__datafiles_key}[{data__datafiles_val_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
389
- if "cmdclass" in data_keys:
390
- data_keys.remove("cmdclass")
391
- data__cmdclass = data["cmdclass"]
392
- if not isinstance(data__cmdclass, (dict)):
393
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".cmdclass must be object", value=data__cmdclass, name="" + (name_prefix or "data") + ".cmdclass", definition={'$$description': ['Mapping of distutils-style command names to ``setuptools.Command`` subclasses', 'which in turn should be represented by strings with a qualified class name', '(i.e., "dotted" form with module), e.g.::\n\n', ' cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}\n\n', 'The command class should be a directly defined at the top-level of the', 'containing module (no class nesting).'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'string', 'format': 'python-qualified-identifier'}}}, rule='type')
394
- data__cmdclass_is_dict = isinstance(data__cmdclass, dict)
395
- if data__cmdclass_is_dict:
396
- data__cmdclass_keys = set(data__cmdclass.keys())
397
- for data__cmdclass_key, data__cmdclass_val in data__cmdclass.items():
398
- if REGEX_PATTERNS['^.*$'].search(data__cmdclass_key):
399
- if data__cmdclass_key in data__cmdclass_keys:
400
- data__cmdclass_keys.remove(data__cmdclass_key)
401
- if not isinstance(data__cmdclass_val, (str)):
402
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".cmdclass.{data__cmdclass_key}".format(**locals()) + " must be string", value=data__cmdclass_val, name="" + (name_prefix or "data") + ".cmdclass.{data__cmdclass_key}".format(**locals()) + "", definition={'type': 'string', 'format': 'python-qualified-identifier'}, rule='type')
403
- if isinstance(data__cmdclass_val, str):
404
- if not custom_formats["python-qualified-identifier"](data__cmdclass_val):
405
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".cmdclass.{data__cmdclass_key}".format(**locals()) + " must be python-qualified-identifier", value=data__cmdclass_val, name="" + (name_prefix or "data") + ".cmdclass.{data__cmdclass_key}".format(**locals()) + "", definition={'type': 'string', 'format': 'python-qualified-identifier'}, rule='format')
406
- if "license-files" in data_keys:
407
- data_keys.remove("license-files")
408
- data__licensefiles = data["license-files"]
409
- if not isinstance(data__licensefiles, (list, tuple)):
410
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license-files must be array", value=data__licensefiles, name="" + (name_prefix or "data") + ".license-files", definition={'type': 'array', 'items': {'type': 'string'}, '$$description': ['**PROVISIONAL**: list of glob patterns for all license files being distributed.', '(likely to become standard with :pep:`639`).', "By default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``"], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, rule='type')
411
- data__licensefiles_is_list = isinstance(data__licensefiles, (list, tuple))
412
- if data__licensefiles_is_list:
413
- data__licensefiles_len = len(data__licensefiles)
414
- for data__licensefiles_x, data__licensefiles_item in enumerate(data__licensefiles):
415
- if not isinstance(data__licensefiles_item, (str)):
416
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license-files[{data__licensefiles_x}]".format(**locals()) + " must be string", value=data__licensefiles_item, name="" + (name_prefix or "data") + ".license-files[{data__licensefiles_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
417
- if "dynamic" in data_keys:
418
- data_keys.remove("dynamic")
419
- data__dynamic = data["dynamic"]
420
- if not isinstance(data__dynamic, (dict)):
421
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic must be object", value=data__dynamic, name="" + (name_prefix or "data") + ".dynamic", definition={'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, 'classifiers': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'description': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'entry-points': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, 'readme': {'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}}}, rule='type')
422
- data__dynamic_is_dict = isinstance(data__dynamic, dict)
423
- if data__dynamic_is_dict:
424
- data__dynamic_keys = set(data__dynamic.keys())
425
- if "version" in data__dynamic_keys:
426
- data__dynamic_keys.remove("version")
427
- data__dynamic__version = data__dynamic["version"]
428
- data__dynamic__version_one_of_count5 = 0
429
- if data__dynamic__version_one_of_count5 < 2:
430
- try:
431
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_attr_directive(data__dynamic__version, custom_formats, (name_prefix or "data") + ".dynamic.version")
432
- data__dynamic__version_one_of_count5 += 1
433
- except JsonSchemaValueException: pass
434
- if data__dynamic__version_one_of_count5 < 2:
435
- try:
436
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data__dynamic__version, custom_formats, (name_prefix or "data") + ".dynamic.version")
437
- data__dynamic__version_one_of_count5 += 1
438
- except JsonSchemaValueException: pass
439
- if data__dynamic__version_one_of_count5 != 1:
440
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.version must be valid exactly by one definition" + (" (" + str(data__dynamic__version_one_of_count5) + " matches found)"), value=data__dynamic__version, name="" + (name_prefix or "data") + ".dynamic.version", definition={'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, rule='oneOf')
441
- if "classifiers" in data__dynamic_keys:
442
- data__dynamic_keys.remove("classifiers")
443
- data__dynamic__classifiers = data__dynamic["classifiers"]
444
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data__dynamic__classifiers, custom_formats, (name_prefix or "data") + ".dynamic.classifiers")
445
- if "description" in data__dynamic_keys:
446
- data__dynamic_keys.remove("description")
447
- data__dynamic__description = data__dynamic["description"]
448
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data__dynamic__description, custom_formats, (name_prefix or "data") + ".dynamic.description")
449
- if "entry-points" in data__dynamic_keys:
450
- data__dynamic_keys.remove("entry-points")
451
- data__dynamic__entrypoints = data__dynamic["entry-points"]
452
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data__dynamic__entrypoints, custom_formats, (name_prefix or "data") + ".dynamic.entry-points")
453
- if "dependencies" in data__dynamic_keys:
454
- data__dynamic_keys.remove("dependencies")
455
- data__dynamic__dependencies = data__dynamic["dependencies"]
456
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_for_dependencies(data__dynamic__dependencies, custom_formats, (name_prefix or "data") + ".dynamic.dependencies")
457
- if "optional-dependencies" in data__dynamic_keys:
458
- data__dynamic_keys.remove("optional-dependencies")
459
- data__dynamic__optionaldependencies = data__dynamic["optional-dependencies"]
460
- if not isinstance(data__dynamic__optionaldependencies, (dict)):
461
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.optional-dependencies must be object", value=data__dynamic__optionaldependencies, name="" + (name_prefix or "data") + ".dynamic.optional-dependencies", definition={'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, rule='type')
462
- data__dynamic__optionaldependencies_is_dict = isinstance(data__dynamic__optionaldependencies, dict)
463
- if data__dynamic__optionaldependencies_is_dict:
464
- data__dynamic__optionaldependencies_keys = set(data__dynamic__optionaldependencies.keys())
465
- for data__dynamic__optionaldependencies_key, data__dynamic__optionaldependencies_val in data__dynamic__optionaldependencies.items():
466
- if REGEX_PATTERNS['.+'].search(data__dynamic__optionaldependencies_key):
467
- if data__dynamic__optionaldependencies_key in data__dynamic__optionaldependencies_keys:
468
- data__dynamic__optionaldependencies_keys.remove(data__dynamic__optionaldependencies_key)
469
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_for_dependencies(data__dynamic__optionaldependencies_val, custom_formats, (name_prefix or "data") + ".dynamic.optional-dependencies.{data__dynamic__optionaldependencies_key}".format(**locals()))
470
- if data__dynamic__optionaldependencies_keys:
471
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.optional-dependencies must not contain "+str(data__dynamic__optionaldependencies_keys)+" properties", value=data__dynamic__optionaldependencies, name="" + (name_prefix or "data") + ".dynamic.optional-dependencies", definition={'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, rule='additionalProperties')
472
- data__dynamic__optionaldependencies_len = len(data__dynamic__optionaldependencies)
473
- if data__dynamic__optionaldependencies_len != 0:
474
- data__dynamic__optionaldependencies_property_names = True
475
- for data__dynamic__optionaldependencies_key in data__dynamic__optionaldependencies:
476
- try:
477
- if not isinstance(data__dynamic__optionaldependencies_key, (str)):
478
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.optional-dependencies must be string", value=data__dynamic__optionaldependencies_key, name="" + (name_prefix or "data") + ".dynamic.optional-dependencies", definition={'type': 'string', 'format': 'pep508-identifier'}, rule='type')
479
- if isinstance(data__dynamic__optionaldependencies_key, str):
480
- if not custom_formats["pep508-identifier"](data__dynamic__optionaldependencies_key):
481
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.optional-dependencies must be pep508-identifier", value=data__dynamic__optionaldependencies_key, name="" + (name_prefix or "data") + ".dynamic.optional-dependencies", definition={'type': 'string', 'format': 'pep508-identifier'}, rule='format')
482
- except JsonSchemaValueException:
483
- data__dynamic__optionaldependencies_property_names = False
484
- if not data__dynamic__optionaldependencies_property_names:
485
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.optional-dependencies must be named by propertyName definition", value=data__dynamic__optionaldependencies, name="" + (name_prefix or "data") + ".dynamic.optional-dependencies", definition={'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, rule='propertyNames')
486
- if "readme" in data__dynamic_keys:
487
- data__dynamic_keys.remove("readme")
488
- data__dynamic__readme = data__dynamic["readme"]
489
- if not isinstance(data__dynamic__readme, (dict)):
490
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme must be object", value=data__dynamic__readme, name="" + (name_prefix or "data") + ".dynamic.readme", definition={'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}, rule='type')
491
- data__dynamic__readme_any_of_count6 = 0
492
- if not data__dynamic__readme_any_of_count6:
493
- try:
494
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data__dynamic__readme, custom_formats, (name_prefix or "data") + ".dynamic.readme")
495
- data__dynamic__readme_any_of_count6 += 1
496
- except JsonSchemaValueException: pass
497
- if not data__dynamic__readme_any_of_count6:
498
- try:
499
- if not isinstance(data__dynamic__readme, (dict)):
500
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme must be object", value=data__dynamic__readme, name="" + (name_prefix or "data") + ".dynamic.readme", definition={'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}, rule='type')
501
- data__dynamic__readme_is_dict = isinstance(data__dynamic__readme, dict)
502
- if data__dynamic__readme_is_dict:
503
- data__dynamic__readme_keys = set(data__dynamic__readme.keys())
504
- if "content-type" in data__dynamic__readme_keys:
505
- data__dynamic__readme_keys.remove("content-type")
506
- data__dynamic__readme__contenttype = data__dynamic__readme["content-type"]
507
- if not isinstance(data__dynamic__readme__contenttype, (str)):
508
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme.content-type must be string", value=data__dynamic__readme__contenttype, name="" + (name_prefix or "data") + ".dynamic.readme.content-type", definition={'type': 'string'}, rule='type')
509
- if "file" in data__dynamic__readme_keys:
510
- data__dynamic__readme_keys.remove("file")
511
- data__dynamic__readme__file = data__dynamic__readme["file"]
512
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_properties_file(data__dynamic__readme__file, custom_formats, (name_prefix or "data") + ".dynamic.readme.file")
513
- if data__dynamic__readme_keys:
514
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme must not contain "+str(data__dynamic__readme_keys)+" properties", value=data__dynamic__readme, name="" + (name_prefix or "data") + ".dynamic.readme", definition={'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}, rule='additionalProperties')
515
- data__dynamic__readme_any_of_count6 += 1
516
- except JsonSchemaValueException: pass
517
- if not data__dynamic__readme_any_of_count6:
518
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme cannot be validated by any definition", value=data__dynamic__readme, name="" + (name_prefix or "data") + ".dynamic.readme", definition={'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}, rule='anyOf')
519
- data__dynamic__readme_is_dict = isinstance(data__dynamic__readme, dict)
520
- if data__dynamic__readme_is_dict:
521
- data__dynamic__readme__missing_keys = set(['file']) - data__dynamic__readme.keys()
522
- if data__dynamic__readme__missing_keys:
523
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme must contain " + (str(sorted(data__dynamic__readme__missing_keys)) + " properties"), value=data__dynamic__readme, name="" + (name_prefix or "data") + ".dynamic.readme", definition={'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}, rule='required')
524
- if data__dynamic_keys:
525
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic must not contain "+str(data__dynamic_keys)+" properties", value=data__dynamic, name="" + (name_prefix or "data") + ".dynamic", definition={'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, 'classifiers': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'description': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'entry-points': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, 'readme': {'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}}}, rule='additionalProperties')
526
- if data_keys:
527
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html', 'title': '``tool.setuptools`` table', '$$description': ['``setuptools``-specific configurations that can be set by users that require', 'customization.', 'These configurations are completely optional and probably can be skipped when', 'creating simple packages. They are equivalent to some of the `Keywords', '<https://setuptools.pypa.io/en/latest/references/keywords.html>`_', 'used by the ``setup.py`` file, and can be set via the ``tool.setuptools`` table.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration>`_', 'that are not covered by :pep:`621`; and intentionally excludes ``dependency_links``', 'and ``setup_requires`` (incompatible with modern workflows/standards).'], 'type': 'object', 'additionalProperties': False, 'properties': {'platforms': {'type': 'array', 'items': {'type': 'string'}}, 'provides': {'$$description': ['Package and virtual package names contained within this package', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'obsoletes': {'$$description': ['Packages which this package renders obsolete', '**(not supported by pip)**'], 'type': 'array', 'items': {'type': 'string', 'format': 'pep508-identifier'}}, 'zip-safe': {'$$description': ['Whether the project can be safely installed and run from a zip file.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'boolean'}, 'script-files': {'$$description': ['Legacy way of defining scripts (entry-points are preferred).', 'Equivalent to the ``script`` keyword in ``setup.py``', '(it was renamed to avoid confusion with entry-point based ``project.scripts``', 'defined in :pep:`621`).', '**DISCOURAGED**: generic script wrappers are tricky and may not work properly.', 'Whenever possible, please use ``project.scripts`` instead.'], 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, 'eager-resources': {'$$description': ['Resources that should be extracted together, if any of them is needed,', 'or if any C extensions included in the project are imported.', '**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` and', '``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).'], 'type': 'array', 'items': {'type': 'string'}}, 'packages': {'$$description': ['Packages that should be included in the distribution.', 'It can be given either as a list of package identifiers', 'or as a ``dict``-like structure with a single key ``find``', 'which corresponds to a dynamic call to', '``setuptools.config.expand.find_packages`` function.', 'The ``find`` key is associated with a nested ``dict``-like structure that can', 'contain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,', 'mimicking the keyword arguments of the associated function.'], 'oneOf': [{'title': 'Array of Python package identifiers', 'type': 'array', 'items': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}}, {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}]}, 'package-dir': {'$$description': [':class:`dict`-like structure mapping from package names to directories where their', 'code can be found.', 'The empty string (as key) means that all packages are contained inside', 'the given directory will be included in the distribution.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'const': ''}, {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, 'package-data': {'$$description': ['Mapping from package names to lists of glob patterns.', 'Usually this option is not needed when using ``include-package-data = true``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'include-package-data': {'$$description': ['Automatically include any data files inside the package directories', 'that are specified by ``MANIFEST.in``', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'boolean'}, 'exclude-package-data': {'$$description': ['Mapping from package names to lists of glob patterns that should be excluded', 'For more information on how to include data files, check ``setuptools`` `docs', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'additionalProperties': False, 'propertyNames': {'anyOf': [{'type': 'string', 'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html', 'description': '**DEPRECATED**: use implicit namespaces instead (:pep:`420`).'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name-relaxed'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['``dict``-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', '**DISCOURAGED**: please notice this might not work as expected with wheels.', 'Whenever possible, consider using data files inside the package directories', '(or create a new namespace package that only contains data files).', 'See `data files support', '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'cmdclass': {'$$description': ['Mapping of distutils-style command names to ``setuptools.Command`` subclasses', 'which in turn should be represented by strings with a qualified class name', '(i.e., "dotted" form with module), e.g.::\n\n', ' cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}\n\n', 'The command class should be a directly defined at the top-level of the', 'containing module (no class nesting).'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'string', 'format': 'python-qualified-identifier'}}}, 'license-files': {'type': 'array', 'items': {'type': 'string'}, '$$description': ['**PROVISIONAL**: list of glob patterns for all license files being distributed.', '(likely to become standard with :pep:`639`).', "By default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``"], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, 'dynamic': {'type': 'object', 'description': 'Instructions for loading :pep:`621`-related metadata dynamically', 'additionalProperties': False, 'properties': {'version': {'$$description': ['A version dynamically loaded via either the ``attr:`` or ``file:``', 'directives. Please make sure the given file or attribute respects :pep:`440`.', 'Also ensure to set ``project.dynamic`` accordingly.'], 'oneOf': [{'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, 'classifiers': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'description': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'entry-points': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'type': 'string', 'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$ref': '#/definitions/file-directive'}]}}}, 'readme': {'type': 'object', 'anyOf': [{'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, {'type': 'object', 'properties': {'content-type': {'type': 'string'}, 'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'additionalProperties': False}], 'required': ['file']}}}}, 'definitions': {'package-name': {'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, 'file-directive': {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, 'file-directive-for-dependencies': {'title': "'file:' directive for dependencies", 'allOf': [{'$$description': ['**BETA**: subset of the ``requirements.txt`` format', 'without ``pip`` flags and options', '(one :pep:`508`-compliant string per line,', 'lines that are blank or start with ``#`` are excluded).', 'See `dynamic metadata', '<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.']}, {'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}]}, 'attr-directive': {'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, 'find-directive': {'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}}}, rule='additionalProperties')
528
- return data
529
-
530
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_properties_file(data, custom_formats={}, name_prefix=None):
531
- data_one_of_count7 = 0
532
- if data_one_of_count7 < 2:
533
- try:
534
- if not isinstance(data, (str)):
535
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be string", value=data, name="" + (name_prefix or "data") + "", definition={'type': 'string'}, rule='type')
536
- data_one_of_count7 += 1
537
- except JsonSchemaValueException: pass
538
- if data_one_of_count7 < 2:
539
- try:
540
- if not isinstance(data, (list, tuple)):
541
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be array", value=data, name="" + (name_prefix or "data") + "", definition={'type': 'array', 'items': {'type': 'string'}}, rule='type')
542
- data_is_list = isinstance(data, (list, tuple))
543
- if data_is_list:
544
- data_len = len(data)
545
- for data_x, data_item in enumerate(data):
546
- if not isinstance(data_item, (str)):
547
- raise JsonSchemaValueException("" + (name_prefix or "data") + "[{data_x}]".format(**locals()) + " must be string", value=data_item, name="" + (name_prefix or "data") + "[{data_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
548
- data_one_of_count7 += 1
549
- except JsonSchemaValueException: pass
550
- if data_one_of_count7 != 1:
551
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be valid exactly by one definition" + (" (" + str(data_one_of_count7) + " matches found)"), value=data, name="" + (name_prefix or "data") + "", definition={'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, rule='oneOf')
552
- return data
553
-
554
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_for_dependencies(data, custom_formats={}, name_prefix=None):
555
- validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data, custom_formats, (name_prefix or "data") + "")
556
- return data
557
-
558
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive(data, custom_formats={}, name_prefix=None):
559
- if not isinstance(data, (dict)):
560
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, rule='type')
561
- data_is_dict = isinstance(data, dict)
562
- if data_is_dict:
563
- data__missing_keys = set(['file']) - data.keys()
564
- if data__missing_keys:
565
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain " + (str(sorted(data__missing_keys)) + " properties"), value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, rule='required')
566
- data_keys = set(data.keys())
567
- if "file" in data_keys:
568
- data_keys.remove("file")
569
- data__file = data["file"]
570
- data__file_one_of_count8 = 0
571
- if data__file_one_of_count8 < 2:
572
- try:
573
- if not isinstance(data__file, (str)):
574
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".file must be string", value=data__file, name="" + (name_prefix or "data") + ".file", definition={'type': 'string'}, rule='type')
575
- data__file_one_of_count8 += 1
576
- except JsonSchemaValueException: pass
577
- if data__file_one_of_count8 < 2:
578
- try:
579
- if not isinstance(data__file, (list, tuple)):
580
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".file must be array", value=data__file, name="" + (name_prefix or "data") + ".file", definition={'type': 'array', 'items': {'type': 'string'}}, rule='type')
581
- data__file_is_list = isinstance(data__file, (list, tuple))
582
- if data__file_is_list:
583
- data__file_len = len(data__file)
584
- for data__file_x, data__file_item in enumerate(data__file):
585
- if not isinstance(data__file_item, (str)):
586
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".file[{data__file_x}]".format(**locals()) + " must be string", value=data__file_item, name="" + (name_prefix or "data") + ".file[{data__file_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
587
- data__file_one_of_count8 += 1
588
- except JsonSchemaValueException: pass
589
- if data__file_one_of_count8 != 1:
590
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".file must be valid exactly by one definition" + (" (" + str(data__file_one_of_count8) + " matches found)"), value=data__file, name="" + (name_prefix or "data") + ".file", definition={'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, rule='oneOf')
591
- if data_keys:
592
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/file-directive', 'title': "'file:' directive", 'description': 'Value is read from a file (or list of files and then concatenated)', 'type': 'object', 'additionalProperties': False, 'properties': {'file': {'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'required': ['file']}, rule='additionalProperties')
593
- return data
594
-
595
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_attr_directive(data, custom_formats={}, name_prefix=None):
596
- if not isinstance(data, (dict)):
597
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, rule='type')
598
- data_is_dict = isinstance(data, dict)
599
- if data_is_dict:
600
- data__missing_keys = set(['attr']) - data.keys()
601
- if data__missing_keys:
602
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain " + (str(sorted(data__missing_keys)) + " properties"), value=data, name="" + (name_prefix or "data") + "", definition={'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, rule='required')
603
- data_keys = set(data.keys())
604
- if "attr" in data_keys:
605
- data_keys.remove("attr")
606
- data__attr = data["attr"]
607
- if not isinstance(data__attr, (str)):
608
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".attr must be string", value=data__attr, name="" + (name_prefix or "data") + ".attr", definition={'type': 'string', 'format': 'python-qualified-identifier'}, rule='type')
609
- if isinstance(data__attr, str):
610
- if not custom_formats["python-qualified-identifier"](data__attr):
611
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".attr must be python-qualified-identifier", value=data__attr, name="" + (name_prefix or "data") + ".attr", definition={'type': 'string', 'format': 'python-qualified-identifier'}, rule='format')
612
- if data_keys:
613
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'title': "'attr:' directive", '$id': '#/definitions/attr-directive', '$$description': ['Value is read from a module attribute. Supports callables and iterables;', 'unsupported types are cast via ``str()``'], 'type': 'object', 'additionalProperties': False, 'properties': {'attr': {'type': 'string', 'format': 'python-qualified-identifier'}}, 'required': ['attr']}, rule='additionalProperties')
614
- return data
615
-
616
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_find_directive(data, custom_formats={}, name_prefix=None):
617
- if not isinstance(data, (dict)):
618
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}, rule='type')
619
- data_is_dict = isinstance(data, dict)
620
- if data_is_dict:
621
- data_keys = set(data.keys())
622
- if "find" in data_keys:
623
- data_keys.remove("find")
624
- data__find = data["find"]
625
- if not isinstance(data__find, (dict)):
626
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find must be object", value=data__find, name="" + (name_prefix or "data") + ".find", definition={'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}, rule='type')
627
- data__find_is_dict = isinstance(data__find, dict)
628
- if data__find_is_dict:
629
- data__find_keys = set(data__find.keys())
630
- if "where" in data__find_keys:
631
- data__find_keys.remove("where")
632
- data__find__where = data__find["where"]
633
- if not isinstance(data__find__where, (list, tuple)):
634
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.where must be array", value=data__find__where, name="" + (name_prefix or "data") + ".find.where", definition={'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, rule='type')
635
- data__find__where_is_list = isinstance(data__find__where, (list, tuple))
636
- if data__find__where_is_list:
637
- data__find__where_len = len(data__find__where)
638
- for data__find__where_x, data__find__where_item in enumerate(data__find__where):
639
- if not isinstance(data__find__where_item, (str)):
640
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.where[{data__find__where_x}]".format(**locals()) + " must be string", value=data__find__where_item, name="" + (name_prefix or "data") + ".find.where[{data__find__where_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
641
- if "exclude" in data__find_keys:
642
- data__find_keys.remove("exclude")
643
- data__find__exclude = data__find["exclude"]
644
- if not isinstance(data__find__exclude, (list, tuple)):
645
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.exclude must be array", value=data__find__exclude, name="" + (name_prefix or "data") + ".find.exclude", definition={'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, rule='type')
646
- data__find__exclude_is_list = isinstance(data__find__exclude, (list, tuple))
647
- if data__find__exclude_is_list:
648
- data__find__exclude_len = len(data__find__exclude)
649
- for data__find__exclude_x, data__find__exclude_item in enumerate(data__find__exclude):
650
- if not isinstance(data__find__exclude_item, (str)):
651
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.exclude[{data__find__exclude_x}]".format(**locals()) + " must be string", value=data__find__exclude_item, name="" + (name_prefix or "data") + ".find.exclude[{data__find__exclude_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
652
- if "include" in data__find_keys:
653
- data__find_keys.remove("include")
654
- data__find__include = data__find["include"]
655
- if not isinstance(data__find__include, (list, tuple)):
656
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.include must be array", value=data__find__include, name="" + (name_prefix or "data") + ".find.include", definition={'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, rule='type')
657
- data__find__include_is_list = isinstance(data__find__include, (list, tuple))
658
- if data__find__include_is_list:
659
- data__find__include_len = len(data__find__include)
660
- for data__find__include_x, data__find__include_item in enumerate(data__find__include):
661
- if not isinstance(data__find__include_item, (str)):
662
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.include[{data__find__include_x}]".format(**locals()) + " must be string", value=data__find__include_item, name="" + (name_prefix or "data") + ".find.include[{data__find__include_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
663
- if "namespaces" in data__find_keys:
664
- data__find_keys.remove("namespaces")
665
- data__find__namespaces = data__find["namespaces"]
666
- if not isinstance(data__find__namespaces, (bool)):
667
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find.namespaces must be boolean", value=data__find__namespaces, name="" + (name_prefix or "data") + ".find.namespaces", definition={'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}, rule='type')
668
- if data__find_keys:
669
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".find must not contain "+str(data__find_keys)+" properties", value=data__find, name="" + (name_prefix or "data") + ".find", definition={'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}, rule='additionalProperties')
670
- if data_keys:
671
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/find-directive', 'title': "'find:' directive", 'type': 'object', 'additionalProperties': False, 'properties': {'find': {'type': 'object', '$$description': ['Dynamic `package discovery', '<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.'], 'additionalProperties': False, 'properties': {'where': {'description': 'Directories to be searched for packages (Unix-style relative path)', 'type': 'array', 'items': {'type': 'string'}}, 'exclude': {'type': 'array', '$$description': ['Exclude packages that match the values listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'include': {'type': 'array', '$$description': ['Restrict the found packages to just the ones listed in this field.', "Can container shell-style wildcards (e.g. ``'pkg.*'``)"], 'items': {'type': 'string'}}, 'namespaces': {'type': 'boolean', '$$description': ['When ``True``, directories without a ``__init__.py`` file will also', 'be scanned for :pep:`420`-style implicit namespaces']}}}}}, rule='additionalProperties')
672
- return data
673
-
674
- def validate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_package_name(data, custom_formats={}, name_prefix=None):
675
- if not isinstance(data, (str)):
676
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be string", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, rule='type')
677
- data_any_of_count9 = 0
678
- if not data_any_of_count9:
679
- try:
680
- if not isinstance(data, (str)):
681
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be string", value=data, name="" + (name_prefix or "data") + "", definition={'type': 'string', 'format': 'python-module-name-relaxed'}, rule='type')
682
- if isinstance(data, str):
683
- if not custom_formats["python-module-name-relaxed"](data):
684
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be python-module-name-relaxed", value=data, name="" + (name_prefix or "data") + "", definition={'type': 'string', 'format': 'python-module-name-relaxed'}, rule='format')
685
- data_any_of_count9 += 1
686
- except JsonSchemaValueException: pass
687
- if not data_any_of_count9:
688
- try:
689
- if not isinstance(data, (str)):
690
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be string", value=data, name="" + (name_prefix or "data") + "", definition={'type': 'string', 'format': 'pep561-stub-name'}, rule='type')
691
- if isinstance(data, str):
692
- if not custom_formats["pep561-stub-name"](data):
693
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be pep561-stub-name", value=data, name="" + (name_prefix or "data") + "", definition={'type': 'string', 'format': 'pep561-stub-name'}, rule='format')
694
- data_any_of_count9 += 1
695
- except JsonSchemaValueException: pass
696
- if not data_any_of_count9:
697
- raise JsonSchemaValueException("" + (name_prefix or "data") + " cannot be validated by any definition", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/package-name', 'title': 'Valid package name', 'description': 'Valid package name (importable or :pep:`561`).', 'type': 'string', 'anyOf': [{'type': 'string', 'format': 'python-module-name-relaxed'}, {'type': 'string', 'format': 'pep561-stub-name'}]}, rule='anyOf')
698
- return data
699
-
700
- def validate_https___setuptools_pypa_io_en_latest_deprecated_distutils_configfile_html(data, custom_formats={}, name_prefix=None):
701
- if not isinstance(data, (dict)):
702
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html', 'title': '``tool.distutils`` table', '$$description': ['**EXPERIMENTAL** (NOT OFFICIALLY SUPPORTED): Use ``tool.distutils``', 'subtables to configure arguments for ``distutils`` commands.', 'Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` commands via `distutils configuration files', '<https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html>`_.', 'See also `the old Python docs <https://docs.python.org/3.11/install/>_`.'], 'type': 'object', 'properties': {'global': {'type': 'object', 'description': 'Global options applied to all ``distutils`` commands'}}, 'patternProperties': {'.+': {'type': 'object'}}, '$comment': 'TODO: Is there a practical way of making this schema more specific?'}, rule='type')
703
- data_is_dict = isinstance(data, dict)
704
- if data_is_dict:
705
- data_keys = set(data.keys())
706
- if "global" in data_keys:
707
- data_keys.remove("global")
708
- data__global = data["global"]
709
- if not isinstance(data__global, (dict)):
710
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".global must be object", value=data__global, name="" + (name_prefix or "data") + ".global", definition={'type': 'object', 'description': 'Global options applied to all ``distutils`` commands'}, rule='type')
711
- for data_key, data_val in data.items():
712
- if REGEX_PATTERNS['.+'].search(data_key):
713
- if data_key in data_keys:
714
- data_keys.remove(data_key)
715
- if not isinstance(data_val, (dict)):
716
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".{data_key}".format(**locals()) + " must be object", value=data_val, name="" + (name_prefix or "data") + ".{data_key}".format(**locals()) + "", definition={'type': 'object'}, rule='type')
717
- return data
718
-
719
- def validate_https___packaging_python_org_en_latest_specifications_pyproject_toml(data, custom_formats={}, name_prefix=None):
720
- if not isinstance(data, (dict)):
721
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'gui-scripts': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}, rule='type')
722
- data_is_dict = isinstance(data, dict)
723
- if data_is_dict:
724
- data__missing_keys = set(['name']) - data.keys()
725
- if data__missing_keys:
726
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain " + (str(sorted(data__missing_keys)) + " properties"), value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'gui-scripts': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}, rule='required')
727
- data_keys = set(data.keys())
728
- if "name" in data_keys:
729
- data_keys.remove("name")
730
- data__name = data["name"]
731
- if not isinstance(data__name, (str)):
732
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".name must be string", value=data__name, name="" + (name_prefix or "data") + ".name", definition={'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, rule='type')
733
- if isinstance(data__name, str):
734
- if not custom_formats["pep508-identifier"](data__name):
735
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".name must be pep508-identifier", value=data__name, name="" + (name_prefix or "data") + ".name", definition={'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, rule='format')
736
- if "version" in data_keys:
737
- data_keys.remove("version")
738
- data__version = data["version"]
739
- if not isinstance(data__version, (str)):
740
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".version must be string", value=data__version, name="" + (name_prefix or "data") + ".version", definition={'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, rule='type')
741
- if isinstance(data__version, str):
742
- if not custom_formats["pep440"](data__version):
743
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".version must be pep440", value=data__version, name="" + (name_prefix or "data") + ".version", definition={'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, rule='format')
744
- if "description" in data_keys:
745
- data_keys.remove("description")
746
- data__description = data["description"]
747
- if not isinstance(data__description, (str)):
748
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".description must be string", value=data__description, name="" + (name_prefix or "data") + ".description", definition={'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, rule='type')
749
- if "readme" in data_keys:
750
- data_keys.remove("readme")
751
- data__readme = data["readme"]
752
- data__readme_one_of_count10 = 0
753
- if data__readme_one_of_count10 < 2:
754
- try:
755
- if not isinstance(data__readme, (str)):
756
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must be string", value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, rule='type')
757
- data__readme_one_of_count10 += 1
758
- except JsonSchemaValueException: pass
759
- if data__readme_one_of_count10 < 2:
760
- try:
761
- if not isinstance(data__readme, (dict)):
762
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must be object", value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}, rule='type')
763
- data__readme_any_of_count11 = 0
764
- if not data__readme_any_of_count11:
765
- try:
766
- data__readme_is_dict = isinstance(data__readme, dict)
767
- if data__readme_is_dict:
768
- data__readme__missing_keys = set(['file']) - data__readme.keys()
769
- if data__readme__missing_keys:
770
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must contain " + (str(sorted(data__readme__missing_keys)) + " properties"), value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, rule='required')
771
- data__readme_keys = set(data__readme.keys())
772
- if "file" in data__readme_keys:
773
- data__readme_keys.remove("file")
774
- data__readme__file = data__readme["file"]
775
- if not isinstance(data__readme__file, (str)):
776
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme.file must be string", value=data__readme__file, name="" + (name_prefix or "data") + ".readme.file", definition={'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}, rule='type')
777
- data__readme_any_of_count11 += 1
778
- except JsonSchemaValueException: pass
779
- if not data__readme_any_of_count11:
780
- try:
781
- data__readme_is_dict = isinstance(data__readme, dict)
782
- if data__readme_is_dict:
783
- data__readme__missing_keys = set(['text']) - data__readme.keys()
784
- if data__readme__missing_keys:
785
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must contain " + (str(sorted(data__readme__missing_keys)) + " properties"), value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}, rule='required')
786
- data__readme_keys = set(data__readme.keys())
787
- if "text" in data__readme_keys:
788
- data__readme_keys.remove("text")
789
- data__readme__text = data__readme["text"]
790
- if not isinstance(data__readme__text, (str)):
791
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme.text must be string", value=data__readme__text, name="" + (name_prefix or "data") + ".readme.text", definition={'type': 'string', 'description': 'Full text describing the project.'}, rule='type')
792
- data__readme_any_of_count11 += 1
793
- except JsonSchemaValueException: pass
794
- if not data__readme_any_of_count11:
795
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme cannot be validated by any definition", value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, rule='anyOf')
796
- data__readme_is_dict = isinstance(data__readme, dict)
797
- if data__readme_is_dict:
798
- data__readme__missing_keys = set(['content-type']) - data__readme.keys()
799
- if data__readme__missing_keys:
800
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must contain " + (str(sorted(data__readme__missing_keys)) + " properties"), value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}, rule='required')
801
- data__readme_keys = set(data__readme.keys())
802
- if "content-type" in data__readme_keys:
803
- data__readme_keys.remove("content-type")
804
- data__readme__contenttype = data__readme["content-type"]
805
- if not isinstance(data__readme__contenttype, (str)):
806
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme.content-type must be string", value=data__readme__contenttype, name="" + (name_prefix or "data") + ".readme.content-type", definition={'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}, rule='type')
807
- data__readme_one_of_count10 += 1
808
- except JsonSchemaValueException: pass
809
- if data__readme_one_of_count10 != 1:
810
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must be valid exactly by one definition" + (" (" + str(data__readme_one_of_count10) + " matches found)"), value=data__readme, name="" + (name_prefix or "data") + ".readme", definition={'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, rule='oneOf')
811
- if "requires-python" in data_keys:
812
- data_keys.remove("requires-python")
813
- data__requirespython = data["requires-python"]
814
- if not isinstance(data__requirespython, (str)):
815
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".requires-python must be string", value=data__requirespython, name="" + (name_prefix or "data") + ".requires-python", definition={'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, rule='type')
816
- if isinstance(data__requirespython, str):
817
- if not custom_formats["pep508-versionspec"](data__requirespython):
818
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".requires-python must be pep508-versionspec", value=data__requirespython, name="" + (name_prefix or "data") + ".requires-python", definition={'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, rule='format')
819
- if "license" in data_keys:
820
- data_keys.remove("license")
821
- data__license = data["license"]
822
- data__license_one_of_count12 = 0
823
- if data__license_one_of_count12 < 2:
824
- try:
825
- data__license_is_dict = isinstance(data__license, dict)
826
- if data__license_is_dict:
827
- data__license__missing_keys = set(['file']) - data__license.keys()
828
- if data__license__missing_keys:
829
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license must contain " + (str(sorted(data__license__missing_keys)) + " properties"), value=data__license, name="" + (name_prefix or "data") + ".license", definition={'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, rule='required')
830
- data__license_keys = set(data__license.keys())
831
- if "file" in data__license_keys:
832
- data__license_keys.remove("file")
833
- data__license__file = data__license["file"]
834
- if not isinstance(data__license__file, (str)):
835
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license.file must be string", value=data__license__file, name="" + (name_prefix or "data") + ".license.file", definition={'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}, rule='type')
836
- data__license_one_of_count12 += 1
837
- except JsonSchemaValueException: pass
838
- if data__license_one_of_count12 < 2:
839
- try:
840
- data__license_is_dict = isinstance(data__license, dict)
841
- if data__license_is_dict:
842
- data__license__missing_keys = set(['text']) - data__license.keys()
843
- if data__license__missing_keys:
844
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license must contain " + (str(sorted(data__license__missing_keys)) + " properties"), value=data__license, name="" + (name_prefix or "data") + ".license", definition={'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}, rule='required')
845
- data__license_keys = set(data__license.keys())
846
- if "text" in data__license_keys:
847
- data__license_keys.remove("text")
848
- data__license__text = data__license["text"]
849
- if not isinstance(data__license__text, (str)):
850
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license.text must be string", value=data__license__text, name="" + (name_prefix or "data") + ".license.text", definition={'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}, rule='type')
851
- data__license_one_of_count12 += 1
852
- except JsonSchemaValueException: pass
853
- if data__license_one_of_count12 != 1:
854
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license must be valid exactly by one definition" + (" (" + str(data__license_one_of_count12) + " matches found)"), value=data__license, name="" + (name_prefix or "data") + ".license", definition={'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, rule='oneOf')
855
- if "authors" in data_keys:
856
- data_keys.remove("authors")
857
- data__authors = data["authors"]
858
- if not isinstance(data__authors, (list, tuple)):
859
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".authors must be array", value=data__authors, name="" + (name_prefix or "data") + ".authors", definition={'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, rule='type')
860
- data__authors_is_list = isinstance(data__authors, (list, tuple))
861
- if data__authors_is_list:
862
- data__authors_len = len(data__authors)
863
- for data__authors_x, data__authors_item in enumerate(data__authors):
864
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_author(data__authors_item, custom_formats, (name_prefix or "data") + ".authors[{data__authors_x}]".format(**locals()))
865
- if "maintainers" in data_keys:
866
- data_keys.remove("maintainers")
867
- data__maintainers = data["maintainers"]
868
- if not isinstance(data__maintainers, (list, tuple)):
869
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".maintainers must be array", value=data__maintainers, name="" + (name_prefix or "data") + ".maintainers", definition={'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, rule='type')
870
- data__maintainers_is_list = isinstance(data__maintainers, (list, tuple))
871
- if data__maintainers_is_list:
872
- data__maintainers_len = len(data__maintainers)
873
- for data__maintainers_x, data__maintainers_item in enumerate(data__maintainers):
874
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_author(data__maintainers_item, custom_formats, (name_prefix or "data") + ".maintainers[{data__maintainers_x}]".format(**locals()))
875
- if "keywords" in data_keys:
876
- data_keys.remove("keywords")
877
- data__keywords = data["keywords"]
878
- if not isinstance(data__keywords, (list, tuple)):
879
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".keywords must be array", value=data__keywords, name="" + (name_prefix or "data") + ".keywords", definition={'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, rule='type')
880
- data__keywords_is_list = isinstance(data__keywords, (list, tuple))
881
- if data__keywords_is_list:
882
- data__keywords_len = len(data__keywords)
883
- for data__keywords_x, data__keywords_item in enumerate(data__keywords):
884
- if not isinstance(data__keywords_item, (str)):
885
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".keywords[{data__keywords_x}]".format(**locals()) + " must be string", value=data__keywords_item, name="" + (name_prefix or "data") + ".keywords[{data__keywords_x}]".format(**locals()) + "", definition={'type': 'string'}, rule='type')
886
- if "classifiers" in data_keys:
887
- data_keys.remove("classifiers")
888
- data__classifiers = data["classifiers"]
889
- if not isinstance(data__classifiers, (list, tuple)):
890
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".classifiers must be array", value=data__classifiers, name="" + (name_prefix or "data") + ".classifiers", definition={'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, rule='type')
891
- data__classifiers_is_list = isinstance(data__classifiers, (list, tuple))
892
- if data__classifiers_is_list:
893
- data__classifiers_len = len(data__classifiers)
894
- for data__classifiers_x, data__classifiers_item in enumerate(data__classifiers):
895
- if not isinstance(data__classifiers_item, (str)):
896
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".classifiers[{data__classifiers_x}]".format(**locals()) + " must be string", value=data__classifiers_item, name="" + (name_prefix or "data") + ".classifiers[{data__classifiers_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, rule='type')
897
- if isinstance(data__classifiers_item, str):
898
- if not custom_formats["trove-classifier"](data__classifiers_item):
899
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".classifiers[{data__classifiers_x}]".format(**locals()) + " must be trove-classifier", value=data__classifiers_item, name="" + (name_prefix or "data") + ".classifiers[{data__classifiers_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, rule='format')
900
- if "urls" in data_keys:
901
- data_keys.remove("urls")
902
- data__urls = data["urls"]
903
- if not isinstance(data__urls, (dict)):
904
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".urls must be object", value=data__urls, name="" + (name_prefix or "data") + ".urls", definition={'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, rule='type')
905
- data__urls_is_dict = isinstance(data__urls, dict)
906
- if data__urls_is_dict:
907
- data__urls_keys = set(data__urls.keys())
908
- for data__urls_key, data__urls_val in data__urls.items():
909
- if REGEX_PATTERNS['^.+$'].search(data__urls_key):
910
- if data__urls_key in data__urls_keys:
911
- data__urls_keys.remove(data__urls_key)
912
- if not isinstance(data__urls_val, (str)):
913
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".urls.{data__urls_key}".format(**locals()) + " must be string", value=data__urls_val, name="" + (name_prefix or "data") + ".urls.{data__urls_key}".format(**locals()) + "", definition={'type': 'string', 'format': 'url'}, rule='type')
914
- if isinstance(data__urls_val, str):
915
- if not custom_formats["url"](data__urls_val):
916
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".urls.{data__urls_key}".format(**locals()) + " must be url", value=data__urls_val, name="" + (name_prefix or "data") + ".urls.{data__urls_key}".format(**locals()) + "", definition={'type': 'string', 'format': 'url'}, rule='format')
917
- if data__urls_keys:
918
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".urls must not contain "+str(data__urls_keys)+" properties", value=data__urls, name="" + (name_prefix or "data") + ".urls", definition={'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, rule='additionalProperties')
919
- if "scripts" in data_keys:
920
- data_keys.remove("scripts")
921
- data__scripts = data["scripts"]
922
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_entry_point_group(data__scripts, custom_formats, (name_prefix or "data") + ".scripts")
923
- if "gui-scripts" in data_keys:
924
- data_keys.remove("gui-scripts")
925
- data__guiscripts = data["gui-scripts"]
926
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_entry_point_group(data__guiscripts, custom_formats, (name_prefix or "data") + ".gui-scripts")
927
- if "entry-points" in data_keys:
928
- data_keys.remove("entry-points")
929
- data__entrypoints = data["entry-points"]
930
- data__entrypoints_is_dict = isinstance(data__entrypoints, dict)
931
- if data__entrypoints_is_dict:
932
- data__entrypoints_keys = set(data__entrypoints.keys())
933
- for data__entrypoints_key, data__entrypoints_val in data__entrypoints.items():
934
- if REGEX_PATTERNS['^.+$'].search(data__entrypoints_key):
935
- if data__entrypoints_key in data__entrypoints_keys:
936
- data__entrypoints_keys.remove(data__entrypoints_key)
937
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_entry_point_group(data__entrypoints_val, custom_formats, (name_prefix or "data") + ".entry-points.{data__entrypoints_key}".format(**locals()))
938
- if data__entrypoints_keys:
939
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".entry-points must not contain "+str(data__entrypoints_keys)+" properties", value=data__entrypoints, name="" + (name_prefix or "data") + ".entry-points", definition={'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}}}, rule='additionalProperties')
940
- data__entrypoints_len = len(data__entrypoints)
941
- if data__entrypoints_len != 0:
942
- data__entrypoints_property_names = True
943
- for data__entrypoints_key in data__entrypoints:
944
- try:
945
- if isinstance(data__entrypoints_key, str):
946
- if not custom_formats["python-entrypoint-group"](data__entrypoints_key):
947
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".entry-points must be python-entrypoint-group", value=data__entrypoints_key, name="" + (name_prefix or "data") + ".entry-points", definition={'format': 'python-entrypoint-group'}, rule='format')
948
- except JsonSchemaValueException:
949
- data__entrypoints_property_names = False
950
- if not data__entrypoints_property_names:
951
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".entry-points must be named by propertyName definition", value=data__entrypoints, name="" + (name_prefix or "data") + ".entry-points", definition={'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}}}, rule='propertyNames')
952
- if "dependencies" in data_keys:
953
- data_keys.remove("dependencies")
954
- data__dependencies = data["dependencies"]
955
- if not isinstance(data__dependencies, (list, tuple)):
956
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dependencies must be array", value=data__dependencies, name="" + (name_prefix or "data") + ".dependencies", definition={'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}, rule='type')
957
- data__dependencies_is_list = isinstance(data__dependencies, (list, tuple))
958
- if data__dependencies_is_list:
959
- data__dependencies_len = len(data__dependencies)
960
- for data__dependencies_x, data__dependencies_item in enumerate(data__dependencies):
961
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_dependency(data__dependencies_item, custom_formats, (name_prefix or "data") + ".dependencies[{data__dependencies_x}]".format(**locals()))
962
- if "optional-dependencies" in data_keys:
963
- data_keys.remove("optional-dependencies")
964
- data__optionaldependencies = data["optional-dependencies"]
965
- if not isinstance(data__optionaldependencies, (dict)):
966
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".optional-dependencies must be object", value=data__optionaldependencies, name="" + (name_prefix or "data") + ".optional-dependencies", definition={'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, rule='type')
967
- data__optionaldependencies_is_dict = isinstance(data__optionaldependencies, dict)
968
- if data__optionaldependencies_is_dict:
969
- data__optionaldependencies_keys = set(data__optionaldependencies.keys())
970
- for data__optionaldependencies_key, data__optionaldependencies_val in data__optionaldependencies.items():
971
- if REGEX_PATTERNS['^.+$'].search(data__optionaldependencies_key):
972
- if data__optionaldependencies_key in data__optionaldependencies_keys:
973
- data__optionaldependencies_keys.remove(data__optionaldependencies_key)
974
- if not isinstance(data__optionaldependencies_val, (list, tuple)):
975
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".optional-dependencies.{data__optionaldependencies_key}".format(**locals()) + " must be array", value=data__optionaldependencies_val, name="" + (name_prefix or "data") + ".optional-dependencies.{data__optionaldependencies_key}".format(**locals()) + "", definition={'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}, rule='type')
976
- data__optionaldependencies_val_is_list = isinstance(data__optionaldependencies_val, (list, tuple))
977
- if data__optionaldependencies_val_is_list:
978
- data__optionaldependencies_val_len = len(data__optionaldependencies_val)
979
- for data__optionaldependencies_val_x, data__optionaldependencies_val_item in enumerate(data__optionaldependencies_val):
980
- validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_dependency(data__optionaldependencies_val_item, custom_formats, (name_prefix or "data") + ".optional-dependencies.{data__optionaldependencies_key}[{data__optionaldependencies_val_x}]".format(**locals()))
981
- if data__optionaldependencies_keys:
982
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".optional-dependencies must not contain "+str(data__optionaldependencies_keys)+" properties", value=data__optionaldependencies, name="" + (name_prefix or "data") + ".optional-dependencies", definition={'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, rule='additionalProperties')
983
- data__optionaldependencies_len = len(data__optionaldependencies)
984
- if data__optionaldependencies_len != 0:
985
- data__optionaldependencies_property_names = True
986
- for data__optionaldependencies_key in data__optionaldependencies:
987
- try:
988
- if isinstance(data__optionaldependencies_key, str):
989
- if not custom_formats["pep508-identifier"](data__optionaldependencies_key):
990
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".optional-dependencies must be pep508-identifier", value=data__optionaldependencies_key, name="" + (name_prefix or "data") + ".optional-dependencies", definition={'format': 'pep508-identifier'}, rule='format')
991
- except JsonSchemaValueException:
992
- data__optionaldependencies_property_names = False
993
- if not data__optionaldependencies_property_names:
994
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".optional-dependencies must be named by propertyName definition", value=data__optionaldependencies, name="" + (name_prefix or "data") + ".optional-dependencies", definition={'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, rule='propertyNames')
995
- if "dynamic" in data_keys:
996
- data_keys.remove("dynamic")
997
- data__dynamic = data["dynamic"]
998
- if not isinstance(data__dynamic, (list, tuple)):
999
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic must be array", value=data__dynamic, name="" + (name_prefix or "data") + ".dynamic", definition={'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}, rule='type')
1000
- data__dynamic_is_list = isinstance(data__dynamic, (list, tuple))
1001
- if data__dynamic_is_list:
1002
- data__dynamic_len = len(data__dynamic)
1003
- for data__dynamic_x, data__dynamic_item in enumerate(data__dynamic):
1004
- if data__dynamic_item not in ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']:
1005
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic[{data__dynamic_x}]".format(**locals()) + " must be one of ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']", value=data__dynamic_item, name="" + (name_prefix or "data") + ".dynamic[{data__dynamic_x}]".format(**locals()) + "", definition={'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}, rule='enum')
1006
- if data_keys:
1007
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'https://packaging.python.org/en/latest/specifications/pyproject-toml/', 'title': 'Package metadata stored in the ``project`` table', '$$description': ['Data structure for the **project** table inside ``pyproject.toml``', '(as initially defined in :pep:`621`)'], 'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name (primary identifier) of the project. MUST be statically defined.', 'format': 'pep508-identifier'}, 'version': {'type': 'string', 'description': 'The version of the project as supported by :pep:`440`.', 'format': 'pep440'}, 'description': {'type': 'string', '$$description': ['The `summary description of the project', '<https://packaging.python.org/specifications/core-metadata/#summary>`_']}, 'readme': {'$$description': ['`Full/detailed description of the project in the form of a README', '<https://peps.python.org/pep-0621/#readme>`_', "with meaning similar to the one defined in `core metadata's Description", '<https://packaging.python.org/specifications/core-metadata/#description>`_'], 'oneOf': [{'type': 'string', '$$description': ['Relative path to a text file (UTF-8) containing the full description', 'of the project. If the file path ends in case-insensitive ``.md`` or', '``.rst`` suffixes, then the content-type is respectively', '``text/markdown`` or ``text/x-rst``']}, {'type': 'object', 'allOf': [{'anyOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to a text file containing the full description', 'of the project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', 'description': 'Full text describing the project.'}}, 'required': ['text']}]}, {'properties': {'content-type': {'type': 'string', '$$description': ['Content-type (:rfc:`1341`) of the full description', '(e.g. ``text/markdown``). The ``charset`` parameter is assumed', 'UTF-8 when not present.'], '$comment': 'TODO: add regex pattern or format?'}}, 'required': ['content-type']}]}]}, 'requires-python': {'type': 'string', 'format': 'pep508-versionspec', '$$description': ['`The Python version requirements of the project', '<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.']}, 'license': {'description': '`Project license <https://peps.python.org/pep-0621/#license>`_.', 'oneOf': [{'properties': {'file': {'type': 'string', '$$description': ['Relative path to the file (UTF-8) which contains the license for the', 'project.']}}, 'required': ['file']}, {'properties': {'text': {'type': 'string', '$$description': ['The license of the project whose meaning is that of the', '`License field from the core metadata', '<https://packaging.python.org/specifications/core-metadata/#license>`_.']}}, 'required': ['text']}]}, 'authors': {'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'authors' of the project.", 'The exact meaning is open to interpretation (e.g. original or primary authors,', 'current maintainers, or owners of the package).']}, 'maintainers': {'type': 'array', 'items': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, '$$description': ["The people or organizations considered to be the 'maintainers' of the project.", 'Similarly to ``authors``, the exact meaning is open to interpretation.']}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of keywords to assist searching for the distribution in a larger catalog.'}, 'classifiers': {'type': 'array', 'items': {'type': 'string', 'format': 'trove-classifier', 'description': '`PyPI classifier <https://pypi.org/classifiers/>`_.'}, '$$description': ['`Trove classifiers <https://pypi.org/classifiers/>`_', 'which apply to the project.']}, 'urls': {'type': 'object', 'description': 'URLs associated with the project in the form ``label => value``.', 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', 'format': 'url'}}}, 'scripts': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'gui-scripts': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'entry-points': {'$$description': ['Instruct the installer to expose the given modules/functions via', '``entry-point`` discovery mechanism (useful for plugins).', 'More information available in the `Python packaging guide', '<https://packaging.python.org/specifications/entry-points/>`_.'], 'propertyNames': {'format': 'python-entrypoint-group'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}}}, 'dependencies': {'type': 'array', 'description': 'Project (mandatory) dependencies.', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}, 'optional-dependencies': {'type': 'object', 'description': 'Optional dependency for the project', 'propertyNames': {'format': 'pep508-identifier'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'array', 'items': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}}, 'dynamic': {'type': 'array', '$$description': ['Specifies which fields are intentionally unspecified and expected to be', 'dynamically provided by build tools'], 'items': {'enum': ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']}}}, 'required': ['name'], 'additionalProperties': False, 'if': {'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, 'then': {'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, 'definitions': {'author': {'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, 'entry-point-group': {'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, 'dependency': {'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}}}, rule='additionalProperties')
1008
- try:
1009
- try:
1010
- data_is_dict = isinstance(data, dict)
1011
- if data_is_dict:
1012
- data__missing_keys = set(['dynamic']) - data.keys()
1013
- if data__missing_keys:
1014
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain " + (str(sorted(data__missing_keys)) + " properties"), value=data, name="" + (name_prefix or "data") + "", definition={'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, rule='required')
1015
- data_keys = set(data.keys())
1016
- if "dynamic" in data_keys:
1017
- data_keys.remove("dynamic")
1018
- data__dynamic = data["dynamic"]
1019
- data__dynamic_is_list = isinstance(data__dynamic, (list, tuple))
1020
- if data__dynamic_is_list:
1021
- data__dynamic_contains = False
1022
- for data__dynamic_key in data__dynamic:
1023
- try:
1024
- if data__dynamic_key != "version":
1025
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic must be same as const definition: version", value=data__dynamic_key, name="" + (name_prefix or "data") + ".dynamic", definition={'const': 'version'}, rule='const')
1026
- data__dynamic_contains = True
1027
- break
1028
- except JsonSchemaValueException: pass
1029
- if not data__dynamic_contains:
1030
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic must contain one of contains definition", value=data__dynamic, name="" + (name_prefix or "data") + ".dynamic", definition={'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}, rule='contains')
1031
- except JsonSchemaValueException: pass
1032
- else:
1033
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must NOT match a disallowed definition", value=data, name="" + (name_prefix or "data") + "", definition={'not': {'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, '$$comment': ['According to :pep:`621`:', ' If the core metadata specification lists a field as "Required", then', ' the metadata MUST specify the field statically or list it in dynamic', 'In turn, `core metadata`_ defines:', ' The required fields are: Metadata-Version, Name, Version.', ' All the other fields are optional.', 'Since ``Metadata-Version`` is defined by the build back-end, ``name`` and', '``version`` are the only mandatory information in ``pyproject.toml``.', '.. _core metadata: https://packaging.python.org/specifications/core-metadata/']}, rule='not')
1034
- except JsonSchemaValueException:
1035
- pass
1036
- else:
1037
- data_is_dict = isinstance(data, dict)
1038
- if data_is_dict:
1039
- data__missing_keys = set(['version']) - data.keys()
1040
- if data__missing_keys:
1041
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain " + (str(sorted(data__missing_keys)) + " properties"), value=data, name="" + (name_prefix or "data") + "", definition={'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, rule='required')
1042
- return data
1043
-
1044
- def validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_dependency(data, custom_formats={}, name_prefix=None):
1045
- if not isinstance(data, (str)):
1046
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be string", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}, rule='type')
1047
- if isinstance(data, str):
1048
- if not custom_formats["pep508"](data):
1049
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be pep508", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/dependency', 'title': 'Dependency', 'type': 'string', 'description': 'Project dependency specification according to PEP 508', 'format': 'pep508'}, rule='format')
1050
- return data
1051
-
1052
- def validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_entry_point_group(data, custom_formats={}, name_prefix=None):
1053
- if not isinstance(data, (dict)):
1054
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, rule='type')
1055
- data_is_dict = isinstance(data, dict)
1056
- if data_is_dict:
1057
- data_keys = set(data.keys())
1058
- for data_key, data_val in data.items():
1059
- if REGEX_PATTERNS['^.+$'].search(data_key):
1060
- if data_key in data_keys:
1061
- data_keys.remove(data_key)
1062
- if not isinstance(data_val, (str)):
1063
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".{data_key}".format(**locals()) + " must be string", value=data_val, name="" + (name_prefix or "data") + ".{data_key}".format(**locals()) + "", definition={'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}, rule='type')
1064
- if isinstance(data_val, str):
1065
- if not custom_formats["python-entrypoint-reference"](data_val):
1066
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".{data_key}".format(**locals()) + " must be python-entrypoint-reference", value=data_val, name="" + (name_prefix or "data") + ".{data_key}".format(**locals()) + "", definition={'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}, rule='format')
1067
- if data_keys:
1068
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, rule='additionalProperties')
1069
- data_len = len(data)
1070
- if data_len != 0:
1071
- data_property_names = True
1072
- for data_key in data:
1073
- try:
1074
- if isinstance(data_key, str):
1075
- if not custom_formats["python-entrypoint-name"](data_key):
1076
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be python-entrypoint-name", value=data_key, name="" + (name_prefix or "data") + "", definition={'format': 'python-entrypoint-name'}, rule='format')
1077
- except JsonSchemaValueException:
1078
- data_property_names = False
1079
- if not data_property_names:
1080
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be named by propertyName definition", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/entry-point-group', 'title': 'Entry-points', 'type': 'object', '$$description': ['Entry-points are grouped together to indicate what sort of capabilities they', 'provide.', 'See the `packaging guides', '<https://packaging.python.org/specifications/entry-points/>`_', 'and `setuptools docs', '<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_', 'for more information.'], 'propertyNames': {'format': 'python-entrypoint-name'}, 'additionalProperties': False, 'patternProperties': {'^.+$': {'type': 'string', '$$description': ['Reference to a Python object. It is either in the form', '``importable.module``, or ``importable.module:object.attr``.'], 'format': 'python-entrypoint-reference', '$comment': 'https://packaging.python.org/specifications/entry-points/'}}}, rule='propertyNames')
1081
- return data
1082
-
1083
- def validate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_author(data, custom_formats={}, name_prefix=None):
1084
- if not isinstance(data, (dict)):
1085
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must be object", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, rule='type')
1086
- data_is_dict = isinstance(data, dict)
1087
- if data_is_dict:
1088
- data_keys = set(data.keys())
1089
- if "name" in data_keys:
1090
- data_keys.remove("name")
1091
- data__name = data["name"]
1092
- if not isinstance(data__name, (str)):
1093
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".name must be string", value=data__name, name="" + (name_prefix or "data") + ".name", definition={'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, rule='type')
1094
- if "email" in data_keys:
1095
- data_keys.remove("email")
1096
- data__email = data["email"]
1097
- if not isinstance(data__email, (str)):
1098
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".email must be string", value=data__email, name="" + (name_prefix or "data") + ".email", definition={'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}, rule='type')
1099
- if isinstance(data__email, str):
1100
- if not REGEX_PATTERNS["idn-email_re_pattern"].match(data__email):
1101
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".email must be idn-email", value=data__email, name="" + (name_prefix or "data") + ".email", definition={'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}, rule='format')
1102
- if data_keys:
1103
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must not contain "+str(data_keys)+" properties", value=data, name="" + (name_prefix or "data") + "", definition={'$id': '#/definitions/author', 'title': 'Author or Maintainer', '$comment': 'https://peps.python.org/pep-0621/#authors-maintainers', 'type': 'object', 'additionalProperties': False, 'properties': {'name': {'type': 'string', '$$description': ['MUST be a valid email name, i.e. whatever can be put as a name, before an', 'email, in :rfc:`822`.']}, 'email': {'type': 'string', 'format': 'idn-email', 'description': 'MUST be a valid email address'}}}, rule='additionalProperties')
1104
- return data