@pyscript/core 0.5.8 → 0.5.10

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 (1672) hide show
  1. package/dist/{codemirror-DgYE9rP-.js → codemirror-DB7FRNwF.js} +2 -2
  2. package/dist/{codemirror-DgYE9rP-.js.map → codemirror-DB7FRNwF.js.map} +1 -1
  3. package/dist/{codemirror_commands-DzVQ2VDo.js → codemirror_commands--b8EAhGs.js} +2 -2
  4. package/dist/{codemirror_commands-DzVQ2VDo.js.map → codemirror_commands--b8EAhGs.js.map} +1 -1
  5. package/dist/{codemirror_lang-python-BFQ6m-eH.js → codemirror_lang-python-7zVjHNNQ.js} +2 -2
  6. package/dist/{codemirror_lang-python-BFQ6m-eH.js.map → codemirror_lang-python-7zVjHNNQ.js.map} +1 -1
  7. package/dist/codemirror_language-CpVzVLTK.js +2 -0
  8. package/dist/codemirror_language-CpVzVLTK.js.map +1 -0
  9. package/dist/core-DgtVtgTX.js +2 -0
  10. package/dist/core-DgtVtgTX.js.map +1 -0
  11. package/dist/core.js +1 -1
  12. package/dist/{deprecations-manager-BIGbxm9d.js → deprecations-manager-Wk2dNAHh.js} +2 -2
  13. package/dist/{deprecations-manager-BIGbxm9d.js.map → deprecations-manager-Wk2dNAHh.js.map} +1 -1
  14. package/dist/{error-CZ_xZceV.js → error-l8fsfZ55.js} +2 -2
  15. package/dist/{error-CZ_xZceV.js.map → error-l8fsfZ55.js.map} +1 -1
  16. package/dist/{index-B4WHjyIA.js → index-I0qZdcEJ.js} +2 -2
  17. package/dist/{index-B4WHjyIA.js.map → index-I0qZdcEJ.js.map} +1 -1
  18. package/dist/{mpy-sbGK0OC8.js → mpy-DnDNrpbz.js} +2 -2
  19. package/dist/{mpy-sbGK0OC8.js.map → mpy-DnDNrpbz.js.map} +1 -1
  20. package/dist/{py-DaDp5KT2.js → py-Bi4cFlBJ.js} +2 -2
  21. package/dist/{py-DaDp5KT2.js.map → py-Bi4cFlBJ.js.map} +1 -1
  22. package/dist/{py-editor-QaFsPbeG.js → py-editor-DXssm9ML.js} +2 -2
  23. package/dist/{py-editor-QaFsPbeG.js.map → py-editor-DXssm9ML.js.map} +1 -1
  24. package/dist/{py-terminal-DkjvNCaY.js → py-terminal-DgBo30D8.js} +2 -2
  25. package/dist/{py-terminal-DkjvNCaY.js.map → py-terminal-DgBo30D8.js.map} +1 -1
  26. package/dist/storage.js +2 -0
  27. package/dist/storage.js.map +1 -0
  28. package/dist/xterm-readline-CrMXBT1h.js +2 -0
  29. package/dist/xterm-readline-CrMXBT1h.js.map +1 -0
  30. package/package.json +14 -3
  31. package/src/storage.js +72 -0
  32. package/types/core.d.ts +1 -1
  33. package/dev.cjs +0 -31
  34. package/dist/codemirror_language-DADyF0Bo.js +0 -2
  35. package/dist/codemirror_language-DADyF0Bo.js.map +0 -1
  36. package/dist/core-ChsB5XKV.js +0 -2
  37. package/dist/core-ChsB5XKV.js.map +0 -1
  38. package/dist/xterm-readline-CeXSaXaZ.js +0 -2
  39. package/dist/xterm-readline-CeXSaXaZ.js.map +0 -1
  40. package/dist.zip +0 -0
  41. package/docs/README.md +0 -271
  42. package/env/bin/Activate.ps1 +0 -247
  43. package/env/bin/activate +0 -70
  44. package/env/bin/activate.csh +0 -27
  45. package/env/bin/activate.fish +0 -69
  46. package/env/bin/pip +0 -8
  47. package/env/bin/pip3 +0 -8
  48. package/env/bin/pip3.12 +0 -8
  49. package/env/bin/pyminify +0 -8
  50. package/env/lib/python3.12/site-packages/_distutils_hack/__init__.py +0 -240
  51. package/env/lib/python3.12/site-packages/_distutils_hack/__pycache__/__init__.cpython-312.pyc +0 -0
  52. package/env/lib/python3.12/site-packages/_distutils_hack/__pycache__/override.cpython-312.pyc +0 -0
  53. package/env/lib/python3.12/site-packages/_distutils_hack/override.py +0 -1
  54. package/env/lib/python3.12/site-packages/distutils-precedence.pth +0 -1
  55. package/env/lib/python3.12/site-packages/pip/__init__.py +0 -13
  56. package/env/lib/python3.12/site-packages/pip/__main__.py +0 -24
  57. package/env/lib/python3.12/site-packages/pip/__pip-runner__.py +0 -50
  58. package/env/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  59. package/env/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  60. package/env/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  61. package/env/lib/python3.12/site-packages/pip/_internal/__init__.py +0 -18
  62. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  63. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  64. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  65. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  66. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  67. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  68. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  69. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  70. package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  71. package/env/lib/python3.12/site-packages/pip/_internal/build_env.py +0 -315
  72. package/env/lib/python3.12/site-packages/pip/_internal/cache.py +0 -290
  73. package/env/lib/python3.12/site-packages/pip/_internal/cli/__init__.py +0 -4
  74. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  75. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  76. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  77. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  78. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  79. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc +0 -0
  80. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  81. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  82. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  83. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  84. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  85. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  86. package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  87. package/env/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py +0 -176
  88. package/env/lib/python3.12/site-packages/pip/_internal/cli/base_command.py +0 -231
  89. package/env/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py +0 -1075
  90. package/env/lib/python3.12/site-packages/pip/_internal/cli/command_context.py +0 -27
  91. package/env/lib/python3.12/site-packages/pip/_internal/cli/index_command.py +0 -170
  92. package/env/lib/python3.12/site-packages/pip/_internal/cli/main.py +0 -80
  93. package/env/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py +0 -134
  94. package/env/lib/python3.12/site-packages/pip/_internal/cli/parser.py +0 -294
  95. package/env/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py +0 -94
  96. package/env/lib/python3.12/site-packages/pip/_internal/cli/req_command.py +0 -329
  97. package/env/lib/python3.12/site-packages/pip/_internal/cli/spinners.py +0 -159
  98. package/env/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py +0 -6
  99. package/env/lib/python3.12/site-packages/pip/_internal/commands/__init__.py +0 -132
  100. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  101. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  102. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  103. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  104. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  105. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  106. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  107. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  108. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  109. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  110. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  111. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  112. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  113. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  114. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  115. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  116. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  117. package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  118. package/env/lib/python3.12/site-packages/pip/_internal/commands/cache.py +0 -225
  119. package/env/lib/python3.12/site-packages/pip/_internal/commands/check.py +0 -67
  120. package/env/lib/python3.12/site-packages/pip/_internal/commands/completion.py +0 -130
  121. package/env/lib/python3.12/site-packages/pip/_internal/commands/configuration.py +0 -280
  122. package/env/lib/python3.12/site-packages/pip/_internal/commands/debug.py +0 -201
  123. package/env/lib/python3.12/site-packages/pip/_internal/commands/download.py +0 -146
  124. package/env/lib/python3.12/site-packages/pip/_internal/commands/freeze.py +0 -109
  125. package/env/lib/python3.12/site-packages/pip/_internal/commands/hash.py +0 -59
  126. package/env/lib/python3.12/site-packages/pip/_internal/commands/help.py +0 -41
  127. package/env/lib/python3.12/site-packages/pip/_internal/commands/index.py +0 -139
  128. package/env/lib/python3.12/site-packages/pip/_internal/commands/inspect.py +0 -92
  129. package/env/lib/python3.12/site-packages/pip/_internal/commands/install.py +0 -783
  130. package/env/lib/python3.12/site-packages/pip/_internal/commands/list.py +0 -375
  131. package/env/lib/python3.12/site-packages/pip/_internal/commands/search.py +0 -172
  132. package/env/lib/python3.12/site-packages/pip/_internal/commands/show.py +0 -217
  133. package/env/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py +0 -114
  134. package/env/lib/python3.12/site-packages/pip/_internal/commands/wheel.py +0 -182
  135. package/env/lib/python3.12/site-packages/pip/_internal/configuration.py +0 -383
  136. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py +0 -21
  137. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  138. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  139. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  140. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  141. package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  142. package/env/lib/python3.12/site-packages/pip/_internal/distributions/base.py +0 -53
  143. package/env/lib/python3.12/site-packages/pip/_internal/distributions/installed.py +0 -29
  144. package/env/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py +0 -158
  145. package/env/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py +0 -42
  146. package/env/lib/python3.12/site-packages/pip/_internal/exceptions.py +0 -777
  147. package/env/lib/python3.12/site-packages/pip/_internal/index/__init__.py +0 -2
  148. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  149. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  150. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  151. package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  152. package/env/lib/python3.12/site-packages/pip/_internal/index/collector.py +0 -494
  153. package/env/lib/python3.12/site-packages/pip/_internal/index/package_finder.py +0 -1020
  154. package/env/lib/python3.12/site-packages/pip/_internal/index/sources.py +0 -285
  155. package/env/lib/python3.12/site-packages/pip/_internal/locations/__init__.py +0 -456
  156. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  157. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  158. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  159. package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  160. package/env/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py +0 -172
  161. package/env/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py +0 -214
  162. package/env/lib/python3.12/site-packages/pip/_internal/locations/base.py +0 -81
  163. package/env/lib/python3.12/site-packages/pip/_internal/main.py +0 -12
  164. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py +0 -128
  165. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  166. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  167. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  168. package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  169. package/env/lib/python3.12/site-packages/pip/_internal/metadata/_json.py +0 -84
  170. package/env/lib/python3.12/site-packages/pip/_internal/metadata/base.py +0 -688
  171. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -6
  172. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  173. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  174. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  175. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  176. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -85
  177. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -221
  178. package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -189
  179. package/env/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py +0 -301
  180. package/env/lib/python3.12/site-packages/pip/_internal/models/__init__.py +0 -2
  181. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  182. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  183. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  184. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  185. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  186. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  187. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  188. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  189. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  190. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  191. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  192. package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  193. package/env/lib/python3.12/site-packages/pip/_internal/models/candidate.py +0 -25
  194. package/env/lib/python3.12/site-packages/pip/_internal/models/direct_url.py +0 -224
  195. package/env/lib/python3.12/site-packages/pip/_internal/models/format_control.py +0 -78
  196. package/env/lib/python3.12/site-packages/pip/_internal/models/index.py +0 -28
  197. package/env/lib/python3.12/site-packages/pip/_internal/models/installation_report.py +0 -56
  198. package/env/lib/python3.12/site-packages/pip/_internal/models/link.py +0 -590
  199. package/env/lib/python3.12/site-packages/pip/_internal/models/scheme.py +0 -25
  200. package/env/lib/python3.12/site-packages/pip/_internal/models/search_scope.py +0 -127
  201. package/env/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py +0 -53
  202. package/env/lib/python3.12/site-packages/pip/_internal/models/target_python.py +0 -121
  203. package/env/lib/python3.12/site-packages/pip/_internal/models/wheel.py +0 -93
  204. package/env/lib/python3.12/site-packages/pip/_internal/network/__init__.py +0 -2
  205. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  206. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  207. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  208. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  209. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  210. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  211. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  212. package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  213. package/env/lib/python3.12/site-packages/pip/_internal/network/auth.py +0 -566
  214. package/env/lib/python3.12/site-packages/pip/_internal/network/cache.py +0 -106
  215. package/env/lib/python3.12/site-packages/pip/_internal/network/download.py +0 -187
  216. package/env/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  217. package/env/lib/python3.12/site-packages/pip/_internal/network/session.py +0 -522
  218. package/env/lib/python3.12/site-packages/pip/_internal/network/utils.py +0 -98
  219. package/env/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py +0 -62
  220. package/env/lib/python3.12/site-packages/pip/_internal/operations/__init__.py +0 -0
  221. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  222. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  223. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  224. package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  225. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  226. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  227. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  228. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  229. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  230. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
  231. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  232. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  233. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
  234. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py +0 -138
  235. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  236. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  237. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  238. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  239. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  240. package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  241. package/env/lib/python3.12/site-packages/pip/_internal/operations/check.py +0 -181
  242. package/env/lib/python3.12/site-packages/pip/_internal/operations/freeze.py +0 -258
  243. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  244. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  245. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
  246. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  247. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  248. package/env/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py +0 -741
  249. package/env/lib/python3.12/site-packages/pip/_internal/operations/prepare.py +0 -732
  250. package/env/lib/python3.12/site-packages/pip/_internal/pyproject.py +0 -185
  251. package/env/lib/python3.12/site-packages/pip/_internal/req/__init__.py +0 -90
  252. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  253. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  254. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  255. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  256. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  257. package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  258. package/env/lib/python3.12/site-packages/pip/_internal/req/constructors.py +0 -560
  259. package/env/lib/python3.12/site-packages/pip/_internal/req/req_file.py +0 -551
  260. package/env/lib/python3.12/site-packages/pip/_internal/req/req_install.py +0 -934
  261. package/env/lib/python3.12/site-packages/pip/_internal/req/req_set.py +0 -82
  262. package/env/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py +0 -633
  263. package/env/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py +0 -0
  264. package/env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  265. package/env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  266. package/env/lib/python3.12/site-packages/pip/_internal/resolution/base.py +0 -20
  267. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  268. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  269. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  270. package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -597
  271. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  272. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  273. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  274. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  275. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  276. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  277. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  278. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  279. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  280. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  281. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -139
  282. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -569
  283. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -817
  284. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -174
  285. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -258
  286. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -81
  287. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -245
  288. package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -317
  289. package/env/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py +0 -244
  290. package/env/lib/python3.12/site-packages/pip/_internal/utils/__init__.py +0 -0
  291. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  292. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  293. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  294. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  295. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  296. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  297. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  298. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  299. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  300. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  301. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-312.pyc +0 -0
  302. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  303. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  304. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  305. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  306. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  307. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  308. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  309. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  310. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc +0 -0
  311. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
  312. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  313. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  314. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  315. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  316. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  317. package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  318. package/env/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py +0 -109
  319. package/env/lib/python3.12/site-packages/pip/_internal/utils/_log.py +0 -38
  320. package/env/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py +0 -52
  321. package/env/lib/python3.12/site-packages/pip/_internal/utils/compat.py +0 -79
  322. package/env/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  323. package/env/lib/python3.12/site-packages/pip/_internal/utils/datetime.py +0 -11
  324. package/env/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py +0 -124
  325. package/env/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  326. package/env/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py +0 -80
  327. package/env/lib/python3.12/site-packages/pip/_internal/utils/encoding.py +0 -36
  328. package/env/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py +0 -84
  329. package/env/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py +0 -149
  330. package/env/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py +0 -27
  331. package/env/lib/python3.12/site-packages/pip/_internal/utils/glibc.py +0 -101
  332. package/env/lib/python3.12/site-packages/pip/_internal/utils/hashes.py +0 -147
  333. package/env/lib/python3.12/site-packages/pip/_internal/utils/logging.py +0 -347
  334. package/env/lib/python3.12/site-packages/pip/_internal/utils/misc.py +0 -777
  335. package/env/lib/python3.12/site-packages/pip/_internal/utils/packaging.py +0 -57
  336. package/env/lib/python3.12/site-packages/pip/_internal/utils/retry.py +0 -42
  337. package/env/lib/python3.12/site-packages/pip/_internal/utils/setuptools_build.py +0 -146
  338. package/env/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py +0 -245
  339. package/env/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py +0 -296
  340. package/env/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py +0 -337
  341. package/env/lib/python3.12/site-packages/pip/_internal/utils/urls.py +0 -55
  342. package/env/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  343. package/env/lib/python3.12/site-packages/pip/_internal/utils/wheel.py +0 -134
  344. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py +0 -15
  345. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  346. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  347. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  348. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  349. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  350. package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  351. package/env/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py +0 -112
  352. package/env/lib/python3.12/site-packages/pip/_internal/vcs/git.py +0 -527
  353. package/env/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  354. package/env/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py +0 -324
  355. package/env/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py +0 -688
  356. package/env/lib/python3.12/site-packages/pip/_internal/wheel_builder.py +0 -354
  357. package/env/lib/python3.12/site-packages/pip/_vendor/__init__.py +0 -116
  358. package/env/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  359. package/env/lib/python3.12/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  360. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -28
  361. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  362. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  363. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  364. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  365. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  366. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  367. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  368. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  369. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  370. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -70
  371. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -161
  372. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py +0 -74
  373. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -8
  374. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  375. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  376. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  377. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -182
  378. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -48
  379. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py +0 -499
  380. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -119
  381. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -154
  382. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  383. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -146
  384. package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -43
  385. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  386. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  387. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  388. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  389. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  390. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem +0 -4798
  391. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/core.py +0 -114
  392. package/env/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed +0 -0
  393. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py +0 -33
  394. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  395. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  396. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
  397. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
  398. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
  399. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
  400. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
  401. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
  402. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  403. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  404. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  405. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
  406. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
  407. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py +0 -1138
  408. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/database.py +0 -1359
  409. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/index.py +0 -508
  410. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/locators.py +0 -1303
  411. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/manifest.py +0 -384
  412. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/markers.py +0 -167
  413. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/metadata.py +0 -1068
  414. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py +0 -358
  415. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py +0 -466
  416. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  417. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  418. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  419. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/util.py +0 -2025
  420. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/version.py +0 -751
  421. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  422. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  423. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  424. package/env/lib/python3.12/site-packages/pip/_vendor/distlib/wheel.py +0 -1099
  425. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py +0 -54
  426. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py +0 -4
  427. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  428. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  429. package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  430. package/env/lib/python3.12/site-packages/pip/_vendor/distro/distro.py +0 -1403
  431. package/env/lib/python3.12/site-packages/pip/_vendor/distro/py.typed +0 -0
  432. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py +0 -44
  433. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  434. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  435. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  436. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  437. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  438. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  439. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  440. package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  441. package/env/lib/python3.12/site-packages/pip/_vendor/idna/codec.py +0 -118
  442. package/env/lib/python3.12/site-packages/pip/_vendor/idna/compat.py +0 -13
  443. package/env/lib/python3.12/site-packages/pip/_vendor/idna/core.py +0 -395
  444. package/env/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py +0 -4245
  445. package/env/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py +0 -54
  446. package/env/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py +0 -2
  447. package/env/lib/python3.12/site-packages/pip/_vendor/idna/py.typed +0 -0
  448. package/env/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py +0 -8598
  449. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py +0 -55
  450. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  451. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  452. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  453. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  454. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  455. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py +0 -168
  456. package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py +0 -951
  457. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py +0 -15
  458. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  459. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  460. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  461. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  462. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  463. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  464. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  465. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  466. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  467. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  468. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  469. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  470. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  471. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  472. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py +0 -110
  473. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py +0 -262
  474. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py +0 -85
  475. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py +0 -354
  476. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  477. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -194
  478. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py +0 -325
  479. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py +0 -804
  480. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed +0 -0
  481. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py +0 -91
  482. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py +0 -1009
  483. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py +0 -568
  484. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py +0 -174
  485. package/env/lib/python3.12/site-packages/pip/_vendor/packaging/version.py +0 -563
  486. package/env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3676
  487. package/env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  488. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py +0 -627
  489. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py +0 -55
  490. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  491. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  492. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  493. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  494. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  495. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  496. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  497. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  498. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py +0 -249
  499. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py +0 -292
  500. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py +0 -130
  501. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  502. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py +0 -275
  503. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py +0 -16
  504. package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py +0 -272
  505. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  506. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  507. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  508. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  509. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
  510. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  511. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  512. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  513. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  514. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  515. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  516. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  517. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  518. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  519. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  520. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  521. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  522. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  523. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/cmdline.py +0 -668
  524. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/console.py +0 -70
  525. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py +0 -70
  526. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  527. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  528. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py +0 -129
  529. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -157
  530. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  531. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  532. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
  533. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
  534. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
  535. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
  536. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
  537. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
  538. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
  539. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
  540. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
  541. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
  542. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
  543. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
  544. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  545. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  546. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -170
  547. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/html.py +0 -987
  548. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/img.py +0 -685
  549. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -154
  550. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -518
  551. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/other.py +0 -160
  552. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  553. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -349
  554. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -185
  555. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  556. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  557. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py +0 -963
  558. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -362
  559. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  560. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  561. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  562. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -589
  563. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1198
  564. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  565. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py +0 -72
  566. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  567. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  568. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py +0 -247
  569. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/style.py +0 -203
  570. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -61
  571. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  572. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc +0 -0
  573. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -54
  574. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/token.py +0 -214
  575. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  576. package/env/lib/python3.12/site-packages/pip/_vendor/pygments/util.py +0 -324
  577. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -23
  578. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  579. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-312.pyc +0 -0
  580. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  581. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -8
  582. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -330
  583. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -18
  584. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  585. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  586. package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -353
  587. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py +0 -179
  588. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  589. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  590. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  591. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  592. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  593. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  594. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  595. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  596. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  597. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  598. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  599. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  600. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  601. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  602. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  603. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  604. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  605. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  606. package/env/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py +0 -14
  607. package/env/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py +0 -50
  608. package/env/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py +0 -719
  609. package/env/lib/python3.12/site-packages/pip/_vendor/requests/api.py +0 -157
  610. package/env/lib/python3.12/site-packages/pip/_vendor/requests/auth.py +0 -314
  611. package/env/lib/python3.12/site-packages/pip/_vendor/requests/certs.py +0 -24
  612. package/env/lib/python3.12/site-packages/pip/_vendor/requests/compat.py +0 -78
  613. package/env/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py +0 -561
  614. package/env/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py +0 -151
  615. package/env/lib/python3.12/site-packages/pip/_vendor/requests/help.py +0 -127
  616. package/env/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py +0 -33
  617. package/env/lib/python3.12/site-packages/pip/_vendor/requests/models.py +0 -1037
  618. package/env/lib/python3.12/site-packages/pip/_vendor/requests/packages.py +0 -25
  619. package/env/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py +0 -831
  620. package/env/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  621. package/env/lib/python3.12/site-packages/pip/_vendor/requests/structures.py +0 -99
  622. package/env/lib/python3.12/site-packages/pip/_vendor/requests/utils.py +0 -1096
  623. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  624. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  625. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  626. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  627. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
  628. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  629. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  630. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  631. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
  632. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  633. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  634. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  635. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  636. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -547
  637. package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py +0 -170
  638. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py +0 -177
  639. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py +0 -273
  640. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  641. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  642. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  643. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  644. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  645. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  646. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  647. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  648. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  649. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  650. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  651. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  652. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  653. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  654. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  655. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  656. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  657. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  658. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  659. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  660. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  661. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  662. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  663. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  664. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  665. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  666. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  667. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  668. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  669. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  670. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  671. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  672. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  673. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  674. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  675. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  676. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  677. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  678. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  679. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  680. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  681. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  682. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  683. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  684. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  685. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  686. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  687. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  688. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  689. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  690. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  691. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  692. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  693. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  694. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  695. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  696. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  697. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  698. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  699. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  700. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  701. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  702. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  703. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  704. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  705. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  706. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  707. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  708. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  709. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  710. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  711. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  712. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  713. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  714. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  715. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  716. package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  717. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py +0 -454
  718. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  719. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  720. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py +0 -76
  721. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py +0 -10
  722. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py +0 -24
  723. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py +0 -270
  724. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  725. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py +0 -43
  726. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py +0 -69
  727. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  728. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py +0 -17
  729. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py +0 -159
  730. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  731. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py +0 -16
  732. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py +0 -19
  733. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py +0 -662
  734. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py +0 -71
  735. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  736. package/env/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py +0 -93
  737. package/env/lib/python3.12/site-packages/pip/_vendor/rich/abc.py +0 -33
  738. package/env/lib/python3.12/site-packages/pip/_vendor/rich/align.py +0 -311
  739. package/env/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py +0 -240
  740. package/env/lib/python3.12/site-packages/pip/_vendor/rich/bar.py +0 -93
  741. package/env/lib/python3.12/site-packages/pip/_vendor/rich/box.py +0 -480
  742. package/env/lib/python3.12/site-packages/pip/_vendor/rich/cells.py +0 -167
  743. package/env/lib/python3.12/site-packages/pip/_vendor/rich/color.py +0 -621
  744. package/env/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  745. package/env/lib/python3.12/site-packages/pip/_vendor/rich/columns.py +0 -187
  746. package/env/lib/python3.12/site-packages/pip/_vendor/rich/console.py +0 -2633
  747. package/env/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py +0 -37
  748. package/env/lib/python3.12/site-packages/pip/_vendor/rich/containers.py +0 -167
  749. package/env/lib/python3.12/site-packages/pip/_vendor/rich/control.py +0 -225
  750. package/env/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py +0 -190
  751. package/env/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py +0 -37
  752. package/env/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py +0 -96
  753. package/env/lib/python3.12/site-packages/pip/_vendor/rich/errors.py +0 -34
  754. package/env/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py +0 -57
  755. package/env/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py +0 -89
  756. package/env/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  757. package/env/lib/python3.12/site-packages/pip/_vendor/rich/json.py +0 -139
  758. package/env/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  759. package/env/lib/python3.12/site-packages/pip/_vendor/rich/layout.py +0 -442
  760. package/env/lib/python3.12/site-packages/pip/_vendor/rich/live.py +0 -375
  761. package/env/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py +0 -112
  762. package/env/lib/python3.12/site-packages/pip/_vendor/rich/logging.py +0 -289
  763. package/env/lib/python3.12/site-packages/pip/_vendor/rich/markup.py +0 -251
  764. package/env/lib/python3.12/site-packages/pip/_vendor/rich/measure.py +0 -151
  765. package/env/lib/python3.12/site-packages/pip/_vendor/rich/padding.py +0 -141
  766. package/env/lib/python3.12/site-packages/pip/_vendor/rich/pager.py +0 -34
  767. package/env/lib/python3.12/site-packages/pip/_vendor/rich/palette.py +0 -100
  768. package/env/lib/python3.12/site-packages/pip/_vendor/rich/panel.py +0 -312
  769. package/env/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py +0 -995
  770. package/env/lib/python3.12/site-packages/pip/_vendor/rich/progress.py +0 -1699
  771. package/env/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py +0 -223
  772. package/env/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py +0 -375
  773. package/env/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py +0 -42
  774. package/env/lib/python3.12/site-packages/pip/_vendor/rich/py.typed +0 -0
  775. package/env/lib/python3.12/site-packages/pip/_vendor/rich/region.py +0 -10
  776. package/env/lib/python3.12/site-packages/pip/_vendor/rich/repr.py +0 -149
  777. package/env/lib/python3.12/site-packages/pip/_vendor/rich/rule.py +0 -130
  778. package/env/lib/python3.12/site-packages/pip/_vendor/rich/scope.py +0 -86
  779. package/env/lib/python3.12/site-packages/pip/_vendor/rich/screen.py +0 -54
  780. package/env/lib/python3.12/site-packages/pip/_vendor/rich/segment.py +0 -738
  781. package/env/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py +0 -137
  782. package/env/lib/python3.12/site-packages/pip/_vendor/rich/status.py +0 -131
  783. package/env/lib/python3.12/site-packages/pip/_vendor/rich/style.py +0 -796
  784. package/env/lib/python3.12/site-packages/pip/_vendor/rich/styled.py +0 -42
  785. package/env/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py +0 -958
  786. package/env/lib/python3.12/site-packages/pip/_vendor/rich/table.py +0 -1000
  787. package/env/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  788. package/env/lib/python3.12/site-packages/pip/_vendor/rich/text.py +0 -1357
  789. package/env/lib/python3.12/site-packages/pip/_vendor/rich/theme.py +0 -115
  790. package/env/lib/python3.12/site-packages/pip/_vendor/rich/themes.py +0 -5
  791. package/env/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py +0 -753
  792. package/env/lib/python3.12/site-packages/pip/_vendor/rich/tree.py +0 -249
  793. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py +0 -11
  794. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  795. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  796. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  797. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  798. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py +0 -691
  799. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py +0 -107
  800. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py +0 -10
  801. package/env/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed +0 -1
  802. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py +0 -13
  803. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  804. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  805. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  806. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  807. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  808. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  809. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py +0 -313
  810. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py +0 -499
  811. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py +0 -66
  812. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -31
  813. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py +0 -564
  814. package/env/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed +0 -0
  815. package/env/lib/python3.12/site-packages/pip/_vendor/typing_extensions.py +0 -3641
  816. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  817. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  818. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  819. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  820. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  821. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  822. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  823. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  824. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  825. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  826. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  827. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  828. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  829. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  830. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py +0 -572
  831. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1137
  832. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  833. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  834. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  835. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  836. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  837. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  838. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  839. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  840. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  841. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  842. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  843. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  844. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  845. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  846. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  847. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  848. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  849. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -518
  850. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -920
  851. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  852. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  853. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  854. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  855. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  856. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  857. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  858. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  859. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  860. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  861. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  862. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  863. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -155
  864. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  865. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -540
  866. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/request.py +0 -191
  867. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py +0 -879
  868. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  869. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  870. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  871. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  872. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  873. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  874. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  875. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  876. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  877. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  878. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  879. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  880. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  881. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  882. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  883. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  884. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  885. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  886. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  887. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py +0 -620
  888. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  889. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  890. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  891. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -271
  892. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  893. package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  894. package/env/lib/python3.12/site-packages/pip/_vendor/vendor.txt +0 -18
  895. package/env/lib/python3.12/site-packages/pip/py.typed +0 -4
  896. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/AUTHORS.txt +0 -796
  897. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/INSTALLER +0 -1
  898. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/LICENSE.txt +0 -20
  899. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/METADATA +0 -89
  900. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/RECORD +0 -853
  901. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/REQUESTED +0 -0
  902. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/WHEEL +0 -5
  903. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/entry_points.txt +0 -3
  904. package/env/lib/python3.12/site-packages/pip-24.2.dist-info/top_level.txt +0 -1
  905. package/env/lib/python3.12/site-packages/pkg_resources/__init__.py +0 -3709
  906. package/env/lib/python3.12/site-packages/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  907. package/env/lib/python3.12/site-packages/pkg_resources/api_tests.txt +0 -424
  908. package/env/lib/python3.12/site-packages/pkg_resources/py.typed +0 -0
  909. package/env/lib/python3.12/site-packages/python_minifier/__init__.py +0 -231
  910. package/env/lib/python3.12/site-packages/python_minifier/__init__.pyi +0 -34
  911. package/env/lib/python3.12/site-packages/python_minifier/__main__.py +0 -262
  912. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/__init__.cpython-312.pyc +0 -0
  913. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/__main__.cpython-312.pyc +0 -0
  914. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/ast_compare.cpython-312.pyc +0 -0
  915. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/expression_printer.cpython-312.pyc +0 -0
  916. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/f_string.cpython-312.pyc +0 -0
  917. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/ministring.cpython-312.pyc +0 -0
  918. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/module_printer.cpython-312.pyc +0 -0
  919. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/token_printer.cpython-312.pyc +0 -0
  920. package/env/lib/python3.12/site-packages/python_minifier/__pycache__/util.cpython-312.pyc +0 -0
  921. package/env/lib/python3.12/site-packages/python_minifier/ast_compare.py +0 -104
  922. package/env/lib/python3.12/site-packages/python_minifier/expression_printer.py +0 -748
  923. package/env/lib/python3.12/site-packages/python_minifier/f_string.py +0 -426
  924. package/env/lib/python3.12/site-packages/python_minifier/ministring.py +0 -175
  925. package/env/lib/python3.12/site-packages/python_minifier/module_printer.py +0 -794
  926. package/env/lib/python3.12/site-packages/python_minifier/py.typed +0 -0
  927. package/env/lib/python3.12/site-packages/python_minifier/rename/__init__.py +0 -6
  928. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/__init__.cpython-312.pyc +0 -0
  929. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/bind_names.cpython-312.pyc +0 -0
  930. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/binding.cpython-312.pyc +0 -0
  931. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/mapper.cpython-312.pyc +0 -0
  932. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/name_generator.cpython-312.pyc +0 -0
  933. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/rename_literals.cpython-312.pyc +0 -0
  934. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/renamer.cpython-312.pyc +0 -0
  935. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/resolve_names.cpython-312.pyc +0 -0
  936. package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/util.cpython-312.pyc +0 -0
  937. package/env/lib/python3.12/site-packages/python_minifier/rename/bind_names.py +0 -174
  938. package/env/lib/python3.12/site-packages/python_minifier/rename/binding.py +0 -450
  939. package/env/lib/python3.12/site-packages/python_minifier/rename/mapper.py +0 -160
  940. package/env/lib/python3.12/site-packages/python_minifier/rename/name_generator.py +0 -51
  941. package/env/lib/python3.12/site-packages/python_minifier/rename/rename_literals.py +0 -234
  942. package/env/lib/python3.12/site-packages/python_minifier/rename/renamer.py +0 -230
  943. package/env/lib/python3.12/site-packages/python_minifier/rename/resolve_names.py +0 -88
  944. package/env/lib/python3.12/site-packages/python_minifier/rename/util.py +0 -193
  945. package/env/lib/python3.12/site-packages/python_minifier/token_printer.py +0 -297
  946. package/env/lib/python3.12/site-packages/python_minifier/transforms/__init__.py +0 -0
  947. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/__init__.cpython-312.pyc +0 -0
  948. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/combine_imports.cpython-312.pyc +0 -0
  949. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_annotations.cpython-312.pyc +0 -0
  950. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_asserts.cpython-312.pyc +0 -0
  951. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_debug.cpython-312.pyc +0 -0
  952. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_explicit_return_none.cpython-312.pyc +0 -0
  953. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_literal_statements.cpython-312.pyc +0 -0
  954. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_object_base.cpython-312.pyc +0 -0
  955. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_pass.cpython-312.pyc +0 -0
  956. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_posargs.cpython-312.pyc +0 -0
  957. package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/suite_transformer.cpython-312.pyc +0 -0
  958. package/env/lib/python3.12/site-packages/python_minifier/transforms/combine_imports.py +0 -73
  959. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_annotations.py +0 -110
  960. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_asserts.py +0 -26
  961. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_debug.py +0 -53
  962. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_explicit_return_none.py +0 -38
  963. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_literal_statements.py +0 -61
  964. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_object_base.py +0 -21
  965. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_pass.py +0 -26
  966. package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_posargs.py +0 -13
  967. package/env/lib/python3.12/site-packages/python_minifier/transforms/suite_transformer.py +0 -193
  968. package/env/lib/python3.12/site-packages/python_minifier/util.py +0 -48
  969. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/INSTALLER +0 -1
  970. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/LICENSE +0 -21
  971. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/METADATA +0 -169
  972. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/RECORD +0 -70
  973. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/REQUESTED +0 -0
  974. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/WHEEL +0 -6
  975. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/entry_points.txt +0 -2
  976. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/top_level.txt +0 -1
  977. package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/zip-safe +0 -1
  978. package/env/lib/python3.12/site-packages/setuptools/__init__.py +0 -282
  979. package/env/lib/python3.12/site-packages/setuptools/__pycache__/__init__.cpython-312.pyc +0 -0
  980. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_core_metadata.cpython-312.pyc +0 -0
  981. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_entry_points.cpython-312.pyc +0 -0
  982. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_imp.cpython-312.pyc +0 -0
  983. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_importlib.cpython-312.pyc +0 -0
  984. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_itertools.cpython-312.pyc +0 -0
  985. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_normalization.cpython-312.pyc +0 -0
  986. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_path.cpython-312.pyc +0 -0
  987. package/env/lib/python3.12/site-packages/setuptools/__pycache__/_reqs.cpython-312.pyc +0 -0
  988. package/env/lib/python3.12/site-packages/setuptools/__pycache__/archive_util.cpython-312.pyc +0 -0
  989. package/env/lib/python3.12/site-packages/setuptools/__pycache__/build_meta.cpython-312.pyc +0 -0
  990. package/env/lib/python3.12/site-packages/setuptools/__pycache__/depends.cpython-312.pyc +0 -0
  991. package/env/lib/python3.12/site-packages/setuptools/__pycache__/discovery.cpython-312.pyc +0 -0
  992. package/env/lib/python3.12/site-packages/setuptools/__pycache__/dist.cpython-312.pyc +0 -0
  993. package/env/lib/python3.12/site-packages/setuptools/__pycache__/errors.cpython-312.pyc +0 -0
  994. package/env/lib/python3.12/site-packages/setuptools/__pycache__/extension.cpython-312.pyc +0 -0
  995. package/env/lib/python3.12/site-packages/setuptools/__pycache__/glob.cpython-312.pyc +0 -0
  996. package/env/lib/python3.12/site-packages/setuptools/__pycache__/installer.cpython-312.pyc +0 -0
  997. package/env/lib/python3.12/site-packages/setuptools/__pycache__/launch.cpython-312.pyc +0 -0
  998. package/env/lib/python3.12/site-packages/setuptools/__pycache__/logging.cpython-312.pyc +0 -0
  999. package/env/lib/python3.12/site-packages/setuptools/__pycache__/modified.cpython-312.pyc +0 -0
  1000. package/env/lib/python3.12/site-packages/setuptools/__pycache__/monkey.cpython-312.pyc +0 -0
  1001. package/env/lib/python3.12/site-packages/setuptools/__pycache__/msvc.cpython-312.pyc +0 -0
  1002. package/env/lib/python3.12/site-packages/setuptools/__pycache__/namespaces.cpython-312.pyc +0 -0
  1003. package/env/lib/python3.12/site-packages/setuptools/__pycache__/package_index.cpython-312.pyc +0 -0
  1004. package/env/lib/python3.12/site-packages/setuptools/__pycache__/sandbox.cpython-312.pyc +0 -0
  1005. package/env/lib/python3.12/site-packages/setuptools/__pycache__/unicode_utils.cpython-312.pyc +0 -0
  1006. package/env/lib/python3.12/site-packages/setuptools/__pycache__/version.cpython-312.pyc +0 -0
  1007. package/env/lib/python3.12/site-packages/setuptools/__pycache__/warnings.cpython-312.pyc +0 -0
  1008. package/env/lib/python3.12/site-packages/setuptools/__pycache__/wheel.cpython-312.pyc +0 -0
  1009. package/env/lib/python3.12/site-packages/setuptools/__pycache__/windows_support.cpython-312.pyc +0 -0
  1010. package/env/lib/python3.12/site-packages/setuptools/_core_metadata.py +0 -286
  1011. package/env/lib/python3.12/site-packages/setuptools/_distutils/__init__.py +0 -14
  1012. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-312.pyc +0 -0
  1013. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-312.pyc +0 -0
  1014. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-312.pyc +0 -0
  1015. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_itertools.cpython-312.pyc +0 -0
  1016. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_log.cpython-312.pyc +0 -0
  1017. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-312.pyc +0 -0
  1018. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_modified.cpython-312.pyc +0 -0
  1019. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-312.pyc +0 -0
  1020. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-312.pyc +0 -0
  1021. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-312.pyc +0 -0
  1022. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-312.pyc +0 -0
  1023. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-312.pyc +0 -0
  1024. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/config.cpython-312.pyc +0 -0
  1025. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/core.cpython-312.pyc +0 -0
  1026. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-312.pyc +0 -0
  1027. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/debug.cpython-312.pyc +0 -0
  1028. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-312.pyc +0 -0
  1029. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-312.pyc +0 -0
  1030. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dist.cpython-312.pyc +0 -0
  1031. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/errors.cpython-312.pyc +0 -0
  1032. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/extension.cpython-312.pyc +0 -0
  1033. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-312.pyc +0 -0
  1034. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-312.pyc +0 -0
  1035. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-312.pyc +0 -0
  1036. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/log.cpython-312.pyc +0 -0
  1037. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-312.pyc +0 -0
  1038. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-312.pyc +0 -0
  1039. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-312.pyc +0 -0
  1040. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-312.pyc +0 -0
  1041. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-312.pyc +0 -0
  1042. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-312.pyc +0 -0
  1043. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/util.cpython-312.pyc +0 -0
  1044. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/version.cpython-312.pyc +0 -0
  1045. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-312.pyc +0 -0
  1046. package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/zosccompiler.cpython-312.pyc +0 -0
  1047. package/env/lib/python3.12/site-packages/setuptools/_distutils/_collections.py +0 -58
  1048. package/env/lib/python3.12/site-packages/setuptools/_distutils/_functools.py +0 -73
  1049. package/env/lib/python3.12/site-packages/setuptools/_distutils/_itertools.py +0 -52
  1050. package/env/lib/python3.12/site-packages/setuptools/_distutils/_log.py +0 -3
  1051. package/env/lib/python3.12/site-packages/setuptools/_distutils/_macos_compat.py +0 -12
  1052. package/env/lib/python3.12/site-packages/setuptools/_distutils/_modified.py +0 -72
  1053. package/env/lib/python3.12/site-packages/setuptools/_distutils/_msvccompiler.py +0 -568
  1054. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/__init__.py +0 -0
  1055. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  1056. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__init__.py +0 -15
  1057. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1058. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  1059. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  1060. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  1061. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  1062. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1063. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  1064. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  1065. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  1066. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  1067. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  1068. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  1069. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  1070. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1071. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_elffile.py +0 -108
  1072. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_manylinux.py +0 -260
  1073. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_musllinux.py +0 -83
  1074. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_parser.py +0 -356
  1075. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_structures.py +0 -61
  1076. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_tokenizer.py +0 -192
  1077. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/markers.py +0 -252
  1078. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/metadata.py +0 -825
  1079. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/py.typed +0 -0
  1080. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/requirements.py +0 -90
  1081. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/specifiers.py +0 -1017
  1082. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/tags.py +0 -571
  1083. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/utils.py +0 -172
  1084. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/version.py +0 -563
  1085. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE +0 -3
  1086. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE.APACHE +0 -177
  1087. package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE.BSD +0 -23
  1088. package/env/lib/python3.12/site-packages/setuptools/_distutils/archive_util.py +0 -283
  1089. package/env/lib/python3.12/site-packages/setuptools/_distutils/bcppcompiler.py +0 -396
  1090. package/env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py +0 -1255
  1091. package/env/lib/python3.12/site-packages/setuptools/_distutils/cmd.py +0 -439
  1092. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__init__.py +0 -25
  1093. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-312.pyc +0 -0
  1094. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-312.pyc +0 -0
  1095. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-312.pyc +0 -0
  1096. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-312.pyc +0 -0
  1097. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-312.pyc +0 -0
  1098. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-312.pyc +0 -0
  1099. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-312.pyc +0 -0
  1100. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-312.pyc +0 -0
  1101. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-312.pyc +0 -0
  1102. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-312.pyc +0 -0
  1103. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-312.pyc +0 -0
  1104. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-312.pyc +0 -0
  1105. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-312.pyc +0 -0
  1106. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-312.pyc +0 -0
  1107. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-312.pyc +0 -0
  1108. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-312.pyc +0 -0
  1109. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-312.pyc +0 -0
  1110. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-312.pyc +0 -0
  1111. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-312.pyc +0 -0
  1112. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-312.pyc +0 -0
  1113. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-312.pyc +0 -0
  1114. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-312.pyc +0 -0
  1115. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/_framework_compat.py +0 -54
  1116. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist.py +0 -155
  1117. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -140
  1118. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -597
  1119. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build.py +0 -156
  1120. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_clib.py +0 -208
  1121. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py +0 -797
  1122. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_py.py +0 -406
  1123. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_scripts.py +0 -170
  1124. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/check.py +0 -154
  1125. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1126. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/config.py +0 -369
  1127. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install.py +0 -810
  1128. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_data.py +0 -94
  1129. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -92
  1130. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_headers.py +0 -44
  1131. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_lib.py +0 -234
  1132. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_scripts.py +0 -61
  1133. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/register.py +0 -322
  1134. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py +0 -527
  1135. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/upload.py +0 -208
  1136. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-10.0-amd64.exe +0 -0
  1137. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-10.0.exe +0 -0
  1138. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-14.0-amd64.exe +0 -0
  1139. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-14.0.exe +0 -0
  1140. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-6.0.exe +0 -0
  1141. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-7.1.exe +0 -0
  1142. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-8.0.exe +0 -0
  1143. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-9.0-amd64.exe +0 -0
  1144. package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-9.0.exe +0 -0
  1145. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__init__.py +0 -15
  1146. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1147. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1148. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1149. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/py38.py +0 -34
  1150. package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/py39.py +0 -66
  1151. package/env/lib/python3.12/site-packages/setuptools/_distutils/config.py +0 -151
  1152. package/env/lib/python3.12/site-packages/setuptools/_distutils/core.py +0 -287
  1153. package/env/lib/python3.12/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -334
  1154. package/env/lib/python3.12/site-packages/setuptools/_distutils/debug.py +0 -5
  1155. package/env/lib/python3.12/site-packages/setuptools/_distutils/dep_util.py +0 -14
  1156. package/env/lib/python3.12/site-packages/setuptools/_distutils/dir_util.py +0 -238
  1157. package/env/lib/python3.12/site-packages/setuptools/_distutils/dist.py +0 -1298
  1158. package/env/lib/python3.12/site-packages/setuptools/_distutils/errors.py +0 -127
  1159. package/env/lib/python3.12/site-packages/setuptools/_distutils/extension.py +0 -247
  1160. package/env/lib/python3.12/site-packages/setuptools/_distutils/fancy_getopt.py +0 -469
  1161. package/env/lib/python3.12/site-packages/setuptools/_distutils/file_util.py +0 -235
  1162. package/env/lib/python3.12/site-packages/setuptools/_distutils/filelist.py +0 -369
  1163. package/env/lib/python3.12/site-packages/setuptools/_distutils/log.py +0 -56
  1164. package/env/lib/python3.12/site-packages/setuptools/_distutils/msvc9compiler.py +0 -822
  1165. package/env/lib/python3.12/site-packages/setuptools/_distutils/msvccompiler.py +0 -687
  1166. package/env/lib/python3.12/site-packages/setuptools/_distutils/spawn.py +0 -117
  1167. package/env/lib/python3.12/site-packages/setuptools/_distutils/sysconfig.py +0 -582
  1168. package/env/lib/python3.12/site-packages/setuptools/_distutils/text_file.py +0 -286
  1169. package/env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py +0 -402
  1170. package/env/lib/python3.12/site-packages/setuptools/_distutils/util.py +0 -504
  1171. package/env/lib/python3.12/site-packages/setuptools/_distutils/version.py +0 -349
  1172. package/env/lib/python3.12/site-packages/setuptools/_distutils/versionpredicate.py +0 -175
  1173. package/env/lib/python3.12/site-packages/setuptools/_distutils/zosccompiler.py +0 -229
  1174. package/env/lib/python3.12/site-packages/setuptools/_entry_points.py +0 -90
  1175. package/env/lib/python3.12/site-packages/setuptools/_imp.py +0 -87
  1176. package/env/lib/python3.12/site-packages/setuptools/_importlib.py +0 -12
  1177. package/env/lib/python3.12/site-packages/setuptools/_itertools.py +0 -23
  1178. package/env/lib/python3.12/site-packages/setuptools/_normalization.py +0 -144
  1179. package/env/lib/python3.12/site-packages/setuptools/_path.py +0 -87
  1180. package/env/lib/python3.12/site-packages/setuptools/_reqs.py +0 -43
  1181. package/env/lib/python3.12/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  1182. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__init__.py +0 -27
  1183. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/__init__.cpython-312.pyc +0 -0
  1184. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autoasync.cpython-312.pyc +0 -0
  1185. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autocommand.cpython-312.pyc +0 -0
  1186. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/automain.cpython-312.pyc +0 -0
  1187. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autoparse.cpython-312.pyc +0 -0
  1188. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/errors.cpython-312.pyc +0 -0
  1189. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autoasync.py +0 -142
  1190. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autocommand.py +0 -70
  1191. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/automain.py +0 -59
  1192. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autoparse.py +0 -333
  1193. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/errors.py +0 -23
  1194. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/INSTALLER +0 -1
  1195. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/LICENSE +0 -166
  1196. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/METADATA +0 -420
  1197. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/RECORD +0 -18
  1198. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/WHEEL +0 -5
  1199. package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/top_level.txt +0 -1
  1200. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/__init__.py +0 -1
  1201. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  1202. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +0 -2937
  1203. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +0 -5
  1204. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__init__.cpython-312.pyc +0 -0
  1205. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__main__.cpython-312.pyc +0 -0
  1206. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py +0 -0
  1207. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1208. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1209. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +0 -24
  1210. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/INSTALLER +0 -1
  1211. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/LICENSE +0 -17
  1212. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/METADATA +0 -46
  1213. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/RECORD +0 -17
  1214. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/REQUESTED +0 -0
  1215. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/WHEEL +0 -5
  1216. package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/top_level.txt +0 -1
  1217. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +0 -1083
  1218. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  1219. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-312.pyc +0 -0
  1220. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-312.pyc +0 -0
  1221. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-312.pyc +0 -0
  1222. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-312.pyc +0 -0
  1223. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-312.pyc +0 -0
  1224. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-312.pyc +0 -0
  1225. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-312.pyc +0 -0
  1226. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/diagnose.cpython-312.pyc +0 -0
  1227. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +0 -83
  1228. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +0 -30
  1229. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +0 -57
  1230. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +0 -104
  1231. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +0 -73
  1232. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +0 -67
  1233. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_text.py +0 -99
  1234. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py +0 -0
  1235. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1236. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py311.cpython-312.pyc +0 -0
  1237. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1238. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +0 -22
  1239. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +0 -36
  1240. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +0 -21
  1241. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
  1242. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/INSTALLER +0 -1
  1243. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/LICENSE +0 -202
  1244. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/METADATA +0 -129
  1245. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/RECORD +0 -32
  1246. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/REQUESTED +0 -0
  1247. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/WHEEL +0 -5
  1248. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/top_level.txt +0 -1
  1249. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  1250. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  1251. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-312.pyc +0 -0
  1252. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-312.pyc +0 -0
  1253. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-312.pyc +0 -0
  1254. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-312.pyc +0 -0
  1255. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/functional.cpython-312.pyc +0 -0
  1256. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-312.pyc +0 -0
  1257. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-312.pyc +0 -0
  1258. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
  1259. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
  1260. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
  1261. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
  1262. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
  1263. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1264. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1265. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1266. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
  1267. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
  1268. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
  1269. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
  1270. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/__init__.cpython-312.pyc +0 -0
  1271. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/adapters.cpython-312.pyc +0 -0
  1272. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
  1273. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/py.typed +0 -0
  1274. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
  1275. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
  1276. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/INSTALLER +0 -1
  1277. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/LICENSE +0 -202
  1278. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/METADATA +0 -100
  1279. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/RECORD +0 -89
  1280. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/REQUESTED +0 -0
  1281. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/WHEEL +0 -5
  1282. package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/top_level.txt +0 -1
  1283. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/__init__.py +0 -3986
  1284. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/__pycache__/__init__.cpython-312.pyc +0 -0
  1285. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
  1286. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1287. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__pycache__/py38.cpython-312.pyc +0 -0
  1288. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/py38.py +0 -7
  1289. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
  1290. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/INSTALLER +0 -1
  1291. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/LICENSE +0 -17
  1292. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/METADATA +0 -591
  1293. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/RECORD +0 -13
  1294. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/WHEEL +0 -5
  1295. package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/top_level.txt +0 -1
  1296. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/__pycache__/context.cpython-312.pyc +0 -0
  1297. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/context.py +0 -361
  1298. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +0 -633
  1299. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +0 -125
  1300. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__pycache__/__init__.cpython-312.pyc +0 -0
  1301. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
  1302. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
  1303. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__init__.py +0 -624
  1304. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/__init__.cpython-312.pyc +0 -0
  1305. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/layouts.cpython-312.pyc +0 -0
  1306. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/show-newlines.cpython-312.pyc +0 -0
  1307. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/strip-prefix.cpython-312.pyc +0 -0
  1308. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/to-dvorak.cpython-312.pyc +0 -0
  1309. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/to-qwerty.cpython-312.pyc +0 -0
  1310. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/layouts.py +0 -25
  1311. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +0 -33
  1312. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +0 -21
  1313. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +0 -6
  1314. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +0 -6
  1315. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/INSTALLER +0 -1
  1316. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/LICENSE +0 -17
  1317. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/METADATA +0 -75
  1318. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/RECORD +0 -8
  1319. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/WHEEL +0 -5
  1320. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/top_level.txt +0 -1
  1321. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/INSTALLER +0 -1
  1322. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/LICENSE +0 -17
  1323. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/METADATA +0 -64
  1324. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/RECORD +0 -10
  1325. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/WHEEL +0 -5
  1326. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/top_level.txt +0 -1
  1327. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/INSTALLER +0 -1
  1328. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/LICENSE +0 -17
  1329. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/METADATA +0 -95
  1330. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/RECORD +0 -20
  1331. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/REQUESTED +0 -0
  1332. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/WHEEL +0 -5
  1333. package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/top_level.txt +0 -1
  1334. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -6
  1335. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +0 -2
  1336. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-312.pyc +0 -0
  1337. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-312.pyc +0 -0
  1338. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-312.pyc +0 -0
  1339. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/more.py +0 -4806
  1340. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/more.pyi +0 -709
  1341. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
  1342. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -1046
  1343. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +0 -136
  1344. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/INSTALLER +0 -1
  1345. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/LICENSE +0 -19
  1346. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/METADATA +0 -266
  1347. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/RECORD +0 -16
  1348. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/REQUESTED +0 -0
  1349. package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/WHEEL +0 -4
  1350. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__init__.py +0 -15
  1351. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1352. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  1353. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  1354. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  1355. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  1356. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1357. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  1358. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  1359. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  1360. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  1361. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  1362. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  1363. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  1364. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1365. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_elffile.py +0 -110
  1366. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -262
  1367. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -85
  1368. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_parser.py +0 -354
  1369. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_structures.py +0 -61
  1370. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_tokenizer.py +0 -194
  1371. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/markers.py +0 -325
  1372. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/metadata.py +0 -804
  1373. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
  1374. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/requirements.py +0 -91
  1375. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -1009
  1376. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/tags.py +0 -568
  1377. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/utils.py +0 -174
  1378. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/version.py +0 -563
  1379. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/INSTALLER +0 -1
  1380. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE +0 -3
  1381. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE.APACHE +0 -177
  1382. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE.BSD +0 -23
  1383. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/METADATA +0 -102
  1384. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/RECORD +0 -37
  1385. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/REQUESTED +0 -0
  1386. package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/WHEEL +0 -4
  1387. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__init__.py +0 -627
  1388. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__main__.py +0 -55
  1389. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  1390. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  1391. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  1392. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  1393. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  1394. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  1395. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  1396. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  1397. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/android.py +0 -249
  1398. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/api.py +0 -292
  1399. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/macos.py +0 -130
  1400. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
  1401. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/unix.py +0 -275
  1402. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/version.py +0 -16
  1403. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/windows.py +0 -272
  1404. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/INSTALLER +0 -1
  1405. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/METADATA +0 -319
  1406. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/RECORD +0 -23
  1407. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/REQUESTED +0 -0
  1408. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/WHEEL +0 -4
  1409. package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/licenses/LICENSE +0 -21
  1410. package/env/lib/python3.12/site-packages/setuptools/_vendor/ruff.toml +0 -1
  1411. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__init__.py +0 -11
  1412. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  1413. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  1414. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  1415. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  1416. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_parser.py +0 -691
  1417. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_re.py +0 -107
  1418. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_types.py +0 -10
  1419. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/py.typed +0 -1
  1420. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/INSTALLER +0 -1
  1421. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/LICENSE +0 -21
  1422. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/METADATA +0 -206
  1423. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/RECORD +0 -15
  1424. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/REQUESTED +0 -0
  1425. package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/WHEEL +0 -4
  1426. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__init__.py +0 -48
  1427. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/__init__.cpython-312.pyc +0 -0
  1428. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_checkers.cpython-312.pyc +0 -0
  1429. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_config.cpython-312.pyc +0 -0
  1430. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_decorators.cpython-312.pyc +0 -0
  1431. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_exceptions.cpython-312.pyc +0 -0
  1432. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_functions.cpython-312.pyc +0 -0
  1433. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_importhook.cpython-312.pyc +0 -0
  1434. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_memo.cpython-312.pyc +0 -0
  1435. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_pytest_plugin.cpython-312.pyc +0 -0
  1436. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_suppression.cpython-312.pyc +0 -0
  1437. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_transformer.cpython-312.pyc +0 -0
  1438. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_union_transformer.cpython-312.pyc +0 -0
  1439. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_utils.cpython-312.pyc +0 -0
  1440. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_checkers.py +0 -993
  1441. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_config.py +0 -108
  1442. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_decorators.py +0 -235
  1443. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_exceptions.py +0 -42
  1444. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_functions.py +0 -308
  1445. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_importhook.py +0 -213
  1446. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_memo.py +0 -48
  1447. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +0 -127
  1448. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_suppression.py +0 -86
  1449. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_transformer.py +0 -1229
  1450. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +0 -55
  1451. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_utils.py +0 -173
  1452. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
  1453. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/INSTALLER +0 -1
  1454. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/LICENSE +0 -19
  1455. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/METADATA +0 -81
  1456. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/RECORD +0 -34
  1457. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/WHEEL +0 -5
  1458. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/entry_points.txt +0 -2
  1459. package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/top_level.txt +0 -1
  1460. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/INSTALLER +0 -1
  1461. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1462. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1463. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/RECORD +0 -7
  1464. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1465. package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions.py +0 -3641
  1466. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__init__.py +0 -3
  1467. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__main__.py +0 -23
  1468. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/__init__.cpython-312.pyc +0 -0
  1469. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/__main__.cpython-312.pyc +0 -0
  1470. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/_setuptools_logging.cpython-312.pyc +0 -0
  1471. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/bdist_wheel.cpython-312.pyc +0 -0
  1472. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/macosx_libfile.cpython-312.pyc +0 -0
  1473. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/metadata.cpython-312.pyc +0 -0
  1474. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/util.cpython-312.pyc +0 -0
  1475. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/wheelfile.cpython-312.pyc +0 -0
  1476. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +0 -26
  1477. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +0 -595
  1478. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__init__.py +0 -155
  1479. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1480. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/convert.cpython-312.pyc +0 -0
  1481. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/pack.cpython-312.pyc +0 -0
  1482. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/tags.cpython-312.pyc +0 -0
  1483. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/unpack.cpython-312.pyc +0 -0
  1484. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/convert.py +0 -273
  1485. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/pack.py +0 -85
  1486. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/tags.py +0 -139
  1487. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/unpack.py +0 -30
  1488. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +0 -469
  1489. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/metadata.py +0 -180
  1490. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/util.py +0 -26
  1491. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
  1492. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__pycache__/__init__.cpython-312.pyc +0 -0
  1493. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
  1494. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1495. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  1496. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  1497. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  1498. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  1499. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1500. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  1501. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  1502. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  1503. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  1504. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  1505. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  1506. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1507. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +0 -108
  1508. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +0 -260
  1509. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +0 -83
  1510. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +0 -356
  1511. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +0 -61
  1512. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +0 -192
  1513. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +0 -253
  1514. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +0 -90
  1515. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +0 -1011
  1516. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +0 -571
  1517. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +0 -172
  1518. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +0 -561
  1519. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/vendor.txt +0 -1
  1520. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/wheelfile.py +0 -196
  1521. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/INSTALLER +0 -1
  1522. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/LICENSE.txt +0 -21
  1523. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/METADATA +0 -61
  1524. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/RECORD +0 -63
  1525. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/REQUESTED +0 -0
  1526. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/WHEEL +0 -4
  1527. package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/entry_points.txt +0 -6
  1528. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__init__.py +0 -501
  1529. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__pycache__/__init__.cpython-312.pyc +0 -0
  1530. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__pycache__/glob.cpython-312.pyc +0 -0
  1531. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
  1532. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1533. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__pycache__/py310.cpython-312.pyc +0 -0
  1534. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/py310.py +0 -11
  1535. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/glob.py +0 -106
  1536. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/INSTALLER +0 -1
  1537. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/LICENSE +0 -17
  1538. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/METADATA +0 -102
  1539. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/RECORD +0 -15
  1540. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/REQUESTED +0 -0
  1541. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/WHEEL +0 -5
  1542. package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/top_level.txt +0 -1
  1543. package/env/lib/python3.12/site-packages/setuptools/archive_util.py +0 -217
  1544. package/env/lib/python3.12/site-packages/setuptools/build_meta.py +0 -529
  1545. package/env/lib/python3.12/site-packages/setuptools/cli-32.exe +0 -0
  1546. package/env/lib/python3.12/site-packages/setuptools/cli-64.exe +0 -0
  1547. package/env/lib/python3.12/site-packages/setuptools/cli-arm64.exe +0 -0
  1548. package/env/lib/python3.12/site-packages/setuptools/cli.exe +0 -0
  1549. package/env/lib/python3.12/site-packages/setuptools/command/__init__.py +0 -13
  1550. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/__init__.cpython-312.pyc +0 -0
  1551. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/_requirestxt.cpython-312.pyc +0 -0
  1552. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/alias.cpython-312.pyc +0 -0
  1553. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-312.pyc +0 -0
  1554. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-312.pyc +0 -0
  1555. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_wheel.cpython-312.pyc +0 -0
  1556. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build.cpython-312.pyc +0 -0
  1557. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_clib.cpython-312.pyc +0 -0
  1558. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_ext.cpython-312.pyc +0 -0
  1559. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_py.cpython-312.pyc +0 -0
  1560. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/develop.cpython-312.pyc +0 -0
  1561. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/dist_info.cpython-312.pyc +0 -0
  1562. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/easy_install.cpython-312.pyc +0 -0
  1563. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/editable_wheel.cpython-312.pyc +0 -0
  1564. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/egg_info.cpython-312.pyc +0 -0
  1565. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install.cpython-312.pyc +0 -0
  1566. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-312.pyc +0 -0
  1567. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_lib.cpython-312.pyc +0 -0
  1568. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_scripts.cpython-312.pyc +0 -0
  1569. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/register.cpython-312.pyc +0 -0
  1570. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/rotate.cpython-312.pyc +0 -0
  1571. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/saveopts.cpython-312.pyc +0 -0
  1572. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/sdist.cpython-312.pyc +0 -0
  1573. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/setopt.cpython-312.pyc +0 -0
  1574. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/test.cpython-312.pyc +0 -0
  1575. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/upload.cpython-312.pyc +0 -0
  1576. package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/upload_docs.cpython-312.pyc +0 -0
  1577. package/env/lib/python3.12/site-packages/setuptools/command/_requirestxt.py +0 -131
  1578. package/env/lib/python3.12/site-packages/setuptools/command/alias.py +0 -78
  1579. package/env/lib/python3.12/site-packages/setuptools/command/bdist_egg.py +0 -465
  1580. package/env/lib/python3.12/site-packages/setuptools/command/bdist_rpm.py +0 -42
  1581. package/env/lib/python3.12/site-packages/setuptools/command/bdist_wheel.py +0 -621
  1582. package/env/lib/python3.12/site-packages/setuptools/command/build.py +0 -129
  1583. package/env/lib/python3.12/site-packages/setuptools/command/build_clib.py +0 -108
  1584. package/env/lib/python3.12/site-packages/setuptools/command/build_ext.py +0 -462
  1585. package/env/lib/python3.12/site-packages/setuptools/command/build_py.py +0 -404
  1586. package/env/lib/python3.12/site-packages/setuptools/command/develop.py +0 -195
  1587. package/env/lib/python3.12/site-packages/setuptools/command/dist_info.py +0 -107
  1588. package/env/lib/python3.12/site-packages/setuptools/command/easy_install.py +0 -2364
  1589. package/env/lib/python3.12/site-packages/setuptools/command/editable_wheel.py +0 -899
  1590. package/env/lib/python3.12/site-packages/setuptools/command/egg_info.py +0 -727
  1591. package/env/lib/python3.12/site-packages/setuptools/command/install.py +0 -165
  1592. package/env/lib/python3.12/site-packages/setuptools/command/install_egg_info.py +0 -58
  1593. package/env/lib/python3.12/site-packages/setuptools/command/install_lib.py +0 -134
  1594. package/env/lib/python3.12/site-packages/setuptools/command/install_scripts.py +0 -73
  1595. package/env/lib/python3.12/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1596. package/env/lib/python3.12/site-packages/setuptools/command/register.py +0 -22
  1597. package/env/lib/python3.12/site-packages/setuptools/command/rotate.py +0 -65
  1598. package/env/lib/python3.12/site-packages/setuptools/command/saveopts.py +0 -21
  1599. package/env/lib/python3.12/site-packages/setuptools/command/sdist.py +0 -207
  1600. package/env/lib/python3.12/site-packages/setuptools/command/setopt.py +0 -141
  1601. package/env/lib/python3.12/site-packages/setuptools/command/test.py +0 -42
  1602. package/env/lib/python3.12/site-packages/setuptools/command/upload.py +0 -20
  1603. package/env/lib/python3.12/site-packages/setuptools/command/upload_docs.py +0 -221
  1604. package/env/lib/python3.12/site-packages/setuptools/compat/__init__.py +0 -0
  1605. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  1606. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py310.cpython-312.pyc +0 -0
  1607. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py311.cpython-312.pyc +0 -0
  1608. package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py39.cpython-312.pyc +0 -0
  1609. package/env/lib/python3.12/site-packages/setuptools/compat/py310.py +0 -9
  1610. package/env/lib/python3.12/site-packages/setuptools/compat/py311.py +0 -27
  1611. package/env/lib/python3.12/site-packages/setuptools/compat/py39.py +0 -9
  1612. package/env/lib/python3.12/site-packages/setuptools/config/NOTICE +0 -10
  1613. package/env/lib/python3.12/site-packages/setuptools/config/__init__.py +0 -43
  1614. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/__init__.cpython-312.pyc +0 -0
  1615. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/_apply_pyprojecttoml.cpython-312.pyc +0 -0
  1616. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/expand.cpython-312.pyc +0 -0
  1617. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-312.pyc +0 -0
  1618. package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/setupcfg.cpython-312.pyc +0 -0
  1619. package/env/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py +0 -439
  1620. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/NOTICE +0 -438
  1621. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__init__.py +0 -34
  1622. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/__init__.cpython-312.pyc +0 -0
  1623. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/error_reporting.cpython-312.pyc +0 -0
  1624. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/extra_validations.cpython-312.pyc +0 -0
  1625. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-312.pyc +0 -0
  1626. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-312.pyc +0 -0
  1627. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/formats.cpython-312.pyc +0 -0
  1628. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +0 -336
  1629. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +0 -52
  1630. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +0 -51
  1631. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +0 -1104
  1632. package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/formats.py +0 -375
  1633. package/env/lib/python3.12/site-packages/setuptools/config/distutils.schema.json +0 -26
  1634. package/env/lib/python3.12/site-packages/setuptools/config/expand.py +0 -436
  1635. package/env/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py +0 -453
  1636. package/env/lib/python3.12/site-packages/setuptools/config/setupcfg.py +0 -777
  1637. package/env/lib/python3.12/site-packages/setuptools/config/setuptools.schema.json +0 -352
  1638. package/env/lib/python3.12/site-packages/setuptools/depends.py +0 -166
  1639. package/env/lib/python3.12/site-packages/setuptools/discovery.py +0 -607
  1640. package/env/lib/python3.12/site-packages/setuptools/dist.py +0 -953
  1641. package/env/lib/python3.12/site-packages/setuptools/errors.py +0 -65
  1642. package/env/lib/python3.12/site-packages/setuptools/extension.py +0 -163
  1643. package/env/lib/python3.12/site-packages/setuptools/glob.py +0 -165
  1644. package/env/lib/python3.12/site-packages/setuptools/gui-32.exe +0 -0
  1645. package/env/lib/python3.12/site-packages/setuptools/gui-64.exe +0 -0
  1646. package/env/lib/python3.12/site-packages/setuptools/gui-arm64.exe +0 -0
  1647. package/env/lib/python3.12/site-packages/setuptools/gui.exe +0 -0
  1648. package/env/lib/python3.12/site-packages/setuptools/installer.py +0 -145
  1649. package/env/lib/python3.12/site-packages/setuptools/launch.py +0 -36
  1650. package/env/lib/python3.12/site-packages/setuptools/logging.py +0 -40
  1651. package/env/lib/python3.12/site-packages/setuptools/modified.py +0 -8
  1652. package/env/lib/python3.12/site-packages/setuptools/monkey.py +0 -156
  1653. package/env/lib/python3.12/site-packages/setuptools/msvc.py +0 -1748
  1654. package/env/lib/python3.12/site-packages/setuptools/namespaces.py +0 -105
  1655. package/env/lib/python3.12/site-packages/setuptools/package_index.py +0 -1148
  1656. package/env/lib/python3.12/site-packages/setuptools/sandbox.py +0 -514
  1657. package/env/lib/python3.12/site-packages/setuptools/script (dev).tmpl +0 -6
  1658. package/env/lib/python3.12/site-packages/setuptools/script.tmpl +0 -3
  1659. package/env/lib/python3.12/site-packages/setuptools/unicode_utils.py +0 -102
  1660. package/env/lib/python3.12/site-packages/setuptools/version.py +0 -6
  1661. package/env/lib/python3.12/site-packages/setuptools/warnings.py +0 -107
  1662. package/env/lib/python3.12/site-packages/setuptools/wheel.py +0 -236
  1663. package/env/lib/python3.12/site-packages/setuptools/windows_support.py +0 -30
  1664. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/INSTALLER +0 -1
  1665. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/LICENSE +0 -17
  1666. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/METADATA +0 -136
  1667. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/RECORD +0 -1007
  1668. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/REQUESTED +0 -0
  1669. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/WHEEL +0 -5
  1670. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/entry_points.txt +0 -52
  1671. package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/top_level.txt +0 -3
  1672. 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