morel-theme-pack 0.1.31 → 0.1.321

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 (1496) hide show
  1. checksums.yaml +4 -4
  2. data/assets/env.zip +0 -0
  3. metadata +2 -1494
  4. data/assets/.fuse_hidden00000b4c00000001 +0 -0
  5. data/assets/.fuse_hidden00000b4c00000003 +0 -0
  6. data/assets/checklist.text +0 -9
  7. data/assets/env/bin/Activate.ps1 +0 -247
  8. data/assets/env/bin/activate +0 -69
  9. data/assets/env/bin/activate.csh +0 -26
  10. data/assets/env/bin/activate.fish +0 -69
  11. data/assets/env/bin/pip +0 -10
  12. data/assets/env/bin/pip3 +0 -10
  13. data/assets/env/bin/pip3.10 +0 -10
  14. data/assets/env/bin/python +0 -1
  15. data/assets/env/bin/python3 +0 -1
  16. data/assets/env/bin/python3.10 +0 -1
  17. data/assets/env/lib/python3.10/site-packages/_distutils_hack/__init__.py +0 -222
  18. data/assets/env/lib/python3.10/site-packages/_distutils_hack/__pycache__/__init__.cpython-310.pyc +0 -0
  19. data/assets/env/lib/python3.10/site-packages/_distutils_hack/__pycache__/override.cpython-310.pyc +0 -0
  20. data/assets/env/lib/python3.10/site-packages/_distutils_hack/override.py +0 -1
  21. data/assets/env/lib/python3.10/site-packages/distutils-precedence.pth +0 -1
  22. data/assets/env/lib/python3.10/site-packages/pip/__init__.py +0 -13
  23. data/assets/env/lib/python3.10/site-packages/pip/__main__.py +0 -31
  24. data/assets/env/lib/python3.10/site-packages/pip/__pip-runner__.py +0 -50
  25. data/assets/env/lib/python3.10/site-packages/pip/__pycache__/__init__.cpython-310.pyc +0 -0
  26. data/assets/env/lib/python3.10/site-packages/pip/__pycache__/__main__.cpython-310.pyc +0 -0
  27. data/assets/env/lib/python3.10/site-packages/pip/__pycache__/__pip-runner__.cpython-310.pyc +0 -0
  28. data/assets/env/lib/python3.10/site-packages/pip/_internal/__init__.py +0 -19
  29. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/__init__.cpython-310.pyc +0 -0
  30. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/build_env.cpython-310.pyc +0 -0
  31. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/cache.cpython-310.pyc +0 -0
  32. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/configuration.cpython-310.pyc +0 -0
  33. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/exceptions.cpython-310.pyc +0 -0
  34. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/main.cpython-310.pyc +0 -0
  35. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/pyproject.cpython-310.pyc +0 -0
  36. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-310.pyc +0 -0
  37. data/assets/env/lib/python3.10/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-310.pyc +0 -0
  38. data/assets/env/lib/python3.10/site-packages/pip/_internal/build_env.py +0 -310
  39. data/assets/env/lib/python3.10/site-packages/pip/_internal/cache.py +0 -293
  40. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__init__.py +0 -4
  41. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  42. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-310.pyc +0 -0
  43. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-310.pyc +0 -0
  44. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-310.pyc +0 -0
  45. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-310.pyc +0 -0
  46. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/main.cpython-310.pyc +0 -0
  47. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-310.pyc +0 -0
  48. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/parser.cpython-310.pyc +0 -0
  49. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-310.pyc +0 -0
  50. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-310.pyc +0 -0
  51. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-310.pyc +0 -0
  52. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-310.pyc +0 -0
  53. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/autocompletion.py +0 -171
  54. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/base_command.py +0 -216
  55. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/cmdoptions.py +0 -1049
  56. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/command_context.py +0 -27
  57. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/main.py +0 -70
  58. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/main_parser.py +0 -134
  59. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/parser.py +0 -294
  60. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py +0 -68
  61. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/req_command.py +0 -502
  62. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/spinners.py +0 -159
  63. data/assets/env/lib/python3.10/site-packages/pip/_internal/cli/status_codes.py +0 -6
  64. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__init__.py +0 -132
  65. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-310.pyc +0 -0
  66. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/cache.cpython-310.pyc +0 -0
  67. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/check.cpython-310.pyc +0 -0
  68. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/completion.cpython-310.pyc +0 -0
  69. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-310.pyc +0 -0
  70. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/debug.cpython-310.pyc +0 -0
  71. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/download.cpython-310.pyc +0 -0
  72. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-310.pyc +0 -0
  73. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/hash.cpython-310.pyc +0 -0
  74. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/help.cpython-310.pyc +0 -0
  75. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/index.cpython-310.pyc +0 -0
  76. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-310.pyc +0 -0
  77. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/install.cpython-310.pyc +0 -0
  78. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/list.cpython-310.pyc +0 -0
  79. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/search.cpython-310.pyc +0 -0
  80. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/show.cpython-310.pyc +0 -0
  81. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-310.pyc +0 -0
  82. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-310.pyc +0 -0
  83. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/cache.py +0 -223
  84. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/check.py +0 -53
  85. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/completion.py +0 -126
  86. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/configuration.py +0 -282
  87. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/debug.py +0 -199
  88. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/download.py +0 -149
  89. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/freeze.py +0 -97
  90. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/hash.py +0 -59
  91. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/help.py +0 -41
  92. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/index.py +0 -138
  93. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/inspect.py +0 -97
  94. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/install.py +0 -860
  95. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/list.py +0 -365
  96. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/search.py +0 -174
  97. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/show.py +0 -183
  98. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/uninstall.py +0 -106
  99. data/assets/env/lib/python3.10/site-packages/pip/_internal/commands/wheel.py +0 -203
  100. data/assets/env/lib/python3.10/site-packages/pip/_internal/configuration.py +0 -374
  101. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/__init__.py +0 -21
  102. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-310.pyc +0 -0
  103. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/__pycache__/base.cpython-310.pyc +0 -0
  104. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-310.pyc +0 -0
  105. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-310.pyc +0 -0
  106. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-310.pyc +0 -0
  107. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/base.py +0 -39
  108. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/installed.py +0 -23
  109. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py +0 -150
  110. data/assets/env/lib/python3.10/site-packages/pip/_internal/distributions/wheel.py +0 -34
  111. data/assets/env/lib/python3.10/site-packages/pip/_internal/exceptions.py +0 -660
  112. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/__init__.py +0 -2
  113. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/__pycache__/__init__.cpython-310.pyc +0 -0
  114. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/__pycache__/collector.cpython-310.pyc +0 -0
  115. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-310.pyc +0 -0
  116. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/__pycache__/sources.cpython-310.pyc +0 -0
  117. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/collector.py +0 -505
  118. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/package_finder.py +0 -1025
  119. data/assets/env/lib/python3.10/site-packages/pip/_internal/index/sources.py +0 -224
  120. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/__init__.py +0 -528
  121. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-310.pyc +0 -0
  122. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-310.pyc +0 -0
  123. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-310.pyc +0 -0
  124. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/__pycache__/base.cpython-310.pyc +0 -0
  125. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/_distutils.py +0 -180
  126. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/_sysconfig.py +0 -218
  127. data/assets/env/lib/python3.10/site-packages/pip/_internal/locations/base.py +0 -81
  128. data/assets/env/lib/python3.10/site-packages/pip/_internal/main.py +0 -12
  129. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/__init__.py +0 -127
  130. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-310.pyc +0 -0
  131. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-310.pyc +0 -0
  132. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/__pycache__/base.cpython-310.pyc +0 -0
  133. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-310.pyc +0 -0
  134. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/_json.py +0 -84
  135. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/base.py +0 -688
  136. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -4
  137. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-310.pyc +0 -0
  138. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-310.pyc +0 -0
  139. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-310.pyc +0 -0
  140. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-310.pyc +0 -0
  141. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -55
  142. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -224
  143. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -188
  144. data/assets/env/lib/python3.10/site-packages/pip/_internal/metadata/pkg_resources.py +0 -270
  145. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__init__.py +0 -2
  146. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/__init__.cpython-310.pyc +0 -0
  147. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/candidate.cpython-310.pyc +0 -0
  148. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-310.pyc +0 -0
  149. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/format_control.cpython-310.pyc +0 -0
  150. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/index.cpython-310.pyc +0 -0
  151. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-310.pyc +0 -0
  152. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/link.cpython-310.pyc +0 -0
  153. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/scheme.cpython-310.pyc +0 -0
  154. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-310.pyc +0 -0
  155. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-310.pyc +0 -0
  156. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/target_python.cpython-310.pyc +0 -0
  157. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/__pycache__/wheel.cpython-310.pyc +0 -0
  158. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/candidate.py +0 -34
  159. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/direct_url.py +0 -212
  160. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/format_control.py +0 -80
  161. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/index.py +0 -28
  162. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/installation_report.py +0 -53
  163. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/link.py +0 -507
  164. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/scheme.py +0 -31
  165. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/search_scope.py +0 -133
  166. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/selection_prefs.py +0 -51
  167. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/target_python.py +0 -110
  168. data/assets/env/lib/python3.10/site-packages/pip/_internal/models/wheel.py +0 -92
  169. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__init__.py +0 -2
  170. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/__init__.cpython-310.pyc +0 -0
  171. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/auth.cpython-310.pyc +0 -0
  172. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/cache.cpython-310.pyc +0 -0
  173. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/download.cpython-310.pyc +0 -0
  174. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-310.pyc +0 -0
  175. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/session.cpython-310.pyc +0 -0
  176. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/utils.cpython-310.pyc +0 -0
  177. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-310.pyc +0 -0
  178. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/auth.py +0 -323
  179. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/cache.py +0 -69
  180. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/download.py +0 -186
  181. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  182. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/session.py +0 -518
  183. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/utils.py +0 -96
  184. data/assets/env/lib/python3.10/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  185. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/__init__.py +0 -0
  186. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-310.pyc +0 -0
  187. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/__pycache__/check.cpython-310.pyc +0 -0
  188. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-310.pyc +0 -0
  189. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-310.pyc +0 -0
  190. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  191. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-310.pyc +0 -0
  192. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-310.pyc +0 -0
  193. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-310.pyc +0 -0
  194. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-310.pyc +0 -0
  195. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-310.pyc +0 -0
  196. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-310.pyc +0 -0
  197. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-310.pyc +0 -0
  198. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-310.pyc +0 -0
  199. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/build_tracker.py +0 -124
  200. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  201. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  202. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  203. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  204. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  205. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  206. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/check.py +0 -149
  207. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/freeze.py +0 -254
  208. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  209. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-310.pyc +0 -0
  210. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-310.pyc +0 -0
  211. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-310.pyc +0 -0
  212. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-310.pyc +0 -0
  213. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  214. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/legacy.py +0 -120
  215. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/install/wheel.py +0 -738
  216. data/assets/env/lib/python3.10/site-packages/pip/_internal/operations/prepare.py +0 -667
  217. data/assets/env/lib/python3.10/site-packages/pip/_internal/pyproject.py +0 -175
  218. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__init__.py +0 -94
  219. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__pycache__/__init__.cpython-310.pyc +0 -0
  220. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__pycache__/constructors.cpython-310.pyc +0 -0
  221. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__pycache__/req_file.cpython-310.pyc +0 -0
  222. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__pycache__/req_install.cpython-310.pyc +0 -0
  223. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__pycache__/req_set.cpython-310.pyc +0 -0
  224. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-310.pyc +0 -0
  225. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/constructors.py +0 -501
  226. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/req_file.py +0 -544
  227. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/req_install.py +0 -942
  228. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/req_set.py +0 -82
  229. data/assets/env/lib/python3.10/site-packages/pip/_internal/req/req_uninstall.py +0 -640
  230. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/__init__.py +0 -0
  231. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-310.pyc +0 -0
  232. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/__pycache__/base.cpython-310.pyc +0 -0
  233. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/base.py +0 -20
  234. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  235. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-310.pyc +0 -0
  236. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-310.pyc +0 -0
  237. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -600
  238. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  239. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-310.pyc +0 -0
  240. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-310.pyc +0 -0
  241. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-310.pyc +0 -0
  242. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-310.pyc +0 -0
  243. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-310.pyc +0 -0
  244. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-310.pyc +0 -0
  245. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-310.pyc +0 -0
  246. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-310.pyc +0 -0
  247. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-310.pyc +0 -0
  248. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -141
  249. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -556
  250. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -731
  251. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -155
  252. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -248
  253. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -68
  254. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  255. data/assets/env/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -296
  256. data/assets/env/lib/python3.10/site-packages/pip/_internal/self_outdated_check.py +0 -239
  257. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__init__.py +0 -0
  258. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  259. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/_log.cpython-310.pyc +0 -0
  260. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-310.pyc +0 -0
  261. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/compat.cpython-310.pyc +0 -0
  262. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-310.pyc +0 -0
  263. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-310.pyc +0 -0
  264. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-310.pyc +0 -0
  265. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-310.pyc +0 -0
  266. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-310.pyc +0 -0
  267. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-310.pyc +0 -0
  268. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-310.pyc +0 -0
  269. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-310.pyc +0 -0
  270. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-310.pyc +0 -0
  271. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-310.pyc +0 -0
  272. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-310.pyc +0 -0
  273. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-310.pyc +0 -0
  274. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-310.pyc +0 -0
  275. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/logging.cpython-310.pyc +0 -0
  276. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/misc.cpython-310.pyc +0 -0
  277. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/models.cpython-310.pyc +0 -0
  278. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-310.pyc +0 -0
  279. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-310.pyc +0 -0
  280. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-310.pyc +0 -0
  281. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-310.pyc +0 -0
  282. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-310.pyc +0 -0
  283. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/urls.cpython-310.pyc +0 -0
  284. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-310.pyc +0 -0
  285. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-310.pyc +0 -0
  286. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/_log.py +0 -38
  287. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/appdirs.py +0 -52
  288. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/compat.py +0 -63
  289. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  290. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/datetime.py +0 -11
  291. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/deprecation.py +0 -188
  292. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  293. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/distutils_args.py +0 -43
  294. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/egg_link.py +0 -75
  295. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/encoding.py +0 -36
  296. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/entrypoints.py +0 -84
  297. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/filesystem.py +0 -153
  298. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/filetypes.py +0 -27
  299. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/glibc.py +0 -88
  300. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/hashes.py +0 -144
  301. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/inject_securetransport.py +0 -35
  302. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/logging.py +0 -348
  303. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/misc.py +0 -723
  304. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/models.py +0 -39
  305. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/packaging.py +0 -57
  306. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/setuptools_build.py +0 -195
  307. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/subprocess.py +0 -260
  308. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/temp_dir.py +0 -246
  309. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/unpacking.py +0 -257
  310. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/urls.py +0 -62
  311. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  312. data/assets/env/lib/python3.10/site-packages/pip/_internal/utils/wheel.py +0 -136
  313. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__init__.py +0 -15
  314. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-310.pyc +0 -0
  315. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-310.pyc +0 -0
  316. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__pycache__/git.cpython-310.pyc +0 -0
  317. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-310.pyc +0 -0
  318. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-310.pyc +0 -0
  319. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-310.pyc +0 -0
  320. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/bazaar.py +0 -112
  321. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/git.py +0 -526
  322. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  323. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/subversion.py +0 -324
  324. data/assets/env/lib/python3.10/site-packages/pip/_internal/vcs/versioncontrol.py +0 -705
  325. data/assets/env/lib/python3.10/site-packages/pip/_internal/wheel_builder.py +0 -382
  326. data/assets/env/lib/python3.10/site-packages/pip/_vendor/__init__.py +0 -120
  327. data/assets/env/lib/python3.10/site-packages/pip/_vendor/__pycache__/__init__.cpython-310.pyc +0 -0
  328. data/assets/env/lib/python3.10/site-packages/pip/_vendor/__pycache__/six.cpython-310.pyc +0 -0
  329. data/assets/env/lib/python3.10/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-310.pyc +0 -0
  330. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -18
  331. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-310.pyc +0 -0
  332. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-310.pyc +0 -0
  333. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-310.pyc +0 -0
  334. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-310.pyc +0 -0
  335. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-310.pyc +0 -0
  336. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-310.pyc +0 -0
  337. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-310.pyc +0 -0
  338. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-310.pyc +0 -0
  339. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-310.pyc +0 -0
  340. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-310.pyc +0 -0
  341. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -61
  342. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -137
  343. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/cache.py +0 -65
  344. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -9
  345. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-310.pyc +0 -0
  346. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-310.pyc +0 -0
  347. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-310.pyc +0 -0
  348. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -188
  349. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -39
  350. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/compat.py +0 -32
  351. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/controller.py +0 -439
  352. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -111
  353. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -139
  354. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -190
  355. data/assets/env/lib/python3.10/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -33
  356. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  357. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  358. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-310.pyc +0 -0
  359. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-310.pyc +0 -0
  360. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-310.pyc +0 -0
  361. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/cacert.pem +0 -4708
  362. data/assets/env/lib/python3.10/site-packages/pip/_vendor/certifi/core.py +0 -108
  363. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__init__.py +0 -93
  364. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-310.pyc +0 -0
  365. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-310.pyc +0 -0
  366. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-310.pyc +0 -0
  367. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-310.pyc +0 -0
  368. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-310.pyc +0 -0
  369. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-310.pyc +0 -0
  370. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-310.pyc +0 -0
  371. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-310.pyc +0 -0
  372. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-310.pyc +0 -0
  373. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-310.pyc +0 -0
  374. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-310.pyc +0 -0
  375. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-310.pyc +0 -0
  376. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-310.pyc +0 -0
  377. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-310.pyc +0 -0
  378. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-310.pyc +0 -0
  379. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-310.pyc +0 -0
  380. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-310.pyc +0 -0
  381. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-310.pyc +0 -0
  382. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-310.pyc +0 -0
  383. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-310.pyc +0 -0
  384. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/johabfreq.cpython-310.pyc +0 -0
  385. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/johabprober.cpython-310.pyc +0 -0
  386. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-310.pyc +0 -0
  387. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-310.pyc +0 -0
  388. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-310.pyc +0 -0
  389. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-310.pyc +0 -0
  390. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-310.pyc +0 -0
  391. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-310.pyc +0 -0
  392. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-310.pyc +0 -0
  393. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-310.pyc +0 -0
  394. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-310.pyc +0 -0
  395. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-310.pyc +0 -0
  396. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-310.pyc +0 -0
  397. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-310.pyc +0 -0
  398. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-310.pyc +0 -0
  399. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-310.pyc +0 -0
  400. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-310.pyc +0 -0
  401. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-310.pyc +0 -0
  402. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/utf1632prober.cpython-310.pyc +0 -0
  403. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-310.pyc +0 -0
  404. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-310.pyc +0 -0
  405. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  406. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  407. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/chardistribution.py +0 -259
  408. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -109
  409. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/charsetprober.py +0 -138
  410. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -0
  411. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  412. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-310.pyc +0 -0
  413. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -86
  414. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  415. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  416. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/enums.py +0 -82
  417. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/escprober.py +0 -102
  418. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/escsm.py +0 -260
  419. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -95
  420. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -196
  421. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  422. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -388
  423. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/euctwprober.py +0 -47
  424. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -284
  425. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -47
  426. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -302
  427. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  428. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/johabfreq.py +0 -2382
  429. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/johabprober.py +0 -47
  430. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/jpcntx.py +0 -237
  431. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4649
  432. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4397
  433. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4380
  434. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4649
  435. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5725
  436. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4380
  437. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4380
  438. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  439. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -95
  440. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -56
  441. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/mbcssm.py +0 -660
  442. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  443. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-310.pyc +0 -0
  444. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-310.pyc +0 -0
  445. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -351
  446. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -160
  447. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -88
  448. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/sjisprober.py +0 -98
  449. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/universaldetector.py +0 -328
  450. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/utf1632prober.py +0 -223
  451. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/utf8prober.py +0 -80
  452. data/assets/env/lib/python3.10/site-packages/pip/_vendor/chardet/version.py +0 -9
  453. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  454. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-310.pyc +0 -0
  455. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-310.pyc +0 -0
  456. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-310.pyc +0 -0
  457. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-310.pyc +0 -0
  458. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-310.pyc +0 -0
  459. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-310.pyc +0 -0
  460. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  461. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -266
  462. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  463. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/win32.py +0 -152
  464. data/assets/env/lib/python3.10/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  465. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  466. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-310.pyc +0 -0
  467. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-310.pyc +0 -0
  468. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-310.pyc +0 -0
  469. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-310.pyc +0 -0
  470. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-310.pyc +0 -0
  471. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-310.pyc +0 -0
  472. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-310.pyc +0 -0
  473. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-310.pyc +0 -0
  474. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-310.pyc +0 -0
  475. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-310.pyc +0 -0
  476. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-310.pyc +0 -0
  477. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-310.pyc +0 -0
  478. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-310.pyc +0 -0
  479. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/compat.py +0 -1116
  480. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/database.py +0 -1350
  481. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/index.py +0 -508
  482. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  483. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  484. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/markers.py +0 -152
  485. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/metadata.py +0 -1076
  486. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/resources.py +0 -358
  487. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/scripts.py +0 -437
  488. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  489. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  490. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  491. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/util.py +0 -1932
  492. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/version.py +0 -739
  493. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  494. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  495. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  496. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distlib/wheel.py +0 -1082
  497. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distro/__init__.py +0 -54
  498. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distro/__main__.py +0 -4
  499. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-310.pyc +0 -0
  500. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-310.pyc +0 -0
  501. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-310.pyc +0 -0
  502. data/assets/env/lib/python3.10/site-packages/pip/_vendor/distro/distro.py +0 -1374
  503. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__init__.py +0 -44
  504. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-310.pyc +0 -0
  505. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-310.pyc +0 -0
  506. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-310.pyc +0 -0
  507. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/core.cpython-310.pyc +0 -0
  508. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-310.pyc +0 -0
  509. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-310.pyc +0 -0
  510. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-310.pyc +0 -0
  511. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-310.pyc +0 -0
  512. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/codec.py +0 -112
  513. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/compat.py +0 -13
  514. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/core.py +0 -400
  515. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/idnadata.py +0 -2151
  516. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/intranges.py +0 -54
  517. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/package_data.py +0 -2
  518. data/assets/env/lib/python3.10/site-packages/pip/_vendor/idna/uts46data.py +0 -8600
  519. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/__init__.py +0 -57
  520. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-310.pyc +0 -0
  521. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-310.pyc +0 -0
  522. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-310.pyc +0 -0
  523. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-310.pyc +0 -0
  524. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  525. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  526. data/assets/env/lib/python3.10/site-packages/pip/_vendor/msgpack/fallback.py +0 -1010
  527. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  528. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  529. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-310.pyc +0 -0
  530. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-310.pyc +0 -0
  531. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-310.pyc +0 -0
  532. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-310.pyc +0 -0
  533. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-310.pyc +0 -0
  534. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-310.pyc +0 -0
  535. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-310.pyc +0 -0
  536. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-310.pyc +0 -0
  537. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-310.pyc +0 -0
  538. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-310.pyc +0 -0
  539. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-310.pyc +0 -0
  540. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  541. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  542. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  543. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/markers.py +0 -304
  544. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  545. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/specifiers.py +0 -802
  546. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/tags.py +0 -487
  547. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/utils.py +0 -136
  548. data/assets/env/lib/python3.10/site-packages/pip/_vendor/packaging/version.py +0 -504
  549. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  550. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-310.pyc +0 -0
  551. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/_compat.cpython-310.pyc +0 -0
  552. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-310.pyc +0 -0
  553. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-310.pyc +0 -0
  554. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-310.pyc +0 -0
  555. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-310.pyc +0 -0
  556. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-310.pyc +0 -0
  557. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-310.pyc +0 -0
  558. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-310.pyc +0 -0
  559. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/_compat.py +0 -8
  560. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/build.py +0 -126
  561. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/check.py +0 -207
  562. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/colorlog.py +0 -113
  563. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/dirtools.py +0 -19
  564. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/envbuild.py +0 -170
  565. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -26
  566. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-310.pyc +0 -0
  567. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-310.pyc +0 -0
  568. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -351
  569. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/meta.py +0 -93
  570. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py +0 -362
  571. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  572. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-310.pyc +0 -0
  573. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-310.pyc +0 -0
  574. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  575. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__init__.py +0 -340
  576. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__main__.py +0 -46
  577. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-310.pyc +0 -0
  578. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-310.pyc +0 -0
  579. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-310.pyc +0 -0
  580. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-310.pyc +0 -0
  581. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-310.pyc +0 -0
  582. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-310.pyc +0 -0
  583. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-310.pyc +0 -0
  584. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-310.pyc +0 -0
  585. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/android.py +0 -120
  586. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/api.py +0 -156
  587. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/macos.py +0 -64
  588. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/unix.py +0 -181
  589. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/version.py +0 -4
  590. data/assets/env/lib/python3.10/site-packages/pip/_vendor/platformdirs/windows.py +0 -182
  591. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  592. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  593. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-310.pyc +0 -0
  594. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-310.pyc +0 -0
  595. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-310.pyc +0 -0
  596. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-310.pyc +0 -0
  597. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-310.pyc +0 -0
  598. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-310.pyc +0 -0
  599. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-310.pyc +0 -0
  600. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-310.pyc +0 -0
  601. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-310.pyc +0 -0
  602. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-310.pyc +0 -0
  603. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-310.pyc +0 -0
  604. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-310.pyc +0 -0
  605. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-310.pyc +0 -0
  606. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-310.pyc +0 -0
  607. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-310.pyc +0 -0
  608. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-310.pyc +0 -0
  609. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/cmdline.py +0 -668
  610. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/console.py +0 -70
  611. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/filter.py +0 -71
  612. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  613. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-310.pyc +0 -0
  614. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatter.py +0 -94
  615. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -143
  616. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-310.pyc +0 -0
  617. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-310.pyc +0 -0
  618. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-310.pyc +0 -0
  619. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-310.pyc +0 -0
  620. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-310.pyc +0 -0
  621. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-310.pyc +0 -0
  622. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-310.pyc +0 -0
  623. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-310.pyc +0 -0
  624. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-310.pyc +0 -0
  625. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-310.pyc +0 -0
  626. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-310.pyc +0 -0
  627. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-310.pyc +0 -0
  628. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-310.pyc +0 -0
  629. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-310.pyc +0 -0
  630. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  631. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  632. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -170
  633. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/html.py +0 -989
  634. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/img.py +0 -645
  635. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -179
  636. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -521
  637. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/other.py +0 -161
  638. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  639. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -146
  640. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -188
  641. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  642. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  643. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexer.py +0 -882
  644. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -335
  645. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-310.pyc +0 -0
  646. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-310.pyc +0 -0
  647. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-310.pyc +0 -0
  648. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -541
  649. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1204
  650. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  651. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/plugin.py +0 -88
  652. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  653. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  654. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/sphinxext.py +0 -155
  655. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/style.py +0 -197
  656. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -97
  657. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-310.pyc +0 -0
  658. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/token.py +0 -213
  659. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  660. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pygments/util.py +0 -308
  661. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__init__.py +0 -331
  662. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/__init__.cpython-310.pyc +0 -0
  663. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/actions.cpython-310.pyc +0 -0
  664. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/common.cpython-310.pyc +0 -0
  665. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/core.cpython-310.pyc +0 -0
  666. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/exceptions.cpython-310.pyc +0 -0
  667. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/helpers.cpython-310.pyc +0 -0
  668. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/results.cpython-310.pyc +0 -0
  669. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/testing.cpython-310.pyc +0 -0
  670. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/unicode.cpython-310.pyc +0 -0
  671. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/__pycache__/util.cpython-310.pyc +0 -0
  672. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/actions.py +0 -207
  673. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/common.py +0 -424
  674. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/core.py +0 -5814
  675. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -642
  676. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc +0 -0
  677. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -267
  678. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/helpers.py +0 -1088
  679. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/results.py +0 -760
  680. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/testing.py +0 -331
  681. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/unicode.py +0 -352
  682. data/assets/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/util.py +0 -235
  683. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__init__.py +0 -182
  684. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-310.pyc +0 -0
  685. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-310.pyc +0 -0
  686. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-310.pyc +0 -0
  687. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-310.pyc +0 -0
  688. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/api.cpython-310.pyc +0 -0
  689. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-310.pyc +0 -0
  690. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-310.pyc +0 -0
  691. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-310.pyc +0 -0
  692. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-310.pyc +0 -0
  693. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-310.pyc +0 -0
  694. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/help.cpython-310.pyc +0 -0
  695. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-310.pyc +0 -0
  696. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/models.cpython-310.pyc +0 -0
  697. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-310.pyc +0 -0
  698. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-310.pyc +0 -0
  699. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-310.pyc +0 -0
  700. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-310.pyc +0 -0
  701. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-310.pyc +0 -0
  702. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/__version__.py +0 -14
  703. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/_internal_utils.py +0 -48
  704. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/adapters.py +0 -584
  705. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/api.py +0 -157
  706. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/auth.py +0 -315
  707. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/certs.py +0 -24
  708. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/compat.py +0 -67
  709. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/cookies.py +0 -561
  710. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/exceptions.py +0 -141
  711. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/help.py +0 -131
  712. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/hooks.py +0 -33
  713. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/models.py +0 -1034
  714. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/packages.py +0 -16
  715. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/sessions.py +0 -831
  716. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  717. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/structures.py +0 -99
  718. data/assets/env/lib/python3.10/site-packages/pip/_vendor/requests/utils.py +0 -1086
  719. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  720. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-310.pyc +0 -0
  721. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-310.pyc +0 -0
  722. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-310.pyc +0 -0
  723. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-310.pyc +0 -0
  724. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-310.pyc +0 -0
  725. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  726. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-310.pyc +0 -0
  727. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-310.pyc +0 -0
  728. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  729. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  730. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  731. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -482
  732. data/assets/env/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  733. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__init__.py +0 -176
  734. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__main__.py +0 -282
  735. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-310.pyc +0 -0
  736. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-310.pyc +0 -0
  737. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-310.pyc +0 -0
  738. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-310.pyc +0 -0
  739. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-310.pyc +0 -0
  740. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-310.pyc +0 -0
  741. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-310.pyc +0 -0
  742. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-310.pyc +0 -0
  743. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-310.pyc +0 -0
  744. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-310.pyc +0 -0
  745. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-310.pyc +0 -0
  746. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-310.pyc +0 -0
  747. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-310.pyc +0 -0
  748. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-310.pyc +0 -0
  749. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-310.pyc +0 -0
  750. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-310.pyc +0 -0
  751. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-310.pyc +0 -0
  752. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-310.pyc +0 -0
  753. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-310.pyc +0 -0
  754. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-310.pyc +0 -0
  755. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-310.pyc +0 -0
  756. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/align.cpython-310.pyc +0 -0
  757. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-310.pyc +0 -0
  758. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-310.pyc +0 -0
  759. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/box.cpython-310.pyc +0 -0
  760. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-310.pyc +0 -0
  761. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/color.cpython-310.pyc +0 -0
  762. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-310.pyc +0 -0
  763. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-310.pyc +0 -0
  764. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/console.cpython-310.pyc +0 -0
  765. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-310.pyc +0 -0
  766. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-310.pyc +0 -0
  767. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/control.cpython-310.pyc +0 -0
  768. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-310.pyc +0 -0
  769. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-310.pyc +0 -0
  770. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-310.pyc +0 -0
  771. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-310.pyc +0 -0
  772. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-310.pyc +0 -0
  773. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-310.pyc +0 -0
  774. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-310.pyc +0 -0
  775. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/json.cpython-310.pyc +0 -0
  776. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-310.pyc +0 -0
  777. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-310.pyc +0 -0
  778. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/live.cpython-310.pyc +0 -0
  779. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-310.pyc +0 -0
  780. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-310.pyc +0 -0
  781. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-310.pyc +0 -0
  782. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-310.pyc +0 -0
  783. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-310.pyc +0 -0
  784. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-310.pyc +0 -0
  785. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-310.pyc +0 -0
  786. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-310.pyc +0 -0
  787. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-310.pyc +0 -0
  788. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-310.pyc +0 -0
  789. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-310.pyc +0 -0
  790. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-310.pyc +0 -0
  791. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-310.pyc +0 -0
  792. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/region.cpython-310.pyc +0 -0
  793. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-310.pyc +0 -0
  794. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-310.pyc +0 -0
  795. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-310.pyc +0 -0
  796. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-310.pyc +0 -0
  797. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-310.pyc +0 -0
  798. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-310.pyc +0 -0
  799. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/status.cpython-310.pyc +0 -0
  800. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/style.cpython-310.pyc +0 -0
  801. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-310.pyc +0 -0
  802. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-310.pyc +0 -0
  803. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/table.cpython-310.pyc +0 -0
  804. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-310.pyc +0 -0
  805. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/text.cpython-310.pyc +0 -0
  806. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-310.pyc +0 -0
  807. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-310.pyc +0 -0
  808. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-310.pyc +0 -0
  809. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-310.pyc +0 -0
  810. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_cell_widths.py +0 -451
  811. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  812. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  813. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_export_format.py +0 -78
  814. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_extension.py +0 -10
  815. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_inspect.py +0 -270
  816. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  817. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_loop.py +0 -43
  818. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  819. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_pick.py +0 -17
  820. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_ratio.py +0 -160
  821. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  822. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_stack.py +0 -16
  823. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_timer.py +0 -19
  824. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_win32_console.py +0 -662
  825. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_windows.py +0 -72
  826. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  827. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/_wrap.py +0 -56
  828. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/abc.py +0 -33
  829. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/align.py +0 -311
  830. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/ansi.py +0 -237
  831. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/bar.py +0 -94
  832. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/box.py +0 -517
  833. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/cells.py +0 -154
  834. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/color.py +0 -615
  835. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  836. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/columns.py +0 -187
  837. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/console.py +0 -2572
  838. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/constrain.py +0 -37
  839. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/containers.py +0 -167
  840. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/control.py +0 -225
  841. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/default_styles.py +0 -188
  842. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/diagnose.py +0 -37
  843. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/emoji.py +0 -96
  844. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/errors.py +0 -34
  845. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/file_proxy.py +0 -54
  846. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/filesize.py +0 -89
  847. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  848. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/json.py +0 -140
  849. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  850. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/layout.py +0 -445
  851. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/live.py +0 -373
  852. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/live_render.py +0 -113
  853. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/logging.py +0 -280
  854. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/markup.py +0 -246
  855. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/measure.py +0 -151
  856. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/padding.py +0 -141
  857. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/pager.py +0 -34
  858. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/palette.py +0 -100
  859. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/panel.py +0 -251
  860. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/pretty.py +0 -1010
  861. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/progress.py +0 -1703
  862. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/progress_bar.py +0 -224
  863. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/prompt.py +0 -376
  864. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/protocol.py +0 -42
  865. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/region.py +0 -10
  866. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/repr.py +0 -152
  867. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/rule.py +0 -134
  868. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/scope.py +0 -86
  869. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/screen.py +0 -54
  870. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/segment.py +0 -739
  871. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/spinner.py +0 -136
  872. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/status.py +0 -132
  873. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/style.py +0 -771
  874. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/styled.py +0 -42
  875. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/syntax.py +0 -934
  876. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/table.py +0 -996
  877. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  878. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/text.py +0 -1286
  879. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/theme.py +0 -112
  880. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/themes.py +0 -5
  881. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/traceback.py +0 -679
  882. data/assets/env/lib/python3.10/site-packages/pip/_vendor/rich/tree.py +0 -251
  883. data/assets/env/lib/python3.10/site-packages/pip/_vendor/six.py +0 -998
  884. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__init__.py +0 -519
  885. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-310.pyc +0 -0
  886. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-310.pyc +0 -0
  887. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-310.pyc +0 -0
  888. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-310.pyc +0 -0
  889. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-310.pyc +0 -0
  890. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-310.pyc +0 -0
  891. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-310.pyc +0 -0
  892. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-310.pyc +0 -0
  893. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-310.pyc +0 -0
  894. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-310.pyc +0 -0
  895. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-310.pyc +0 -0
  896. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  897. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  898. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/after.py +0 -46
  899. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/before.py +0 -41
  900. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  901. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  902. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/retry.py +0 -240
  903. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  904. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  905. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tenacity/wait.py +0 -232
  906. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/__init__.py +0 -11
  907. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-310.pyc +0 -0
  908. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-310.pyc +0 -0
  909. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-310.pyc +0 -0
  910. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-310.pyc +0 -0
  911. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/_parser.py +0 -691
  912. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/_re.py +0 -107
  913. data/assets/env/lib/python3.10/site-packages/pip/_vendor/tomli/_types.py +0 -10
  914. data/assets/env/lib/python3.10/site-packages/pip/_vendor/typing_extensions.py +0 -2209
  915. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  916. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-310.pyc +0 -0
  917. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-310.pyc +0 -0
  918. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-310.pyc +0 -0
  919. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-310.pyc +0 -0
  920. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-310.pyc +0 -0
  921. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-310.pyc +0 -0
  922. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-310.pyc +0 -0
  923. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-310.pyc +0 -0
  924. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-310.pyc +0 -0
  925. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-310.pyc +0 -0
  926. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-310.pyc +0 -0
  927. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/_collections.py +0 -337
  928. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  929. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/connection.py +0 -567
  930. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1110
  931. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  932. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-310.pyc +0 -0
  933. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-310.pyc +0 -0
  934. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-310.pyc +0 -0
  935. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-310.pyc +0 -0
  936. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-310.pyc +0 -0
  937. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-310.pyc +0 -0
  938. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-310.pyc +0 -0
  939. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  940. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  941. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-310.pyc +0 -0
  942. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-310.pyc +0 -0
  943. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-310.pyc +0 -0
  944. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  945. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  946. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  947. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  948. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -519
  949. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -921
  950. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  951. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  952. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  953. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  954. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  955. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-310.pyc +0 -0
  956. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-310.pyc +0 -0
  957. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  958. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-310.pyc +0 -0
  959. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-310.pyc +0 -0
  960. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  961. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  962. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -537
  963. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/request.py +0 -170
  964. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py +0 -866
  965. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  966. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-310.pyc +0 -0
  967. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-310.pyc +0 -0
  968. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-310.pyc +0 -0
  969. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-310.pyc +0 -0
  970. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-310.pyc +0 -0
  971. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-310.pyc +0 -0
  972. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-310.pyc +0 -0
  973. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-310.pyc +0 -0
  974. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-310.pyc +0 -0
  975. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-310.pyc +0 -0
  976. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-310.pyc +0 -0
  977. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-310.pyc +0 -0
  978. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-310.pyc +0 -0
  979. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  980. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  981. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  982. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  983. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  984. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/retry.py +0 -620
  985. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  986. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  987. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  988. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  989. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  990. data/assets/env/lib/python3.10/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  991. data/assets/env/lib/python3.10/site-packages/pip/_vendor/vendor.txt +0 -23
  992. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  993. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-310.pyc +0 -0
  994. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-310.pyc +0 -0
  995. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-310.pyc +0 -0
  996. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-310.pyc +0 -0
  997. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-310.pyc +0 -0
  998. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  999. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  1000. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  1001. data/assets/env/lib/python3.10/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  1002. data/assets/env/lib/python3.10/site-packages/pip/py.typed +0 -4
  1003. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/INSTALLER +0 -1
  1004. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/LICENSE.txt +0 -20
  1005. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/METADATA +0 -88
  1006. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/RECORD +0 -992
  1007. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/REQUESTED +0 -0
  1008. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/WHEEL +0 -5
  1009. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/entry_points.txt +0 -4
  1010. data/assets/env/lib/python3.10/site-packages/pip-22.3.1.dist-info/top_level.txt +0 -1
  1011. data/assets/env/lib/python3.10/site-packages/pkg_resources/__init__.py +0 -3296
  1012. data/assets/env/lib/python3.10/site-packages/pkg_resources/__pycache__/__init__.cpython-310.pyc +0 -0
  1013. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  1014. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-310.pyc +0 -0
  1015. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-310.pyc +0 -0
  1016. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/__pycache__/zipp.cpython-310.pyc +0 -0
  1017. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  1018. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__init__.py +0 -36
  1019. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/__init__.cpython-310.pyc +0 -0
  1020. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_adapters.cpython-310.pyc +0 -0
  1021. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_common.cpython-310.pyc +0 -0
  1022. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_compat.cpython-310.pyc +0 -0
  1023. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_itertools.cpython-310.pyc +0 -0
  1024. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_legacy.cpython-310.pyc +0 -0
  1025. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/abc.cpython-310.pyc +0 -0
  1026. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/readers.cpython-310.pyc +0 -0
  1027. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/simple.cpython-310.pyc +0 -0
  1028. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/_adapters.py +0 -170
  1029. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/_common.py +0 -104
  1030. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/_compat.py +0 -98
  1031. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/_itertools.py +0 -35
  1032. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/_legacy.py +0 -121
  1033. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/abc.py +0 -137
  1034. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/readers.py +0 -122
  1035. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/importlib_resources/simple.py +0 -116
  1036. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/__init__.py +0 -0
  1037. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/__pycache__/__init__.cpython-310.pyc +0 -0
  1038. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/__pycache__/context.cpython-310.pyc +0 -0
  1039. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/__pycache__/functools.cpython-310.pyc +0 -0
  1040. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/context.py +0 -213
  1041. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/functools.py +0 -525
  1042. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/text/__init__.py +0 -599
  1043. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/jaraco/text/__pycache__/__init__.cpython-310.pyc +0 -0
  1044. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/more_itertools/__init__.py +0 -4
  1045. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/__init__.cpython-310.pyc +0 -0
  1046. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/more.cpython-310.pyc +0 -0
  1047. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/recipes.cpython-310.pyc +0 -0
  1048. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/more_itertools/more.py +0 -4316
  1049. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/more_itertools/recipes.py +0 -698
  1050. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -26
  1051. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -25
  1052. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-310.pyc +0 -0
  1053. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-310.pyc +0 -0
  1054. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/_manylinux.cpython-310.pyc +0 -0
  1055. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/_musllinux.cpython-310.pyc +0 -0
  1056. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-310.pyc +0 -0
  1057. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-310.pyc +0 -0
  1058. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-310.pyc +0 -0
  1059. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-310.pyc +0 -0
  1060. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-310.pyc +0 -0
  1061. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-310.pyc +0 -0
  1062. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-310.pyc +0 -0
  1063. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_manylinux.py +0 -301
  1064. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_musllinux.py +0 -136
  1065. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -61
  1066. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -304
  1067. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -146
  1068. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -802
  1069. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -487
  1070. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -136
  1071. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py +0 -504
  1072. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__init__.py +0 -331
  1073. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/__init__.cpython-310.pyc +0 -0
  1074. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/actions.cpython-310.pyc +0 -0
  1075. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/common.cpython-310.pyc +0 -0
  1076. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/core.cpython-310.pyc +0 -0
  1077. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/exceptions.cpython-310.pyc +0 -0
  1078. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/helpers.cpython-310.pyc +0 -0
  1079. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/results.cpython-310.pyc +0 -0
  1080. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/testing.cpython-310.pyc +0 -0
  1081. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/unicode.cpython-310.pyc +0 -0
  1082. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/util.cpython-310.pyc +0 -0
  1083. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/actions.py +0 -207
  1084. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/common.py +0 -424
  1085. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/core.py +0 -5814
  1086. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/diagram/__init__.py +0 -642
  1087. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc +0 -0
  1088. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/exceptions.py +0 -267
  1089. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/helpers.py +0 -1088
  1090. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/results.py +0 -760
  1091. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/testing.py +0 -331
  1092. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/unicode.py +0 -352
  1093. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/util.py +0 -235
  1094. data/assets/env/lib/python3.10/site-packages/pkg_resources/_vendor/zipp.py +0 -329
  1095. data/assets/env/lib/python3.10/site-packages/pkg_resources/extern/__init__.py +0 -76
  1096. data/assets/env/lib/python3.10/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-310.pyc +0 -0
  1097. data/assets/env/lib/python3.10/site-packages/setuptools/__init__.py +0 -247
  1098. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/__init__.cpython-310.pyc +0 -0
  1099. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-310.pyc +0 -0
  1100. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_entry_points.cpython-310.pyc +0 -0
  1101. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_imp.cpython-310.pyc +0 -0
  1102. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_importlib.cpython-310.pyc +0 -0
  1103. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_itertools.cpython-310.pyc +0 -0
  1104. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_path.cpython-310.pyc +0 -0
  1105. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/_reqs.cpython-310.pyc +0 -0
  1106. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/archive_util.cpython-310.pyc +0 -0
  1107. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/build_meta.cpython-310.pyc +0 -0
  1108. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/dep_util.cpython-310.pyc +0 -0
  1109. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/depends.cpython-310.pyc +0 -0
  1110. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/discovery.cpython-310.pyc +0 -0
  1111. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/dist.cpython-310.pyc +0 -0
  1112. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/errors.cpython-310.pyc +0 -0
  1113. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/extension.cpython-310.pyc +0 -0
  1114. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/glob.cpython-310.pyc +0 -0
  1115. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/installer.cpython-310.pyc +0 -0
  1116. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/launch.cpython-310.pyc +0 -0
  1117. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/logging.cpython-310.pyc +0 -0
  1118. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/monkey.cpython-310.pyc +0 -0
  1119. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/msvc.cpython-310.pyc +0 -0
  1120. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/namespaces.cpython-310.pyc +0 -0
  1121. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/package_index.cpython-310.pyc +0 -0
  1122. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/py34compat.cpython-310.pyc +0 -0
  1123. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/sandbox.cpython-310.pyc +0 -0
  1124. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/unicode_utils.cpython-310.pyc +0 -0
  1125. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/version.cpython-310.pyc +0 -0
  1126. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/wheel.cpython-310.pyc +0 -0
  1127. data/assets/env/lib/python3.10/site-packages/setuptools/__pycache__/windows_support.cpython-310.pyc +0 -0
  1128. data/assets/env/lib/python3.10/site-packages/setuptools/_deprecation_warning.py +0 -7
  1129. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__init__.py +0 -24
  1130. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-310.pyc +0 -0
  1131. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-310.pyc +0 -0
  1132. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-310.pyc +0 -0
  1133. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-310.pyc +0 -0
  1134. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-310.pyc +0 -0
  1135. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-310.pyc +0 -0
  1136. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-310.pyc +0 -0
  1137. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-310.pyc +0 -0
  1138. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-310.pyc +0 -0
  1139. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/config.cpython-310.pyc +0 -0
  1140. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/core.cpython-310.pyc +0 -0
  1141. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-310.pyc +0 -0
  1142. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/debug.cpython-310.pyc +0 -0
  1143. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-310.pyc +0 -0
  1144. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-310.pyc +0 -0
  1145. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/dist.cpython-310.pyc +0 -0
  1146. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/errors.cpython-310.pyc +0 -0
  1147. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/extension.cpython-310.pyc +0 -0
  1148. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-310.pyc +0 -0
  1149. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-310.pyc +0 -0
  1150. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-310.pyc +0 -0
  1151. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/log.cpython-310.pyc +0 -0
  1152. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-310.pyc +0 -0
  1153. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-310.pyc +0 -0
  1154. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-310.pyc +0 -0
  1155. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/py39compat.cpython-310.pyc +0 -0
  1156. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-310.pyc +0 -0
  1157. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-310.pyc +0 -0
  1158. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-310.pyc +0 -0
  1159. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-310.pyc +0 -0
  1160. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/util.cpython-310.pyc +0 -0
  1161. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/version.cpython-310.pyc +0 -0
  1162. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-310.pyc +0 -0
  1163. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/_collections.py +0 -56
  1164. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/_functools.py +0 -20
  1165. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/_macos_compat.py +0 -12
  1166. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/_msvccompiler.py +0 -572
  1167. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/archive_util.py +0 -280
  1168. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/bcppcompiler.py +0 -408
  1169. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py +0 -1220
  1170. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/cmd.py +0 -436
  1171. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__init__.py +0 -25
  1172. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-310.pyc +0 -0
  1173. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-310.pyc +0 -0
  1174. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-310.pyc +0 -0
  1175. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-310.pyc +0 -0
  1176. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-310.pyc +0 -0
  1177. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-310.pyc +0 -0
  1178. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-310.pyc +0 -0
  1179. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-310.pyc +0 -0
  1180. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-310.pyc +0 -0
  1181. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-310.pyc +0 -0
  1182. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-310.pyc +0 -0
  1183. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-310.pyc +0 -0
  1184. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-310.pyc +0 -0
  1185. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-310.pyc +0 -0
  1186. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-310.pyc +0 -0
  1187. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-310.pyc +0 -0
  1188. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-310.pyc +0 -0
  1189. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-310.pyc +0 -0
  1190. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-310.pyc +0 -0
  1191. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-310.pyc +0 -0
  1192. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-310.pyc +0 -0
  1193. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-310.pyc +0 -0
  1194. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-310.pyc +0 -0
  1195. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/_framework_compat.py +0 -55
  1196. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/bdist.py +0 -157
  1197. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -144
  1198. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -615
  1199. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/build.py +0 -153
  1200. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/build_clib.py +0 -208
  1201. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py +0 -787
  1202. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/build_py.py +0 -407
  1203. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/build_scripts.py +0 -173
  1204. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/check.py +0 -151
  1205. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1206. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/config.py +0 -377
  1207. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/install.py +0 -814
  1208. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/install_data.py +0 -84
  1209. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -91
  1210. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/install_headers.py +0 -45
  1211. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/install_lib.py +0 -238
  1212. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/install_scripts.py +0 -61
  1213. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/py37compat.py +0 -31
  1214. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/register.py +0 -319
  1215. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py +0 -531
  1216. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/command/upload.py +0 -205
  1217. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/config.py +0 -139
  1218. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/core.py +0 -291
  1219. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -364
  1220. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/debug.py +0 -5
  1221. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/dep_util.py +0 -96
  1222. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/dir_util.py +0 -243
  1223. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/dist.py +0 -1286
  1224. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/errors.py +0 -127
  1225. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/extension.py +0 -248
  1226. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/fancy_getopt.py +0 -470
  1227. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/file_util.py +0 -249
  1228. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/filelist.py +0 -371
  1229. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/log.py +0 -80
  1230. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/msvc9compiler.py +0 -832
  1231. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/msvccompiler.py +0 -695
  1232. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/py38compat.py +0 -8
  1233. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/py39compat.py +0 -22
  1234. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/spawn.py +0 -109
  1235. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/sysconfig.py +0 -558
  1236. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/text_file.py +0 -287
  1237. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py +0 -401
  1238. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/util.py +0 -513
  1239. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/version.py +0 -358
  1240. data/assets/env/lib/python3.10/site-packages/setuptools/_distutils/versionpredicate.py +0 -175
  1241. data/assets/env/lib/python3.10/site-packages/setuptools/_entry_points.py +0 -86
  1242. data/assets/env/lib/python3.10/site-packages/setuptools/_imp.py +0 -82
  1243. data/assets/env/lib/python3.10/site-packages/setuptools/_importlib.py +0 -47
  1244. data/assets/env/lib/python3.10/site-packages/setuptools/_itertools.py +0 -23
  1245. data/assets/env/lib/python3.10/site-packages/setuptools/_path.py +0 -29
  1246. data/assets/env/lib/python3.10/site-packages/setuptools/_reqs.py +0 -19
  1247. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/__init__.py +0 -0
  1248. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-310.pyc +0 -0
  1249. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-310.pyc +0 -0
  1250. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-310.pyc +0 -0
  1251. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/__pycache__/zipp.cpython-310.pyc +0 -0
  1252. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +0 -1047
  1253. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-310.pyc +0 -0
  1254. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-310.pyc +0 -0
  1255. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-310.pyc +0 -0
  1256. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-310.pyc +0 -0
  1257. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-310.pyc +0 -0
  1258. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-310.pyc +0 -0
  1259. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-310.pyc +0 -0
  1260. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-310.pyc +0 -0
  1261. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +0 -68
  1262. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +0 -30
  1263. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +0 -71
  1264. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +0 -104
  1265. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +0 -73
  1266. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +0 -48
  1267. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_metadata/_text.py +0 -99
  1268. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  1269. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-310.pyc +0 -0
  1270. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-310.pyc +0 -0
  1271. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-310.pyc +0 -0
  1272. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_compat.cpython-310.pyc +0 -0
  1273. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-310.pyc +0 -0
  1274. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_legacy.cpython-310.pyc +0 -0
  1275. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-310.pyc +0 -0
  1276. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-310.pyc +0 -0
  1277. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-310.pyc +0 -0
  1278. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -170
  1279. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -104
  1280. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/_compat.py +0 -98
  1281. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -35
  1282. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/_legacy.py +0 -121
  1283. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -137
  1284. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -122
  1285. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -116
  1286. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/__init__.py +0 -0
  1287. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/__pycache__/__init__.cpython-310.pyc +0 -0
  1288. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/__pycache__/context.cpython-310.pyc +0 -0
  1289. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/__pycache__/functools.cpython-310.pyc +0 -0
  1290. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/context.py +0 -213
  1291. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/functools.py +0 -525
  1292. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/text/__init__.py +0 -599
  1293. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/jaraco/text/__pycache__/__init__.cpython-310.pyc +0 -0
  1294. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  1295. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-310.pyc +0 -0
  1296. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-310.pyc +0 -0
  1297. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-310.pyc +0 -0
  1298. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3824
  1299. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  1300. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  1301. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__about__.py +0 -26
  1302. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__init__.py +0 -25
  1303. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-310.pyc +0 -0
  1304. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-310.pyc +0 -0
  1305. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/_manylinux.cpython-310.pyc +0 -0
  1306. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/_musllinux.cpython-310.pyc +0 -0
  1307. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-310.pyc +0 -0
  1308. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-310.pyc +0 -0
  1309. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-310.pyc +0 -0
  1310. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-310.pyc +0 -0
  1311. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-310.pyc +0 -0
  1312. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-310.pyc +0 -0
  1313. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-310.pyc +0 -0
  1314. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -301
  1315. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -136
  1316. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/_structures.py +0 -61
  1317. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/markers.py +0 -304
  1318. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/requirements.py +0 -146
  1319. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -802
  1320. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/tags.py +0 -487
  1321. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/utils.py +0 -136
  1322. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/packaging/version.py +0 -504
  1323. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__init__.py +0 -331
  1324. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/__init__.cpython-310.pyc +0 -0
  1325. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/actions.cpython-310.pyc +0 -0
  1326. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/common.cpython-310.pyc +0 -0
  1327. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/core.cpython-310.pyc +0 -0
  1328. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/exceptions.cpython-310.pyc +0 -0
  1329. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/helpers.cpython-310.pyc +0 -0
  1330. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/results.cpython-310.pyc +0 -0
  1331. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/testing.cpython-310.pyc +0 -0
  1332. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/unicode.cpython-310.pyc +0 -0
  1333. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/__pycache__/util.cpython-310.pyc +0 -0
  1334. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/actions.py +0 -207
  1335. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/common.py +0 -424
  1336. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/core.py +0 -5814
  1337. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/diagram/__init__.py +0 -642
  1338. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc +0 -0
  1339. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/exceptions.py +0 -267
  1340. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/helpers.py +0 -1088
  1341. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/results.py +0 -760
  1342. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/testing.py +0 -331
  1343. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/unicode.py +0 -352
  1344. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/pyparsing/util.py +0 -235
  1345. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/__init__.py +0 -11
  1346. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/__pycache__/__init__.cpython-310.pyc +0 -0
  1347. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/__pycache__/_parser.cpython-310.pyc +0 -0
  1348. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/__pycache__/_re.cpython-310.pyc +0 -0
  1349. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/__pycache__/_types.cpython-310.pyc +0 -0
  1350. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/_parser.py +0 -691
  1351. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/_re.py +0 -107
  1352. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/tomli/_types.py +0 -10
  1353. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/typing_extensions.py +0 -2296
  1354. data/assets/env/lib/python3.10/site-packages/setuptools/_vendor/zipp.py +0 -329
  1355. data/assets/env/lib/python3.10/site-packages/setuptools/archive_util.py +0 -213
  1356. data/assets/env/lib/python3.10/site-packages/setuptools/build_meta.py +0 -511
  1357. data/assets/env/lib/python3.10/site-packages/setuptools/cli-32.exe +0 -0
  1358. data/assets/env/lib/python3.10/site-packages/setuptools/cli-64.exe +0 -0
  1359. data/assets/env/lib/python3.10/site-packages/setuptools/cli-arm64.exe +0 -0
  1360. data/assets/env/lib/python3.10/site-packages/setuptools/cli.exe +0 -0
  1361. data/assets/env/lib/python3.10/site-packages/setuptools/command/__init__.py +0 -12
  1362. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/__init__.cpython-310.pyc +0 -0
  1363. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/alias.cpython-310.pyc +0 -0
  1364. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-310.pyc +0 -0
  1365. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-310.pyc +0 -0
  1366. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/build.cpython-310.pyc +0 -0
  1367. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/build_clib.cpython-310.pyc +0 -0
  1368. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/build_ext.cpython-310.pyc +0 -0
  1369. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/build_py.cpython-310.pyc +0 -0
  1370. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/develop.cpython-310.pyc +0 -0
  1371. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/dist_info.cpython-310.pyc +0 -0
  1372. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/easy_install.cpython-310.pyc +0 -0
  1373. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/editable_wheel.cpython-310.pyc +0 -0
  1374. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/egg_info.cpython-310.pyc +0 -0
  1375. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/install.cpython-310.pyc +0 -0
  1376. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-310.pyc +0 -0
  1377. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/install_lib.cpython-310.pyc +0 -0
  1378. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/install_scripts.cpython-310.pyc +0 -0
  1379. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/py36compat.cpython-310.pyc +0 -0
  1380. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/register.cpython-310.pyc +0 -0
  1381. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/rotate.cpython-310.pyc +0 -0
  1382. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/saveopts.cpython-310.pyc +0 -0
  1383. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/sdist.cpython-310.pyc +0 -0
  1384. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/setopt.cpython-310.pyc +0 -0
  1385. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/test.cpython-310.pyc +0 -0
  1386. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/upload.cpython-310.pyc +0 -0
  1387. data/assets/env/lib/python3.10/site-packages/setuptools/command/__pycache__/upload_docs.cpython-310.pyc +0 -0
  1388. data/assets/env/lib/python3.10/site-packages/setuptools/command/alias.py +0 -78
  1389. data/assets/env/lib/python3.10/site-packages/setuptools/command/bdist_egg.py +0 -457
  1390. data/assets/env/lib/python3.10/site-packages/setuptools/command/bdist_rpm.py +0 -40
  1391. data/assets/env/lib/python3.10/site-packages/setuptools/command/build.py +0 -146
  1392. data/assets/env/lib/python3.10/site-packages/setuptools/command/build_clib.py +0 -101
  1393. data/assets/env/lib/python3.10/site-packages/setuptools/command/build_ext.py +0 -383
  1394. data/assets/env/lib/python3.10/site-packages/setuptools/command/build_py.py +0 -368
  1395. data/assets/env/lib/python3.10/site-packages/setuptools/command/develop.py +0 -193
  1396. data/assets/env/lib/python3.10/site-packages/setuptools/command/dist_info.py +0 -142
  1397. data/assets/env/lib/python3.10/site-packages/setuptools/command/easy_install.py +0 -2312
  1398. data/assets/env/lib/python3.10/site-packages/setuptools/command/editable_wheel.py +0 -844
  1399. data/assets/env/lib/python3.10/site-packages/setuptools/command/egg_info.py +0 -763
  1400. data/assets/env/lib/python3.10/site-packages/setuptools/command/install.py +0 -139
  1401. data/assets/env/lib/python3.10/site-packages/setuptools/command/install_egg_info.py +0 -63
  1402. data/assets/env/lib/python3.10/site-packages/setuptools/command/install_lib.py +0 -122
  1403. data/assets/env/lib/python3.10/site-packages/setuptools/command/install_scripts.py +0 -70
  1404. data/assets/env/lib/python3.10/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1405. data/assets/env/lib/python3.10/site-packages/setuptools/command/py36compat.py +0 -134
  1406. data/assets/env/lib/python3.10/site-packages/setuptools/command/register.py +0 -18
  1407. data/assets/env/lib/python3.10/site-packages/setuptools/command/rotate.py +0 -64
  1408. data/assets/env/lib/python3.10/site-packages/setuptools/command/saveopts.py +0 -22
  1409. data/assets/env/lib/python3.10/site-packages/setuptools/command/sdist.py +0 -210
  1410. data/assets/env/lib/python3.10/site-packages/setuptools/command/setopt.py +0 -149
  1411. data/assets/env/lib/python3.10/site-packages/setuptools/command/test.py +0 -251
  1412. data/assets/env/lib/python3.10/site-packages/setuptools/command/upload.py +0 -17
  1413. data/assets/env/lib/python3.10/site-packages/setuptools/command/upload_docs.py +0 -213
  1414. data/assets/env/lib/python3.10/site-packages/setuptools/config/__init__.py +0 -35
  1415. data/assets/env/lib/python3.10/site-packages/setuptools/config/__pycache__/__init__.cpython-310.pyc +0 -0
  1416. data/assets/env/lib/python3.10/site-packages/setuptools/config/__pycache__/_apply_pyprojecttoml.cpython-310.pyc +0 -0
  1417. data/assets/env/lib/python3.10/site-packages/setuptools/config/__pycache__/expand.cpython-310.pyc +0 -0
  1418. data/assets/env/lib/python3.10/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-310.pyc +0 -0
  1419. data/assets/env/lib/python3.10/site-packages/setuptools/config/__pycache__/setupcfg.cpython-310.pyc +0 -0
  1420. data/assets/env/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py +0 -377
  1421. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__init__.py +0 -34
  1422. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__pycache__/__init__.cpython-310.pyc +0 -0
  1423. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__pycache__/error_reporting.cpython-310.pyc +0 -0
  1424. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__pycache__/extra_validations.cpython-310.pyc +0 -0
  1425. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-310.pyc +0 -0
  1426. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-310.pyc +0 -0
  1427. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/__pycache__/formats.cpython-310.pyc +0 -0
  1428. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +0 -318
  1429. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +0 -36
  1430. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +0 -51
  1431. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +0 -1035
  1432. data/assets/env/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/formats.py +0 -259
  1433. data/assets/env/lib/python3.10/site-packages/setuptools/config/expand.py +0 -462
  1434. data/assets/env/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py +0 -493
  1435. data/assets/env/lib/python3.10/site-packages/setuptools/config/setupcfg.py +0 -762
  1436. data/assets/env/lib/python3.10/site-packages/setuptools/dep_util.py +0 -25
  1437. data/assets/env/lib/python3.10/site-packages/setuptools/depends.py +0 -176
  1438. data/assets/env/lib/python3.10/site-packages/setuptools/discovery.py +0 -600
  1439. data/assets/env/lib/python3.10/site-packages/setuptools/dist.py +0 -1222
  1440. data/assets/env/lib/python3.10/site-packages/setuptools/errors.py +0 -58
  1441. data/assets/env/lib/python3.10/site-packages/setuptools/extension.py +0 -148
  1442. data/assets/env/lib/python3.10/site-packages/setuptools/extern/__init__.py +0 -76
  1443. data/assets/env/lib/python3.10/site-packages/setuptools/extern/__pycache__/__init__.cpython-310.pyc +0 -0
  1444. data/assets/env/lib/python3.10/site-packages/setuptools/glob.py +0 -167
  1445. data/assets/env/lib/python3.10/site-packages/setuptools/gui-32.exe +0 -0
  1446. data/assets/env/lib/python3.10/site-packages/setuptools/gui-64.exe +0 -0
  1447. data/assets/env/lib/python3.10/site-packages/setuptools/gui-arm64.exe +0 -0
  1448. data/assets/env/lib/python3.10/site-packages/setuptools/gui.exe +0 -0
  1449. data/assets/env/lib/python3.10/site-packages/setuptools/installer.py +0 -104
  1450. data/assets/env/lib/python3.10/site-packages/setuptools/launch.py +0 -36
  1451. data/assets/env/lib/python3.10/site-packages/setuptools/logging.py +0 -36
  1452. data/assets/env/lib/python3.10/site-packages/setuptools/monkey.py +0 -165
  1453. data/assets/env/lib/python3.10/site-packages/setuptools/msvc.py +0 -1703
  1454. data/assets/env/lib/python3.10/site-packages/setuptools/namespaces.py +0 -107
  1455. data/assets/env/lib/python3.10/site-packages/setuptools/package_index.py +0 -1126
  1456. data/assets/env/lib/python3.10/site-packages/setuptools/py34compat.py +0 -13
  1457. data/assets/env/lib/python3.10/site-packages/setuptools/sandbox.py +0 -530
  1458. data/assets/env/lib/python3.10/site-packages/setuptools/script (dev).tmpl +0 -6
  1459. data/assets/env/lib/python3.10/site-packages/setuptools/script.tmpl +0 -3
  1460. data/assets/env/lib/python3.10/site-packages/setuptools/unicode_utils.py +0 -42
  1461. data/assets/env/lib/python3.10/site-packages/setuptools/version.py +0 -6
  1462. data/assets/env/lib/python3.10/site-packages/setuptools/wheel.py +0 -222
  1463. data/assets/env/lib/python3.10/site-packages/setuptools/windows_support.py +0 -29
  1464. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/INSTALLER +0 -1
  1465. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/LICENSE +0 -19
  1466. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/METADATA +0 -144
  1467. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/RECORD +0 -466
  1468. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/REQUESTED +0 -0
  1469. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/WHEEL +0 -5
  1470. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/entry_points.txt +0 -57
  1471. data/assets/env/lib/python3.10/site-packages/setuptools-65.5.0.dist-info/top_level.txt +0 -3
  1472. data/assets/env/lib64 +0 -1
  1473. data/assets/env/pyvenv.cfg +0 -3
  1474. data/assets/env/src/__pycache__/copy_about.cpython-310.pyc +0 -0
  1475. data/assets/env/src/__pycache__/copy_img.cpython-310.pyc +0 -0
  1476. data/assets/env/src/__pycache__/csv_to_md_auth.cpython-310.pyc +0 -0
  1477. data/assets/env/src/__pycache__/csv_to_md_books.cpython-310.pyc +0 -0
  1478. data/assets/env/src/__pycache__/csv_to_md_cities.cpython-310.pyc +0 -0
  1479. data/assets/env/src/__pycache__/csv_to_md_pub.cpython-310.pyc +0 -0
  1480. data/assets/env/src/__pycache__/csv_to_md_repo.cpython-310.pyc +0 -0
  1481. data/assets/env/src/__pycache__/field_updates.cpython-310.pyc +0 -0
  1482. data/assets/env/src/__pycache__/replace_quotes.cpython-310.pyc +0 -0
  1483. data/assets/env/src/blank_column.py +0 -23
  1484. data/assets/env/src/book_slug.py +0 -30
  1485. data/assets/env/src/copy_about.py +0 -7
  1486. data/assets/env/src/copy_img.py +0 -48
  1487. data/assets/env/src/csv-to-md-all.py +0 -5
  1488. data/assets/env/src/csv_to_md_auth.py +0 -24
  1489. data/assets/env/src/csv_to_md_books.py +0 -43
  1490. data/assets/env/src/csv_to_md_cities.py +0 -20
  1491. data/assets/env/src/csv_to_md_pub.py +0 -20
  1492. data/assets/env/src/csv_to_md_repo.py +0 -21
  1493. data/assets/env/src/field_updates.py +0 -7
  1494. data/assets/env/src/replace_quotes.py +0 -2
  1495. data/assets/env/src/scripts-all.py +0 -13
  1496. data/assets/unpack-and-copy-to-main-folder.zip +0 -0
@@ -1,1035 +0,0 @@
1
- # noqa
2
- # type: ignore
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.15.3"
14
- import re
15
- from .fastjsonschema_exceptions import JsonSchemaValueException
16
-
17
-
18
- REGEX_PATTERNS = {
19
- '^.*$': re.compile('^.*$'),
20
- '.+': re.compile('.+'),
21
- '^.+$': re.compile('^.+$'),
22
- 'idn-email_re_pattern': re.compile('^[^@]+@[^@]+\\.[^@]+\\Z')
23
- }
24
-
25
- NoneType = type(None)
26
-
27
- def validate(data, custom_formats={}, name_prefix=None):
28
- validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependencies(data, custom_formats, (name_prefix or "data") + "")
29
- return data
30
-
31
- def validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependencies(data, custom_formats={}, name_prefix=None):
32
- if not isinstance(data, (dict)):
33
- 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/declaring-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://docs.python.org/3/install/', 'title': '``tool.distutils`` table', '$$description': ['Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` scripts via `distutils configuration files', '<https://docs.python.org/3/install/#distutils-configuration-files>`_.', '``tool.distutils`` subtables could be used with the same purpose', '(NOT CURRENTLY IMPLEMENTED).'], '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/references/keywords.html', 'title': '``tool.setuptools`` table', '$$description': ['Please notice for the time being the ``setuptools`` project does not specify', 'a way of configuring builds via ``pyproject.toml``.', 'Therefore this schema should be taken just as a *"thought experiment"* on how', 'this *might be done*, by following the principles established in', '`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_', 'that can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`', 'but intentionally excludes ``dependency_links`` and ``setup_requires``.', 'NOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion with', 'entry-point based scripts (defined in :pep:`621`).'], '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.', 'type': 'boolean'}, 'script-files': {'description': 'Legacy way of defining scripts (entry-points are preferred).', '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.'], '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': {'type': 'string', 'format': 'python-module-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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, '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': {'oneOf': [{'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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['**DEPRECATED**: dict-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', "Please notice this don't work with wheels. 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.', '(might become standard with PEP 639).'], '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`.'], 'oneOf': [{'$ref': '#/definitions/attr-directive'}, {'$ref': '#/definitions/file-directive'}]}, 'classifiers': {'$ref': '#/definitions/file-directive'}, 'description': {'$ref': '#/definitions/file-directive'}, 'dependencies': {'$ref': '#/definitions/file-directive'}, 'entry-points': {'$ref': '#/definitions/file-directive'}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$ref': '#/definitions/file-directive'}}}, 'readme': {'anyOf': [{'$ref': '#/definitions/file-directive'}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}}, 'definitions': {'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']}, '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'}}, '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/declaring-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
34
- data_is_dict = isinstance(data, dict)
35
- if data_is_dict:
36
- data_keys = set(data.keys())
37
- if "build-system" in data_keys:
38
- data_keys.remove("build-system")
39
- data__buildsystem = data["build-system"]
40
- if not isinstance(data__buildsystem, (dict)):
41
- 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')
42
- data__buildsystem_is_dict = isinstance(data__buildsystem, dict)
43
- if data__buildsystem_is_dict:
44
- data__buildsystem_len = len(data__buildsystem)
45
- if not all(prop in data__buildsystem for prop in ['requires']):
46
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".build-system must contain ['requires'] 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')
47
- data__buildsystem_keys = set(data__buildsystem.keys())
48
- if "requires" in data__buildsystem_keys:
49
- data__buildsystem_keys.remove("requires")
50
- data__buildsystem__requires = data__buildsystem["requires"]
51
- if not isinstance(data__buildsystem__requires, (list, tuple)):
52
- 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')
53
- data__buildsystem__requires_is_list = isinstance(data__buildsystem__requires, (list, tuple))
54
- if data__buildsystem__requires_is_list:
55
- data__buildsystem__requires_len = len(data__buildsystem__requires)
56
- for data__buildsystem__requires_x, data__buildsystem__requires_item in enumerate(data__buildsystem__requires):
57
- if not isinstance(data__buildsystem__requires_item, (str)):
58
- 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')
59
- if "build-backend" in data__buildsystem_keys:
60
- data__buildsystem_keys.remove("build-backend")
61
- data__buildsystem__buildbackend = data__buildsystem["build-backend"]
62
- if not isinstance(data__buildsystem__buildbackend, (str)):
63
- 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')
64
- if isinstance(data__buildsystem__buildbackend, str):
65
- if not custom_formats["pep517-backend-reference"](data__buildsystem__buildbackend):
66
- 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')
67
- if "backend-path" in data__buildsystem_keys:
68
- data__buildsystem_keys.remove("backend-path")
69
- data__buildsystem__backendpath = data__buildsystem["backend-path"]
70
- if not isinstance(data__buildsystem__backendpath, (list, tuple)):
71
- 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')
72
- data__buildsystem__backendpath_is_list = isinstance(data__buildsystem__backendpath, (list, tuple))
73
- if data__buildsystem__backendpath_is_list:
74
- data__buildsystem__backendpath_len = len(data__buildsystem__backendpath)
75
- for data__buildsystem__backendpath_x, data__buildsystem__backendpath_item in enumerate(data__buildsystem__backendpath):
76
- if not isinstance(data__buildsystem__backendpath_item, (str)):
77
- 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')
78
- if data__buildsystem_keys:
79
- 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')
80
- if "project" in data_keys:
81
- data_keys.remove("project")
82
- data__project = data["project"]
83
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata(data__project, custom_formats, (name_prefix or "data") + ".project")
84
- if "tool" in data_keys:
85
- data_keys.remove("tool")
86
- data__tool = data["tool"]
87
- if not isinstance(data__tool, (dict)):
88
- 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://docs.python.org/3/install/', 'title': '``tool.distutils`` table', '$$description': ['Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` scripts via `distutils configuration files', '<https://docs.python.org/3/install/#distutils-configuration-files>`_.', '``tool.distutils`` subtables could be used with the same purpose', '(NOT CURRENTLY IMPLEMENTED).'], '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/references/keywords.html', 'title': '``tool.setuptools`` table', '$$description': ['Please notice for the time being the ``setuptools`` project does not specify', 'a way of configuring builds via ``pyproject.toml``.', 'Therefore this schema should be taken just as a *"thought experiment"* on how', 'this *might be done*, by following the principles established in', '`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_', 'that can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`', 'but intentionally excludes ``dependency_links`` and ``setup_requires``.', 'NOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion with', 'entry-point based scripts (defined in :pep:`621`).'], '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.', 'type': 'boolean'}, 'script-files': {'description': 'Legacy way of defining scripts (entry-points are preferred).', '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.'], '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': {'type': 'string', 'format': 'python-module-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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, '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': {'oneOf': [{'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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['**DEPRECATED**: dict-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', "Please notice this don't work with wheels. 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.', '(might become standard with PEP 639).'], '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`.'], 'oneOf': [{'$ref': '#/definitions/attr-directive'}, {'$ref': '#/definitions/file-directive'}]}, 'classifiers': {'$ref': '#/definitions/file-directive'}, 'description': {'$ref': '#/definitions/file-directive'}, 'dependencies': {'$ref': '#/definitions/file-directive'}, 'entry-points': {'$ref': '#/definitions/file-directive'}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$ref': '#/definitions/file-directive'}}}, 'readme': {'anyOf': [{'$ref': '#/definitions/file-directive'}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}}, 'definitions': {'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']}, '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'}}, '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')
89
- data__tool_is_dict = isinstance(data__tool, dict)
90
- if data__tool_is_dict:
91
- data__tool_keys = set(data__tool.keys())
92
- if "distutils" in data__tool_keys:
93
- data__tool_keys.remove("distutils")
94
- data__tool__distutils = data__tool["distutils"]
95
- validate_https___docs_python_org_3_install(data__tool__distutils, custom_formats, (name_prefix or "data") + ".tool.distutils")
96
- if "setuptools" in data__tool_keys:
97
- data__tool_keys.remove("setuptools")
98
- data__tool__setuptools = data__tool["setuptools"]
99
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html(data__tool__setuptools, custom_formats, (name_prefix or "data") + ".tool.setuptools")
100
- if data_keys:
101
- 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/declaring-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://docs.python.org/3/install/', 'title': '``tool.distutils`` table', '$$description': ['Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` scripts via `distutils configuration files', '<https://docs.python.org/3/install/#distutils-configuration-files>`_.', '``tool.distutils`` subtables could be used with the same purpose', '(NOT CURRENTLY IMPLEMENTED).'], '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/references/keywords.html', 'title': '``tool.setuptools`` table', '$$description': ['Please notice for the time being the ``setuptools`` project does not specify', 'a way of configuring builds via ``pyproject.toml``.', 'Therefore this schema should be taken just as a *"thought experiment"* on how', 'this *might be done*, by following the principles established in', '`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_', 'that can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`', 'but intentionally excludes ``dependency_links`` and ``setup_requires``.', 'NOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion with', 'entry-point based scripts (defined in :pep:`621`).'], '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.', 'type': 'boolean'}, 'script-files': {'description': 'Legacy way of defining scripts (entry-points are preferred).', '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.'], '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': {'type': 'string', 'format': 'python-module-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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, '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': {'oneOf': [{'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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['**DEPRECATED**: dict-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', "Please notice this don't work with wheels. 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.', '(might become standard with PEP 639).'], '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`.'], 'oneOf': [{'$ref': '#/definitions/attr-directive'}, {'$ref': '#/definitions/file-directive'}]}, 'classifiers': {'$ref': '#/definitions/file-directive'}, 'description': {'$ref': '#/definitions/file-directive'}, 'dependencies': {'$ref': '#/definitions/file-directive'}, 'entry-points': {'$ref': '#/definitions/file-directive'}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$ref': '#/definitions/file-directive'}}}, 'readme': {'anyOf': [{'$ref': '#/definitions/file-directive'}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}}, 'definitions': {'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']}, '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'}}, '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/declaring-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
102
- return data
103
-
104
- def validate_https___setuptools_pypa_io_en_latest_references_keywords_html(data, custom_formats={}, name_prefix=None):
105
- if not isinstance(data, (dict)):
106
- 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/references/keywords.html', 'title': '``tool.setuptools`` table', '$$description': ['Please notice for the time being the ``setuptools`` project does not specify', 'a way of configuring builds via ``pyproject.toml``.', 'Therefore this schema should be taken just as a *"thought experiment"* on how', 'this *might be done*, by following the principles established in', '`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_', 'that can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`', 'but intentionally excludes ``dependency_links`` and ``setup_requires``.', 'NOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion with', 'entry-point based scripts (defined in :pep:`621`).'], '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.', 'type': 'boolean'}, 'script-files': {'description': 'Legacy way of defining scripts (entry-points are preferred).', '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.'], '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': {'type': 'string', 'format': 'python-module-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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, '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': {'oneOf': [{'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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['**DEPRECATED**: dict-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', "Please notice this don't work with wheels. 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.', '(might become standard with PEP 639).'], '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`.'], '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'}}, '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']}, 'dependencies': {'$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']}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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']}}}, 'readme': {'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']}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}}, 'definitions': {'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']}, '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'}}, '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')
107
- data_is_dict = isinstance(data, dict)
108
- if data_is_dict:
109
- data_keys = set(data.keys())
110
- if "platforms" in data_keys:
111
- data_keys.remove("platforms")
112
- data__platforms = data["platforms"]
113
- if not isinstance(data__platforms, (list, tuple)):
114
- 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')
115
- data__platforms_is_list = isinstance(data__platforms, (list, tuple))
116
- if data__platforms_is_list:
117
- data__platforms_len = len(data__platforms)
118
- for data__platforms_x, data__platforms_item in enumerate(data__platforms):
119
- if not isinstance(data__platforms_item, (str)):
120
- 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')
121
- if "provides" in data_keys:
122
- data_keys.remove("provides")
123
- data__provides = data["provides"]
124
- if not isinstance(data__provides, (list, tuple)):
125
- 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')
126
- data__provides_is_list = isinstance(data__provides, (list, tuple))
127
- if data__provides_is_list:
128
- data__provides_len = len(data__provides)
129
- for data__provides_x, data__provides_item in enumerate(data__provides):
130
- if not isinstance(data__provides_item, (str)):
131
- 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')
132
- if isinstance(data__provides_item, str):
133
- if not custom_formats["pep508-identifier"](data__provides_item):
134
- 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')
135
- if "obsoletes" in data_keys:
136
- data_keys.remove("obsoletes")
137
- data__obsoletes = data["obsoletes"]
138
- if not isinstance(data__obsoletes, (list, tuple)):
139
- 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')
140
- data__obsoletes_is_list = isinstance(data__obsoletes, (list, tuple))
141
- if data__obsoletes_is_list:
142
- data__obsoletes_len = len(data__obsoletes)
143
- for data__obsoletes_x, data__obsoletes_item in enumerate(data__obsoletes):
144
- if not isinstance(data__obsoletes_item, (str)):
145
- 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')
146
- if isinstance(data__obsoletes_item, str):
147
- if not custom_formats["pep508-identifier"](data__obsoletes_item):
148
- 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')
149
- if "zip-safe" in data_keys:
150
- data_keys.remove("zip-safe")
151
- data__zipsafe = data["zip-safe"]
152
- if not isinstance(data__zipsafe, (bool)):
153
- 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.', 'type': 'boolean'}, rule='type')
154
- if "script-files" in data_keys:
155
- data_keys.remove("script-files")
156
- data__scriptfiles = data["script-files"]
157
- if not isinstance(data__scriptfiles, (list, tuple)):
158
- 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).', 'type': 'array', 'items': {'type': 'string'}, '$comment': 'TODO: is this field deprecated/should be removed?'}, rule='type')
159
- data__scriptfiles_is_list = isinstance(data__scriptfiles, (list, tuple))
160
- if data__scriptfiles_is_list:
161
- data__scriptfiles_len = len(data__scriptfiles)
162
- for data__scriptfiles_x, data__scriptfiles_item in enumerate(data__scriptfiles):
163
- if not isinstance(data__scriptfiles_item, (str)):
164
- 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')
165
- if "eager-resources" in data_keys:
166
- data_keys.remove("eager-resources")
167
- data__eagerresources = data["eager-resources"]
168
- if not isinstance(data__eagerresources, (list, tuple)):
169
- 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.'], 'type': 'array', 'items': {'type': 'string'}}, rule='type')
170
- data__eagerresources_is_list = isinstance(data__eagerresources, (list, tuple))
171
- if data__eagerresources_is_list:
172
- data__eagerresources_len = len(data__eagerresources)
173
- for data__eagerresources_x, data__eagerresources_item in enumerate(data__eagerresources):
174
- if not isinstance(data__eagerresources_item, (str)):
175
- 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')
176
- if "packages" in data_keys:
177
- data_keys.remove("packages")
178
- data__packages = data["packages"]
179
- data__packages_one_of_count1 = 0
180
- if data__packages_one_of_count1 < 2:
181
- try:
182
- if not isinstance(data__packages, (list, tuple)):
183
- 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': {'type': 'string', 'format': 'python-module-name'}}, rule='type')
184
- data__packages_is_list = isinstance(data__packages, (list, tuple))
185
- if data__packages_is_list:
186
- data__packages_len = len(data__packages)
187
- for data__packages_x, data__packages_item in enumerate(data__packages):
188
- if not isinstance(data__packages_item, (str)):
189
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".packages[{data__packages_x}]".format(**locals()) + " must be string", value=data__packages_item, name="" + (name_prefix or "data") + ".packages[{data__packages_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name'}, rule='type')
190
- if isinstance(data__packages_item, str):
191
- if not custom_formats["python-module-name"](data__packages_item):
192
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".packages[{data__packages_x}]".format(**locals()) + " must be python-module-name", value=data__packages_item, name="" + (name_prefix or "data") + ".packages[{data__packages_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name'}, rule='format')
193
- data__packages_one_of_count1 += 1
194
- except JsonSchemaValueException: pass
195
- if data__packages_one_of_count1 < 2:
196
- try:
197
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_find_directive(data__packages, custom_formats, (name_prefix or "data") + ".packages")
198
- data__packages_one_of_count1 += 1
199
- except JsonSchemaValueException: pass
200
- if data__packages_one_of_count1 != 1:
201
- 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': {'type': 'string', 'format': 'python-module-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')
202
- if "package-dir" in data_keys:
203
- data_keys.remove("package-dir")
204
- data__packagedir = data["package-dir"]
205
- if not isinstance(data__packagedir, (dict)):
206
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, rule='type')
207
- data__packagedir_is_dict = isinstance(data__packagedir, dict)
208
- if data__packagedir_is_dict:
209
- data__packagedir_keys = set(data__packagedir.keys())
210
- for data__packagedir_key, data__packagedir_val in data__packagedir.items():
211
- if REGEX_PATTERNS['^.*$'].search(data__packagedir_key):
212
- if data__packagedir_key in data__packagedir_keys:
213
- data__packagedir_keys.remove(data__packagedir_key)
214
- if not isinstance(data__packagedir_val, (str)):
215
- 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')
216
- if data__packagedir_keys:
217
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, rule='additionalProperties')
218
- data__packagedir_len = len(data__packagedir)
219
- if data__packagedir_len != 0:
220
- data__packagedir_property_names = True
221
- for data__packagedir_key in data__packagedir:
222
- try:
223
- data__packagedir_key_one_of_count2 = 0
224
- if data__packagedir_key_one_of_count2 < 2:
225
- try:
226
- if isinstance(data__packagedir_key, str):
227
- if not custom_formats["python-module-name"](data__packagedir_key):
228
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir must be python-module-name", value=data__packagedir_key, name="" + (name_prefix or "data") + ".package-dir", definition={'format': 'python-module-name'}, rule='format')
229
- data__packagedir_key_one_of_count2 += 1
230
- except JsonSchemaValueException: pass
231
- if data__packagedir_key_one_of_count2 < 2:
232
- try:
233
- if data__packagedir_key != "":
234
- 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')
235
- data__packagedir_key_one_of_count2 += 1
236
- except JsonSchemaValueException: pass
237
- if data__packagedir_key_one_of_count2 != 1:
238
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-dir must be valid exactly by one definition" + (" (" + str(data__packagedir_key_one_of_count2) + " matches found)"), value=data__packagedir_key, name="" + (name_prefix or "data") + ".package-dir", definition={'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, rule='oneOf')
239
- except JsonSchemaValueException:
240
- data__packagedir_property_names = False
241
- if not data__packagedir_property_names:
242
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, 'patternProperties': {'^.*$': {'type': 'string'}}}, rule='propertyNames')
243
- if "package-data" in data_keys:
244
- data_keys.remove("package-data")
245
- data__packagedata = data["package-data"]
246
- if not isinstance(data__packagedata, (dict)):
247
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='type')
248
- data__packagedata_is_dict = isinstance(data__packagedata, dict)
249
- if data__packagedata_is_dict:
250
- data__packagedata_keys = set(data__packagedata.keys())
251
- for data__packagedata_key, data__packagedata_val in data__packagedata.items():
252
- if REGEX_PATTERNS['^.*$'].search(data__packagedata_key):
253
- if data__packagedata_key in data__packagedata_keys:
254
- data__packagedata_keys.remove(data__packagedata_key)
255
- if not isinstance(data__packagedata_val, (list, tuple)):
256
- 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')
257
- data__packagedata_val_is_list = isinstance(data__packagedata_val, (list, tuple))
258
- if data__packagedata_val_is_list:
259
- data__packagedata_val_len = len(data__packagedata_val)
260
- for data__packagedata_val_x, data__packagedata_val_item in enumerate(data__packagedata_val):
261
- if not isinstance(data__packagedata_val_item, (str)):
262
- 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')
263
- if data__packagedata_keys:
264
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='additionalProperties')
265
- data__packagedata_len = len(data__packagedata)
266
- if data__packagedata_len != 0:
267
- data__packagedata_property_names = True
268
- for data__packagedata_key in data__packagedata:
269
- try:
270
- data__packagedata_key_one_of_count3 = 0
271
- if data__packagedata_key_one_of_count3 < 2:
272
- try:
273
- if isinstance(data__packagedata_key, str):
274
- if not custom_formats["python-module-name"](data__packagedata_key):
275
- 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={'format': 'python-module-name'}, rule='format')
276
- data__packagedata_key_one_of_count3 += 1
277
- except JsonSchemaValueException: pass
278
- if data__packagedata_key_one_of_count3 < 2:
279
- try:
280
- if data__packagedata_key != "*":
281
- 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')
282
- data__packagedata_key_one_of_count3 += 1
283
- except JsonSchemaValueException: pass
284
- if data__packagedata_key_one_of_count3 != 1:
285
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".package-data must be valid exactly by one definition" + (" (" + str(data__packagedata_key_one_of_count3) + " matches found)"), value=data__packagedata_key, name="" + (name_prefix or "data") + ".package-data", definition={'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, rule='oneOf')
286
- except JsonSchemaValueException:
287
- data__packagedata_property_names = False
288
- if not data__packagedata_property_names:
289
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='propertyNames')
290
- if "include-package-data" in data_keys:
291
- data_keys.remove("include-package-data")
292
- data__includepackagedata = data["include-package-data"]
293
- if not isinstance(data__includepackagedata, (bool)):
294
- 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')
295
- if "exclude-package-data" in data_keys:
296
- data_keys.remove("exclude-package-data")
297
- data__excludepackagedata = data["exclude-package-data"]
298
- if not isinstance(data__excludepackagedata, (dict)):
299
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='type')
300
- data__excludepackagedata_is_dict = isinstance(data__excludepackagedata, dict)
301
- if data__excludepackagedata_is_dict:
302
- data__excludepackagedata_keys = set(data__excludepackagedata.keys())
303
- for data__excludepackagedata_key, data__excludepackagedata_val in data__excludepackagedata.items():
304
- if REGEX_PATTERNS['^.*$'].search(data__excludepackagedata_key):
305
- if data__excludepackagedata_key in data__excludepackagedata_keys:
306
- data__excludepackagedata_keys.remove(data__excludepackagedata_key)
307
- if not isinstance(data__excludepackagedata_val, (list, tuple)):
308
- 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')
309
- data__excludepackagedata_val_is_list = isinstance(data__excludepackagedata_val, (list, tuple))
310
- if data__excludepackagedata_val_is_list:
311
- data__excludepackagedata_val_len = len(data__excludepackagedata_val)
312
- for data__excludepackagedata_val_x, data__excludepackagedata_val_item in enumerate(data__excludepackagedata_val):
313
- if not isinstance(data__excludepackagedata_val_item, (str)):
314
- 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')
315
- if data__excludepackagedata_keys:
316
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='additionalProperties')
317
- data__excludepackagedata_len = len(data__excludepackagedata)
318
- if data__excludepackagedata_len != 0:
319
- data__excludepackagedata_property_names = True
320
- for data__excludepackagedata_key in data__excludepackagedata:
321
- try:
322
- data__excludepackagedata_key_one_of_count4 = 0
323
- if data__excludepackagedata_key_one_of_count4 < 2:
324
- try:
325
- if isinstance(data__excludepackagedata_key, str):
326
- if not custom_formats["python-module-name"](data__excludepackagedata_key):
327
- 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={'format': 'python-module-name'}, rule='format')
328
- data__excludepackagedata_key_one_of_count4 += 1
329
- except JsonSchemaValueException: pass
330
- if data__excludepackagedata_key_one_of_count4 < 2:
331
- try:
332
- if data__excludepackagedata_key != "*":
333
- 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')
334
- data__excludepackagedata_key_one_of_count4 += 1
335
- except JsonSchemaValueException: pass
336
- if data__excludepackagedata_key_one_of_count4 != 1:
337
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".exclude-package-data must be valid exactly by one definition" + (" (" + str(data__excludepackagedata_key_one_of_count4) + " matches found)"), value=data__excludepackagedata_key, name="" + (name_prefix or "data") + ".exclude-package-data", definition={'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, rule='oneOf')
338
- except JsonSchemaValueException:
339
- data__excludepackagedata_property_names = False
340
- if not data__excludepackagedata_property_names:
341
- 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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='propertyNames')
342
- if "namespace-packages" in data_keys:
343
- data_keys.remove("namespace-packages")
344
- data__namespacepackages = data["namespace-packages"]
345
- if not isinstance(data__namespacepackages, (list, tuple)):
346
- 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'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html'}, rule='type')
347
- data__namespacepackages_is_list = isinstance(data__namespacepackages, (list, tuple))
348
- if data__namespacepackages_is_list:
349
- data__namespacepackages_len = len(data__namespacepackages)
350
- for data__namespacepackages_x, data__namespacepackages_item in enumerate(data__namespacepackages):
351
- if not isinstance(data__namespacepackages_item, (str)):
352
- 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'}, rule='type')
353
- if isinstance(data__namespacepackages_item, str):
354
- if not custom_formats["python-module-name"](data__namespacepackages_item):
355
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".namespace-packages[{data__namespacepackages_x}]".format(**locals()) + " must be python-module-name", value=data__namespacepackages_item, name="" + (name_prefix or "data") + ".namespace-packages[{data__namespacepackages_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name'}, rule='format')
356
- if "py-modules" in data_keys:
357
- data_keys.remove("py-modules")
358
- data__pymodules = data["py-modules"]
359
- if not isinstance(data__pymodules, (list, tuple)):
360
- 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'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, rule='type')
361
- data__pymodules_is_list = isinstance(data__pymodules, (list, tuple))
362
- if data__pymodules_is_list:
363
- data__pymodules_len = len(data__pymodules)
364
- for data__pymodules_x, data__pymodules_item in enumerate(data__pymodules):
365
- if not isinstance(data__pymodules_item, (str)):
366
- 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'}, rule='type')
367
- if isinstance(data__pymodules_item, str):
368
- if not custom_formats["python-module-name"](data__pymodules_item):
369
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".py-modules[{data__pymodules_x}]".format(**locals()) + " must be python-module-name", value=data__pymodules_item, name="" + (name_prefix or "data") + ".py-modules[{data__pymodules_x}]".format(**locals()) + "", definition={'type': 'string', 'format': 'python-module-name'}, rule='format')
370
- if "data-files" in data_keys:
371
- data_keys.remove("data-files")
372
- data__datafiles = data["data-files"]
373
- if not isinstance(data__datafiles, (dict)):
374
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".data-files must be object", value=data__datafiles, name="" + (name_prefix or "data") + ".data-files", definition={'$$description': ['**DEPRECATED**: dict-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', "Please notice this don't work with wheels. See `data files support", '<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_'], 'type': 'object', 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, rule='type')
375
- data__datafiles_is_dict = isinstance(data__datafiles, dict)
376
- if data__datafiles_is_dict:
377
- data__datafiles_keys = set(data__datafiles.keys())
378
- for data__datafiles_key, data__datafiles_val in data__datafiles.items():
379
- if REGEX_PATTERNS['^.*$'].search(data__datafiles_key):
380
- if data__datafiles_key in data__datafiles_keys:
381
- data__datafiles_keys.remove(data__datafiles_key)
382
- if not isinstance(data__datafiles_val, (list, tuple)):
383
- 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')
384
- data__datafiles_val_is_list = isinstance(data__datafiles_val, (list, tuple))
385
- if data__datafiles_val_is_list:
386
- data__datafiles_val_len = len(data__datafiles_val)
387
- for data__datafiles_val_x, data__datafiles_val_item in enumerate(data__datafiles_val):
388
- if not isinstance(data__datafiles_val_item, (str)):
389
- 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')
390
- if "cmdclass" in data_keys:
391
- data_keys.remove("cmdclass")
392
- data__cmdclass = data["cmdclass"]
393
- if not isinstance(data__cmdclass, (dict)):
394
- 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')
395
- data__cmdclass_is_dict = isinstance(data__cmdclass, dict)
396
- if data__cmdclass_is_dict:
397
- data__cmdclass_keys = set(data__cmdclass.keys())
398
- for data__cmdclass_key, data__cmdclass_val in data__cmdclass.items():
399
- if REGEX_PATTERNS['^.*$'].search(data__cmdclass_key):
400
- if data__cmdclass_key in data__cmdclass_keys:
401
- data__cmdclass_keys.remove(data__cmdclass_key)
402
- if not isinstance(data__cmdclass_val, (str)):
403
- 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')
404
- if isinstance(data__cmdclass_val, str):
405
- if not custom_formats["python-qualified-identifier"](data__cmdclass_val):
406
- 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')
407
- if "license-files" in data_keys:
408
- data_keys.remove("license-files")
409
- data__licensefiles = data["license-files"]
410
- if not isinstance(data__licensefiles, (list, tuple)):
411
- 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.', '(might become standard with PEP 639).'], 'default': ['LICEN[CS]E*', ' COPYING*', ' NOTICE*', 'AUTHORS*'], '$comment': 'TODO: revise if PEP 639 is accepted. Probably ``project.license-files``?'}, rule='type')
412
- data__licensefiles_is_list = isinstance(data__licensefiles, (list, tuple))
413
- if data__licensefiles_is_list:
414
- data__licensefiles_len = len(data__licensefiles)
415
- for data__licensefiles_x, data__licensefiles_item in enumerate(data__licensefiles):
416
- if not isinstance(data__licensefiles_item, (str)):
417
- 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')
418
- else: data["license-files"] = ['LICEN[CS]E*', ' COPYING*', ' NOTICE*', 'AUTHORS*']
419
- if "dynamic" in data_keys:
420
- data_keys.remove("dynamic")
421
- data__dynamic = data["dynamic"]
422
- if not isinstance(data__dynamic, (dict)):
423
- 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`.'], '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'}}, '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']}, 'dependencies': {'$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']}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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']}}}, 'readme': {'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']}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}, rule='type')
424
- data__dynamic_is_dict = isinstance(data__dynamic, dict)
425
- if data__dynamic_is_dict:
426
- data__dynamic_keys = set(data__dynamic.keys())
427
- if "version" in data__dynamic_keys:
428
- data__dynamic_keys.remove("version")
429
- data__dynamic__version = data__dynamic["version"]
430
- data__dynamic__version_one_of_count5 = 0
431
- if data__dynamic__version_one_of_count5 < 2:
432
- try:
433
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directive(data__dynamic__version, custom_formats, (name_prefix or "data") + ".dynamic.version")
434
- data__dynamic__version_one_of_count5 += 1
435
- except JsonSchemaValueException: pass
436
- if data__dynamic__version_one_of_count5 < 2:
437
- try:
438
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__version, custom_formats, (name_prefix or "data") + ".dynamic.version")
439
- data__dynamic__version_one_of_count5 += 1
440
- except JsonSchemaValueException: pass
441
- if data__dynamic__version_one_of_count5 != 1:
442
- 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`.'], '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'}}, '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')
443
- if "classifiers" in data__dynamic_keys:
444
- data__dynamic_keys.remove("classifiers")
445
- data__dynamic__classifiers = data__dynamic["classifiers"]
446
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__classifiers, custom_formats, (name_prefix or "data") + ".dynamic.classifiers")
447
- if "description" in data__dynamic_keys:
448
- data__dynamic_keys.remove("description")
449
- data__dynamic__description = data__dynamic["description"]
450
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__description, custom_formats, (name_prefix or "data") + ".dynamic.description")
451
- if "dependencies" in data__dynamic_keys:
452
- data__dynamic_keys.remove("dependencies")
453
- data__dynamic__dependencies = data__dynamic["dependencies"]
454
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__dependencies, custom_formats, (name_prefix or "data") + ".dynamic.dependencies")
455
- if "entry-points" in data__dynamic_keys:
456
- data__dynamic_keys.remove("entry-points")
457
- data__dynamic__entrypoints = data__dynamic["entry-points"]
458
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__entrypoints, custom_formats, (name_prefix or "data") + ".dynamic.entry-points")
459
- if "optional-dependencies" in data__dynamic_keys:
460
- data__dynamic_keys.remove("optional-dependencies")
461
- data__dynamic__optionaldependencies = data__dynamic["optional-dependencies"]
462
- if not isinstance(data__dynamic__optionaldependencies, (dict)):
463
- 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': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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')
464
- data__dynamic__optionaldependencies_is_dict = isinstance(data__dynamic__optionaldependencies, dict)
465
- if data__dynamic__optionaldependencies_is_dict:
466
- data__dynamic__optionaldependencies_keys = set(data__dynamic__optionaldependencies.keys())
467
- for data__dynamic__optionaldependencies_key, data__dynamic__optionaldependencies_val in data__dynamic__optionaldependencies.items():
468
- if REGEX_PATTERNS['.+'].search(data__dynamic__optionaldependencies_key):
469
- if data__dynamic__optionaldependencies_key in data__dynamic__optionaldependencies_keys:
470
- data__dynamic__optionaldependencies_keys.remove(data__dynamic__optionaldependencies_key)
471
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__optionaldependencies_val, custom_formats, (name_prefix or "data") + ".dynamic.optional-dependencies.{data__dynamic__optionaldependencies_key}")
472
- if data__dynamic__optionaldependencies_keys:
473
- 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': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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')
474
- data__dynamic__optionaldependencies_len = len(data__dynamic__optionaldependencies)
475
- if data__dynamic__optionaldependencies_len != 0:
476
- data__dynamic__optionaldependencies_property_names = True
477
- for data__dynamic__optionaldependencies_key in data__dynamic__optionaldependencies:
478
- try:
479
- if isinstance(data__dynamic__optionaldependencies_key, str):
480
- if not custom_formats["python-identifier"](data__dynamic__optionaldependencies_key):
481
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.optional-dependencies must be python-identifier", value=data__dynamic__optionaldependencies_key, name="" + (name_prefix or "data") + ".dynamic.optional-dependencies", definition={'format': 'python-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': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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='propertyNames')
486
- if "readme" in data__dynamic_keys:
487
- data__dynamic_keys.remove("readme")
488
- data__dynamic__readme = data__dynamic["readme"]
489
- data__dynamic__readme_any_of_count6 = 0
490
- if not data__dynamic__readme_any_of_count6:
491
- try:
492
- validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data__dynamic__readme, custom_formats, (name_prefix or "data") + ".dynamic.readme")
493
- data__dynamic__readme_any_of_count6 += 1
494
- except JsonSchemaValueException: pass
495
- if not data__dynamic__readme_any_of_count6:
496
- try:
497
- data__dynamic__readme_is_dict = isinstance(data__dynamic__readme, dict)
498
- if data__dynamic__readme_is_dict:
499
- data__dynamic__readme_keys = set(data__dynamic__readme.keys())
500
- if "content-type" in data__dynamic__readme_keys:
501
- data__dynamic__readme_keys.remove("content-type")
502
- data__dynamic__readme__contenttype = data__dynamic__readme["content-type"]
503
- if not isinstance(data__dynamic__readme__contenttype, (str)):
504
- 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')
505
- data__dynamic__readme_any_of_count6 += 1
506
- except JsonSchemaValueException: pass
507
- if not data__dynamic__readme_any_of_count6:
508
- 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={'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']}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}, rule='anyOf')
509
- data__dynamic__readme_is_dict = isinstance(data__dynamic__readme, dict)
510
- if data__dynamic__readme_is_dict:
511
- data__dynamic__readme_len = len(data__dynamic__readme)
512
- if not all(prop in data__dynamic__readme for prop in ['file']):
513
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".dynamic.readme must contain ['file'] properties", value=data__dynamic__readme, name="" + (name_prefix or "data") + ".dynamic.readme", definition={'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']}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}, rule='required')
514
- if data__dynamic_keys:
515
- 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`.'], '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'}}, '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']}, 'dependencies': {'$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']}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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']}}}, 'readme': {'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']}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}, rule='additionalProperties')
516
- if data_keys:
517
- 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/references/keywords.html', 'title': '``tool.setuptools`` table', '$$description': ['Please notice for the time being the ``setuptools`` project does not specify', 'a way of configuring builds via ``pyproject.toml``.', 'Therefore this schema should be taken just as a *"thought experiment"* on how', 'this *might be done*, by following the principles established in', '`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.', 'It considers only ``setuptools`` `parameters', '<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_', 'that can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`', 'but intentionally excludes ``dependency_links`` and ``setup_requires``.', 'NOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion with', 'entry-point based scripts (defined in :pep:`621`).'], '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.', 'type': 'boolean'}, 'script-files': {'description': 'Legacy way of defining scripts (entry-points are preferred).', '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.'], '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': {'type': 'string', 'format': 'python-module-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': {'oneOf': [{'format': 'python-module-name'}, {'const': ''}]}, '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': {'oneOf': [{'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': {'oneOf': [{'format': 'python-module-name'}, {'const': '*'}]}, 'patternProperties': {'^.*$': {'type': 'array', 'items': {'type': 'string'}}}}, 'namespace-packages': {'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'https://setuptools.pypa.io/en/latest/userguide/package_discovery.html'}, 'py-modules': {'description': 'Modules that setuptools will manipulate', 'type': 'array', 'items': {'type': 'string', 'format': 'python-module-name'}, '$comment': 'TODO: clarify the relationship with ``packages``'}, 'data-files': {'$$description': ['**DEPRECATED**: dict-like structure where each key represents a directory and', 'the value is a list of glob patterns that should be installed in them.', "Please notice this don't work with wheels. 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.', '(might become standard with PEP 639).'], '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`.'], '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'}}, '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']}, 'dependencies': {'$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']}, 'optional-dependencies': {'type': 'object', 'propertyNames': {'format': 'python-identifier'}, 'additionalProperties': False, 'patternProperties': {'.+': {'$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']}}}, 'readme': {'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']}, {'properties': {'content-type': {'type': 'string'}}}], 'required': ['file']}}}}, 'definitions': {'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']}, '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'}}, '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')
518
- return data
519
-
520
- def validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive(data, custom_formats={}, name_prefix=None):
521
- if not isinstance(data, (dict)):
522
- 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')
523
- data_is_dict = isinstance(data, dict)
524
- if data_is_dict:
525
- data_len = len(data)
526
- if not all(prop in data for prop in ['file']):
527
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain ['file'] 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')
528
- data_keys = set(data.keys())
529
- if "file" in data_keys:
530
- data_keys.remove("file")
531
- data__file = data["file"]
532
- data__file_one_of_count7 = 0
533
- if data__file_one_of_count7 < 2:
534
- try:
535
- if not isinstance(data__file, (str)):
536
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".file must be string", value=data__file, name="" + (name_prefix or "data") + ".file", definition={'type': 'string'}, rule='type')
537
- data__file_one_of_count7 += 1
538
- except JsonSchemaValueException: pass
539
- if data__file_one_of_count7 < 2:
540
- try:
541
- if not isinstance(data__file, (list, tuple)):
542
- 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')
543
- data__file_is_list = isinstance(data__file, (list, tuple))
544
- if data__file_is_list:
545
- data__file_len = len(data__file)
546
- for data__file_x, data__file_item in enumerate(data__file):
547
- if not isinstance(data__file_item, (str)):
548
- 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')
549
- data__file_one_of_count7 += 1
550
- except JsonSchemaValueException: pass
551
- if data__file_one_of_count7 != 1:
552
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".file must be valid exactly by one definition" + (" (" + str(data__file_one_of_count7) + " matches found)"), value=data__file, name="" + (name_prefix or "data") + ".file", definition={'oneOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, rule='oneOf')
553
- if data_keys:
554
- 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')
555
- return data
556
-
557
- def validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directive(data, custom_formats={}, name_prefix=None):
558
- if not isinstance(data, (dict)):
559
- 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'}}, 'required': ['attr']}, rule='type')
560
- data_is_dict = isinstance(data, dict)
561
- if data_is_dict:
562
- data_len = len(data)
563
- if not all(prop in data for prop in ['attr']):
564
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain ['attr'] 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'}}, 'required': ['attr']}, rule='required')
565
- data_keys = set(data.keys())
566
- if "attr" in data_keys:
567
- data_keys.remove("attr")
568
- data__attr = data["attr"]
569
- if not isinstance(data__attr, (str)):
570
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".attr must be string", value=data__attr, name="" + (name_prefix or "data") + ".attr", definition={'type': 'string'}, rule='type')
571
- if data_keys:
572
- 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'}}, 'required': ['attr']}, rule='additionalProperties')
573
- return data
574
-
575
- def validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_find_directive(data, custom_formats={}, name_prefix=None):
576
- if not isinstance(data, (dict)):
577
- 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')
578
- data_is_dict = isinstance(data, dict)
579
- if data_is_dict:
580
- data_keys = set(data.keys())
581
- if "find" in data_keys:
582
- data_keys.remove("find")
583
- data__find = data["find"]
584
- if not isinstance(data__find, (dict)):
585
- 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')
586
- data__find_is_dict = isinstance(data__find, dict)
587
- if data__find_is_dict:
588
- data__find_keys = set(data__find.keys())
589
- if "where" in data__find_keys:
590
- data__find_keys.remove("where")
591
- data__find__where = data__find["where"]
592
- if not isinstance(data__find__where, (list, tuple)):
593
- 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')
594
- data__find__where_is_list = isinstance(data__find__where, (list, tuple))
595
- if data__find__where_is_list:
596
- data__find__where_len = len(data__find__where)
597
- for data__find__where_x, data__find__where_item in enumerate(data__find__where):
598
- if not isinstance(data__find__where_item, (str)):
599
- 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')
600
- if "exclude" in data__find_keys:
601
- data__find_keys.remove("exclude")
602
- data__find__exclude = data__find["exclude"]
603
- if not isinstance(data__find__exclude, (list, tuple)):
604
- 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')
605
- data__find__exclude_is_list = isinstance(data__find__exclude, (list, tuple))
606
- if data__find__exclude_is_list:
607
- data__find__exclude_len = len(data__find__exclude)
608
- for data__find__exclude_x, data__find__exclude_item in enumerate(data__find__exclude):
609
- if not isinstance(data__find__exclude_item, (str)):
610
- 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')
611
- if "include" in data__find_keys:
612
- data__find_keys.remove("include")
613
- data__find__include = data__find["include"]
614
- if not isinstance(data__find__include, (list, tuple)):
615
- 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')
616
- data__find__include_is_list = isinstance(data__find__include, (list, tuple))
617
- if data__find__include_is_list:
618
- data__find__include_len = len(data__find__include)
619
- for data__find__include_x, data__find__include_item in enumerate(data__find__include):
620
- if not isinstance(data__find__include_item, (str)):
621
- 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')
622
- if "namespaces" in data__find_keys:
623
- data__find_keys.remove("namespaces")
624
- data__find__namespaces = data__find["namespaces"]
625
- if not isinstance(data__find__namespaces, (bool)):
626
- 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')
627
- if data__find_keys:
628
- 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')
629
- if data_keys:
630
- 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')
631
- return data
632
-
633
- def validate_https___docs_python_org_3_install(data, custom_formats={}, name_prefix=None):
634
- if not isinstance(data, (dict)):
635
- 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://docs.python.org/3/install/', 'title': '``tool.distutils`` table', '$$description': ['Originally, ``distutils`` allowed developers to configure arguments for', '``setup.py`` scripts via `distutils configuration files', '<https://docs.python.org/3/install/#distutils-configuration-files>`_.', '``tool.distutils`` subtables could be used with the same purpose', '(NOT CURRENTLY IMPLEMENTED).'], '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')
636
- data_is_dict = isinstance(data, dict)
637
- if data_is_dict:
638
- data_keys = set(data.keys())
639
- if "global" in data_keys:
640
- data_keys.remove("global")
641
- data__global = data["global"]
642
- if not isinstance(data__global, (dict)):
643
- 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')
644
- for data_key, data_val in data.items():
645
- if REGEX_PATTERNS['.+'].search(data_key):
646
- if data_key in data_keys:
647
- data_keys.remove(data_key)
648
- if not isinstance(data_val, (dict)):
649
- 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')
650
- return data
651
-
652
- def validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata(data, custom_formats={}, name_prefix=None):
653
- if not isinstance(data, (dict)):
654
- 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-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
655
- data_is_dict = isinstance(data, dict)
656
- if data_is_dict:
657
- data_len = len(data)
658
- if not all(prop in data for prop in ['name']):
659
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain ['name'] 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-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
660
- data_keys = set(data.keys())
661
- if "name" in data_keys:
662
- data_keys.remove("name")
663
- data__name = data["name"]
664
- if not isinstance(data__name, (str)):
665
- 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')
666
- if isinstance(data__name, str):
667
- if not custom_formats["pep508-identifier"](data__name):
668
- 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')
669
- if "version" in data_keys:
670
- data_keys.remove("version")
671
- data__version = data["version"]
672
- if not isinstance(data__version, (str)):
673
- 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')
674
- if isinstance(data__version, str):
675
- if not custom_formats["pep440"](data__version):
676
- 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')
677
- if "description" in data_keys:
678
- data_keys.remove("description")
679
- data__description = data["description"]
680
- if not isinstance(data__description, (str)):
681
- 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')
682
- if "readme" in data_keys:
683
- data_keys.remove("readme")
684
- data__readme = data["readme"]
685
- data__readme_one_of_count8 = 0
686
- if data__readme_one_of_count8 < 2:
687
- try:
688
- if not isinstance(data__readme, (str)):
689
- 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')
690
- data__readme_one_of_count8 += 1
691
- except JsonSchemaValueException: pass
692
- if data__readme_one_of_count8 < 2:
693
- try:
694
- if not isinstance(data__readme, (dict)):
695
- 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')
696
- data__readme_any_of_count9 = 0
697
- if not data__readme_any_of_count9:
698
- try:
699
- data__readme_is_dict = isinstance(data__readme, dict)
700
- if data__readme_is_dict:
701
- data__readme_len = len(data__readme)
702
- if not all(prop in data__readme for prop in ['file']):
703
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must contain ['file'] 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')
704
- data__readme_keys = set(data__readme.keys())
705
- if "file" in data__readme_keys:
706
- data__readme_keys.remove("file")
707
- data__readme__file = data__readme["file"]
708
- if not isinstance(data__readme__file, (str)):
709
- 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')
710
- data__readme_any_of_count9 += 1
711
- except JsonSchemaValueException: pass
712
- if not data__readme_any_of_count9:
713
- try:
714
- data__readme_is_dict = isinstance(data__readme, dict)
715
- if data__readme_is_dict:
716
- data__readme_len = len(data__readme)
717
- if not all(prop in data__readme for prop in ['text']):
718
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must contain ['text'] 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')
719
- data__readme_keys = set(data__readme.keys())
720
- if "text" in data__readme_keys:
721
- data__readme_keys.remove("text")
722
- data__readme__text = data__readme["text"]
723
- if not isinstance(data__readme__text, (str)):
724
- 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')
725
- data__readme_any_of_count9 += 1
726
- except JsonSchemaValueException: pass
727
- if not data__readme_any_of_count9:
728
- 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')
729
- data__readme_is_dict = isinstance(data__readme, dict)
730
- if data__readme_is_dict:
731
- data__readme_len = len(data__readme)
732
- if not all(prop in data__readme for prop in ['content-type']):
733
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must contain ['content-type'] 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')
734
- data__readme_keys = set(data__readme.keys())
735
- if "content-type" in data__readme_keys:
736
- data__readme_keys.remove("content-type")
737
- data__readme__contenttype = data__readme["content-type"]
738
- if not isinstance(data__readme__contenttype, (str)):
739
- 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')
740
- data__readme_one_of_count8 += 1
741
- except JsonSchemaValueException: pass
742
- if data__readme_one_of_count8 != 1:
743
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".readme must be valid exactly by one definition" + (" (" + str(data__readme_one_of_count8) + " 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://www.python.org/dev/peps/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')
744
- if "requires-python" in data_keys:
745
- data_keys.remove("requires-python")
746
- data__requirespython = data["requires-python"]
747
- if not isinstance(data__requirespython, (str)):
748
- 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')
749
- if isinstance(data__requirespython, str):
750
- if not custom_formats["pep508-versionspec"](data__requirespython):
751
- 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')
752
- if "license" in data_keys:
753
- data_keys.remove("license")
754
- data__license = data["license"]
755
- data__license_one_of_count10 = 0
756
- if data__license_one_of_count10 < 2:
757
- try:
758
- data__license_is_dict = isinstance(data__license, dict)
759
- if data__license_is_dict:
760
- data__license_len = len(data__license)
761
- if not all(prop in data__license for prop in ['file']):
762
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license must contain ['file'] 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')
763
- data__license_keys = set(data__license.keys())
764
- if "file" in data__license_keys:
765
- data__license_keys.remove("file")
766
- data__license__file = data__license["file"]
767
- if not isinstance(data__license__file, (str)):
768
- 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')
769
- data__license_one_of_count10 += 1
770
- except JsonSchemaValueException: pass
771
- if data__license_one_of_count10 < 2:
772
- try:
773
- data__license_is_dict = isinstance(data__license, dict)
774
- if data__license_is_dict:
775
- data__license_len = len(data__license)
776
- if not all(prop in data__license for prop in ['text']):
777
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license must contain ['text'] 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')
778
- data__license_keys = set(data__license.keys())
779
- if "text" in data__license_keys:
780
- data__license_keys.remove("text")
781
- data__license__text = data__license["text"]
782
- if not isinstance(data__license__text, (str)):
783
- 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')
784
- data__license_one_of_count10 += 1
785
- except JsonSchemaValueException: pass
786
- if data__license_one_of_count10 != 1:
787
- raise JsonSchemaValueException("" + (name_prefix or "data") + ".license must be valid exactly by one definition" + (" (" + str(data__license_one_of_count10) + " matches found)"), value=data__license, name="" + (name_prefix or "data") + ".license", definition={'description': '`Project license <https://www.python.org/dev/peps/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')
788
- if "authors" in data_keys:
789
- data_keys.remove("authors")
790
- data__authors = data["authors"]
791
- if not isinstance(data__authors, (list, tuple)):
792
- 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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
793
- data__authors_is_list = isinstance(data__authors, (list, tuple))
794
- if data__authors_is_list:
795
- data__authors_len = len(data__authors)
796
- for data__authors_x, data__authors_item in enumerate(data__authors):
797
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_author(data__authors_item, custom_formats, (name_prefix or "data") + ".authors[{data__authors_x}]")
798
- if "maintainers" in data_keys:
799
- data_keys.remove("maintainers")
800
- data__maintainers = data["maintainers"]
801
- if not isinstance(data__maintainers, (list, tuple)):
802
- 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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
803
- data__maintainers_is_list = isinstance(data__maintainers, (list, tuple))
804
- if data__maintainers_is_list:
805
- data__maintainers_len = len(data__maintainers)
806
- for data__maintainers_x, data__maintainers_item in enumerate(data__maintainers):
807
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_author(data__maintainers_item, custom_formats, (name_prefix or "data") + ".maintainers[{data__maintainers_x}]")
808
- if "keywords" in data_keys:
809
- data_keys.remove("keywords")
810
- data__keywords = data["keywords"]
811
- if not isinstance(data__keywords, (list, tuple)):
812
- 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')
813
- data__keywords_is_list = isinstance(data__keywords, (list, tuple))
814
- if data__keywords_is_list:
815
- data__keywords_len = len(data__keywords)
816
- for data__keywords_x, data__keywords_item in enumerate(data__keywords):
817
- if not isinstance(data__keywords_item, (str)):
818
- 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')
819
- if "classifiers" in data_keys:
820
- data_keys.remove("classifiers")
821
- data__classifiers = data["classifiers"]
822
- if not isinstance(data__classifiers, (list, tuple)):
823
- 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')
824
- data__classifiers_is_list = isinstance(data__classifiers, (list, tuple))
825
- if data__classifiers_is_list:
826
- data__classifiers_len = len(data__classifiers)
827
- for data__classifiers_x, data__classifiers_item in enumerate(data__classifiers):
828
- if not isinstance(data__classifiers_item, (str)):
829
- 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')
830
- if isinstance(data__classifiers_item, str):
831
- if not custom_formats["trove-classifier"](data__classifiers_item):
832
- 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')
833
- if "urls" in data_keys:
834
- data_keys.remove("urls")
835
- data__urls = data["urls"]
836
- if not isinstance(data__urls, (dict)):
837
- 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')
838
- data__urls_is_dict = isinstance(data__urls, dict)
839
- if data__urls_is_dict:
840
- data__urls_keys = set(data__urls.keys())
841
- for data__urls_key, data__urls_val in data__urls.items():
842
- if REGEX_PATTERNS['^.+$'].search(data__urls_key):
843
- if data__urls_key in data__urls_keys:
844
- data__urls_keys.remove(data__urls_key)
845
- if not isinstance(data__urls_val, (str)):
846
- 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')
847
- if isinstance(data__urls_val, str):
848
- if not custom_formats["url"](data__urls_val):
849
- 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')
850
- if data__urls_keys:
851
- 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')
852
- if "scripts" in data_keys:
853
- data_keys.remove("scripts")
854
- data__scripts = data["scripts"]
855
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_entry_point_group(data__scripts, custom_formats, (name_prefix or "data") + ".scripts")
856
- if "gui-scripts" in data_keys:
857
- data_keys.remove("gui-scripts")
858
- data__guiscripts = data["gui-scripts"]
859
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_entry_point_group(data__guiscripts, custom_formats, (name_prefix or "data") + ".gui-scripts")
860
- if "entry-points" in data_keys:
861
- data_keys.remove("entry-points")
862
- data__entrypoints = data["entry-points"]
863
- data__entrypoints_is_dict = isinstance(data__entrypoints, dict)
864
- if data__entrypoints_is_dict:
865
- data__entrypoints_keys = set(data__entrypoints.keys())
866
- for data__entrypoints_key, data__entrypoints_val in data__entrypoints.items():
867
- if REGEX_PATTERNS['^.+$'].search(data__entrypoints_key):
868
- if data__entrypoints_key in data__entrypoints_keys:
869
- data__entrypoints_keys.remove(data__entrypoints_key)
870
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_entry_point_group(data__entrypoints_val, custom_formats, (name_prefix or "data") + ".entry-points.{data__entrypoints_key}")
871
- if data__entrypoints_keys:
872
- 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')
873
- data__entrypoints_len = len(data__entrypoints)
874
- if data__entrypoints_len != 0:
875
- data__entrypoints_property_names = True
876
- for data__entrypoints_key in data__entrypoints:
877
- try:
878
- if isinstance(data__entrypoints_key, str):
879
- if not custom_formats["python-entrypoint-group"](data__entrypoints_key):
880
- 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')
881
- except JsonSchemaValueException:
882
- data__entrypoints_property_names = False
883
- if not data__entrypoints_property_names:
884
- 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')
885
- if "dependencies" in data_keys:
886
- data_keys.remove("dependencies")
887
- data__dependencies = data["dependencies"]
888
- if not isinstance(data__dependencies, (list, tuple)):
889
- 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')
890
- data__dependencies_is_list = isinstance(data__dependencies, (list, tuple))
891
- if data__dependencies_is_list:
892
- data__dependencies_len = len(data__dependencies)
893
- for data__dependencies_x, data__dependencies_item in enumerate(data__dependencies):
894
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_dependency(data__dependencies_item, custom_formats, (name_prefix or "data") + ".dependencies[{data__dependencies_x}]")
895
- if "optional-dependencies" in data_keys:
896
- data_keys.remove("optional-dependencies")
897
- data__optionaldependencies = data["optional-dependencies"]
898
- if not isinstance(data__optionaldependencies, (dict)):
899
- 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')
900
- data__optionaldependencies_is_dict = isinstance(data__optionaldependencies, dict)
901
- if data__optionaldependencies_is_dict:
902
- data__optionaldependencies_keys = set(data__optionaldependencies.keys())
903
- for data__optionaldependencies_key, data__optionaldependencies_val in data__optionaldependencies.items():
904
- if REGEX_PATTERNS['^.+$'].search(data__optionaldependencies_key):
905
- if data__optionaldependencies_key in data__optionaldependencies_keys:
906
- data__optionaldependencies_keys.remove(data__optionaldependencies_key)
907
- if not isinstance(data__optionaldependencies_val, (list, tuple)):
908
- 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')
909
- data__optionaldependencies_val_is_list = isinstance(data__optionaldependencies_val, (list, tuple))
910
- if data__optionaldependencies_val_is_list:
911
- data__optionaldependencies_val_len = len(data__optionaldependencies_val)
912
- for data__optionaldependencies_val_x, data__optionaldependencies_val_item in enumerate(data__optionaldependencies_val):
913
- validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_dependency(data__optionaldependencies_val_item, custom_formats, (name_prefix or "data") + ".optional-dependencies.{data__optionaldependencies_key}[{data__optionaldependencies_val_x}]")
914
- if data__optionaldependencies_keys:
915
- 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')
916
- data__optionaldependencies_len = len(data__optionaldependencies)
917
- if data__optionaldependencies_len != 0:
918
- data__optionaldependencies_property_names = True
919
- for data__optionaldependencies_key in data__optionaldependencies:
920
- try:
921
- if isinstance(data__optionaldependencies_key, str):
922
- if not custom_formats["pep508-identifier"](data__optionaldependencies_key):
923
- 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')
924
- except JsonSchemaValueException:
925
- data__optionaldependencies_property_names = False
926
- if not data__optionaldependencies_property_names:
927
- 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')
928
- if "dynamic" in data_keys:
929
- data_keys.remove("dynamic")
930
- data__dynamic = data["dynamic"]
931
- if not isinstance(data__dynamic, (list, tuple)):
932
- 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')
933
- data__dynamic_is_list = isinstance(data__dynamic, (list, tuple))
934
- if data__dynamic_is_list:
935
- data__dynamic_len = len(data__dynamic)
936
- for data__dynamic_x, data__dynamic_item in enumerate(data__dynamic):
937
- 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']:
938
- 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')
939
- if data_keys:
940
- 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-project-metadata/', '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://www.python.org/dev/peps/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://www.python.org/dev/peps/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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
941
- try:
942
- try:
943
- data_is_dict = isinstance(data, dict)
944
- if data_is_dict:
945
- data_len = len(data)
946
- if not all(prop in data for prop in ['dynamic']):
947
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain ['dynamic'] properties", value=data, name="" + (name_prefix or "data") + "", definition={'required': ['dynamic'], 'properties': {'dynamic': {'contains': {'const': 'version'}, '$$description': ['version is listed in ``dynamic``']}}}, rule='required')
948
- data_keys = set(data.keys())
949
- if "dynamic" in data_keys:
950
- data_keys.remove("dynamic")
951
- data__dynamic = data["dynamic"]
952
- data__dynamic_is_list = isinstance(data__dynamic, (list, tuple))
953
- if data__dynamic_is_list:
954
- data__dynamic_contains = False
955
- for data__dynamic_key in data__dynamic:
956
- try:
957
- if data__dynamic_key != "version":
958
- 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')
959
- data__dynamic_contains = True
960
- break
961
- except JsonSchemaValueException: pass
962
- if not data__dynamic_contains:
963
- 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')
964
- except JsonSchemaValueException: pass
965
- else:
966
- 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')
967
- except JsonSchemaValueException:
968
- pass
969
- else:
970
- data_is_dict = isinstance(data, dict)
971
- if data_is_dict:
972
- data_len = len(data)
973
- if not all(prop in data for prop in ['version']):
974
- raise JsonSchemaValueException("" + (name_prefix or "data") + " must contain ['version'] properties", value=data, name="" + (name_prefix or "data") + "", definition={'required': ['version'], '$$description': ['version should be statically defined in the ``version`` field']}, rule='required')
975
- return data
976
-
977
- def validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_dependency(data, custom_formats={}, name_prefix=None):
978
- if not isinstance(data, (str)):
979
- 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')
980
- if isinstance(data, str):
981
- if not custom_formats["pep508"](data):
982
- 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')
983
- return data
984
-
985
- def validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_entry_point_group(data, custom_formats={}, name_prefix=None):
986
- if not isinstance(data, (dict)):
987
- 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')
988
- data_is_dict = isinstance(data, dict)
989
- if data_is_dict:
990
- data_keys = set(data.keys())
991
- for data_key, data_val in data.items():
992
- if REGEX_PATTERNS['^.+$'].search(data_key):
993
- if data_key in data_keys:
994
- data_keys.remove(data_key)
995
- if not isinstance(data_val, (str)):
996
- 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')
997
- if isinstance(data_val, str):
998
- if not custom_formats["python-entrypoint-reference"](data_val):
999
- 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')
1000
- if data_keys:
1001
- 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')
1002
- data_len = len(data)
1003
- if data_len != 0:
1004
- data_property_names = True
1005
- for data_key in data:
1006
- try:
1007
- if isinstance(data_key, str):
1008
- if not custom_formats["python-entrypoint-name"](data_key):
1009
- 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')
1010
- except JsonSchemaValueException:
1011
- data_property_names = False
1012
- if not data_property_names:
1013
- 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')
1014
- return data
1015
-
1016
- def validate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_author(data, custom_formats={}, name_prefix=None):
1017
- if not isinstance(data, (dict)):
1018
- 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://www.python.org/dev/peps/pep-0621/#authors-maintainers', 'type': 'object', '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')
1019
- data_is_dict = isinstance(data, dict)
1020
- if data_is_dict:
1021
- data_keys = set(data.keys())
1022
- if "name" in data_keys:
1023
- data_keys.remove("name")
1024
- data__name = data["name"]
1025
- if not isinstance(data__name, (str)):
1026
- 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')
1027
- if "email" in data_keys:
1028
- data_keys.remove("email")
1029
- data__email = data["email"]
1030
- if not isinstance(data__email, (str)):
1031
- 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')
1032
- if isinstance(data__email, str):
1033
- if not REGEX_PATTERNS["idn-email_re_pattern"].match(data__email):
1034
- 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')
1035
- return data