@scrypted/server 0.0.141 → 0.0.142

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.

Potentially problematic release.


This version of @scrypted/server might be problematic. Click here for more details.

Files changed (710) hide show
  1. package/package.json +1 -1
  2. package/.venv/bin/Activate.ps1 +0 -241
  3. package/.venv/bin/activate +0 -66
  4. package/.venv/bin/activate.csh +0 -25
  5. package/.venv/bin/activate.fish +0 -64
  6. package/.venv/bin/pip +0 -8
  7. package/.venv/bin/pip3 +0 -8
  8. package/.venv/bin/pip3.9 +0 -8
  9. package/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py +0 -198
  10. package/.venv/lib/python3.9/site-packages/_distutils_hack/override.py +0 -1
  11. package/.venv/lib/python3.9/site-packages/distutils-precedence.pth +0 -1
  12. package/.venv/lib/python3.9/site-packages/pgi/__init__.py +0 -62
  13. package/.venv/lib/python3.9/site-packages/pgi/_compat.py +0 -74
  14. package/.venv/lib/python3.9/site-packages/pgi/callback.py +0 -15
  15. package/.venv/lib/python3.9/site-packages/pgi/cffilib/__init__.py +0 -12
  16. package/.venv/lib/python3.9/site-packages/pgi/cffilib/_compat.py +0 -25
  17. package/.venv/lib/python3.9/site-packages/pgi/cffilib/_utils.py +0 -119
  18. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/__init__.py +0 -60
  19. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/_cdef.py +0 -574
  20. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/_ffi.py +0 -25
  21. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/error.py +0 -13
  22. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giarginfo.py +0 -73
  23. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giargument.py +0 -36
  24. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gibaseinfo.py +0 -113
  25. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gicallableinfo.py +0 -75
  26. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giconstantinfo.py +0 -22
  27. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gienuminfo.py +0 -59
  28. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gifieldinfo.py +0 -40
  29. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gifunctioninfo.py +0 -64
  30. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giinterfaceinfo.py +0 -93
  31. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giobjectinfo.py +0 -143
  32. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gipropertyinfo.py +0 -28
  33. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giregisteredtypeinfo.py +0 -27
  34. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/girepository.py +0 -143
  35. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gisignalinfo.py +0 -55
  36. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gistructinfo.py +0 -55
  37. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gitypeinfo.py +0 -66
  38. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/gitypelib.py +0 -40
  39. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gir/giunioninfo.py +0 -66
  40. package/.venv/lib/python3.9/site-packages/pgi/cffilib/glib/__init__.py +0 -8
  41. package/.venv/lib/python3.9/site-packages/pgi/cffilib/glib/_cdef.py +0 -101
  42. package/.venv/lib/python3.9/site-packages/pgi/cffilib/glib/glib.py +0 -260
  43. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gobject/__init__.py +0 -15
  44. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gobject/_cdef.py +0 -45
  45. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gobject/_ffi.py +0 -26
  46. package/.venv/lib/python3.9/site-packages/pgi/cffilib/gobject/gobject.py +0 -27
  47. package/.venv/lib/python3.9/site-packages/pgi/clib/__init__.py +0 -11
  48. package/.venv/lib/python3.9/site-packages/pgi/clib/_compat.py +0 -20
  49. package/.venv/lib/python3.9/site-packages/pgi/clib/_utils.py +0 -213
  50. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/__init__.py +0 -71
  51. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/error.py +0 -13
  52. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giarginfo.py +0 -65
  53. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giargument.py +0 -58
  54. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gibaseinfo.py +0 -152
  55. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gicallableinfo.py +0 -203
  56. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giconstantinfo.py +0 -35
  57. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gienuminfo.py +0 -64
  58. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gifieldinfo.py +0 -46
  59. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giinterfaceinfo.py +0 -83
  60. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giobjectinfo.py +0 -134
  61. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gipropertyinfo.py +0 -36
  62. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giregisteredtypeinfo.py +0 -34
  63. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/girepository.py +0 -200
  64. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gistructinfo.py +0 -55
  65. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gitypeinfo.py +0 -97
  66. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/gitypelib.py +0 -56
  67. package/.venv/lib/python3.9/site-packages/pgi/clib/gir/giunioninfo.py +0 -60
  68. package/.venv/lib/python3.9/site-packages/pgi/clib/glib.py +0 -336
  69. package/.venv/lib/python3.9/site-packages/pgi/clib/gobject.py +0 -405
  70. package/.venv/lib/python3.9/site-packages/pgi/codegen/__init__.py +0 -28
  71. package/.venv/lib/python3.9/site-packages/pgi/codegen/arguments.py +0 -640
  72. package/.venv/lib/python3.9/site-packages/pgi/codegen/backend.py +0 -95
  73. package/.venv/lib/python3.9/site-packages/pgi/codegen/cbargs.py +0 -152
  74. package/.venv/lib/python3.9/site-packages/pgi/codegen/cbreturn.py +0 -77
  75. package/.venv/lib/python3.9/site-packages/pgi/codegen/cffi_backend.py +0 -424
  76. package/.venv/lib/python3.9/site-packages/pgi/codegen/construct.py +0 -222
  77. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/__init__.py +0 -11
  78. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/main.py +0 -184
  79. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/types_basic.py +0 -705
  80. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/types_container.py +0 -236
  81. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/types_interface.py +0 -402
  82. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/types_other.py +0 -93
  83. package/.venv/lib/python3.9/site-packages/pgi/codegen/ctypes_backend/utils.py +0 -168
  84. package/.venv/lib/python3.9/site-packages/pgi/codegen/fieldgen.py +0 -114
  85. package/.venv/lib/python3.9/site-packages/pgi/codegen/fields.py +0 -244
  86. package/.venv/lib/python3.9/site-packages/pgi/codegen/funcgen.py +0 -376
  87. package/.venv/lib/python3.9/site-packages/pgi/codegen/null_backend.py +0 -110
  88. package/.venv/lib/python3.9/site-packages/pgi/codegen/returnvalues.py +0 -443
  89. package/.venv/lib/python3.9/site-packages/pgi/codegen/siggen.py +0 -157
  90. package/.venv/lib/python3.9/site-packages/pgi/codegen/utils.py +0 -248
  91. package/.venv/lib/python3.9/site-packages/pgi/const.py +0 -9
  92. package/.venv/lib/python3.9/site-packages/pgi/constant.py +0 -32
  93. package/.venv/lib/python3.9/site-packages/pgi/debug.py +0 -31
  94. package/.venv/lib/python3.9/site-packages/pgi/enum.py +0 -244
  95. package/.venv/lib/python3.9/site-packages/pgi/field.py +0 -58
  96. package/.venv/lib/python3.9/site-packages/pgi/finalizer.py +0 -3
  97. package/.venv/lib/python3.9/site-packages/pgi/foreign/__init__.py +0 -71
  98. package/.venv/lib/python3.9/site-packages/pgi/foreign/_base.py +0 -43
  99. package/.venv/lib/python3.9/site-packages/pgi/foreign/cairo.py +0 -41
  100. package/.venv/lib/python3.9/site-packages/pgi/function.py +0 -12
  101. package/.venv/lib/python3.9/site-packages/pgi/gerror.py +0 -58
  102. package/.venv/lib/python3.9/site-packages/pgi/gtype.py +0 -168
  103. package/.venv/lib/python3.9/site-packages/pgi/importer.py +0 -189
  104. package/.venv/lib/python3.9/site-packages/pgi/module.py +0 -141
  105. package/.venv/lib/python3.9/site-packages/pgi/obj.py +0 -519
  106. package/.venv/lib/python3.9/site-packages/pgi/overrides/GLib.py +0 -1013
  107. package/.venv/lib/python3.9/site-packages/pgi/overrides/GObject.py +0 -583
  108. package/.venv/lib/python3.9/site-packages/pgi/overrides/Gdk.py +0 -454
  109. package/.venv/lib/python3.9/site-packages/pgi/overrides/Gio.py +0 -237
  110. package/.venv/lib/python3.9/site-packages/pgi/overrides/Gtk.py +0 -2412
  111. package/.venv/lib/python3.9/site-packages/pgi/overrides/Pango.py +0 -53
  112. package/.venv/lib/python3.9/site-packages/pgi/overrides/Poppler.py +0 -61
  113. package/.venv/lib/python3.9/site-packages/pgi/overrides/__init__.py +0 -327
  114. package/.venv/lib/python3.9/site-packages/pgi/overrides/keysyms.py +0 -54
  115. package/.venv/lib/python3.9/site-packages/pgi/properties.py +0 -313
  116. package/.venv/lib/python3.9/site-packages/pgi/propertyhelper.py +0 -12
  117. package/.venv/lib/python3.9/site-packages/pgi/repository/__init__.py +0 -10
  118. package/.venv/lib/python3.9/site-packages/pgi/signalhelper.py +0 -18
  119. package/.venv/lib/python3.9/site-packages/pgi/signals.py +0 -122
  120. package/.venv/lib/python3.9/site-packages/pgi/static.py +0 -189
  121. package/.venv/lib/python3.9/site-packages/pgi/structure.py +0 -131
  122. package/.venv/lib/python3.9/site-packages/pgi/util.py +0 -342
  123. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/COPYING +0 -502
  124. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/INSTALLER +0 -1
  125. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/METADATA +0 -22
  126. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/RECORD +0 -229
  127. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/REQUESTED +0 -0
  128. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/WHEEL +0 -5
  129. package/.venv/lib/python3.9/site-packages/pgi-0.0.11.2.dist-info/top_level.txt +0 -1
  130. package/.venv/lib/python3.9/site-packages/pip/__init__.py +0 -13
  131. package/.venv/lib/python3.9/site-packages/pip/__main__.py +0 -31
  132. package/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py +0 -19
  133. package/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py +0 -293
  134. package/.venv/lib/python3.9/site-packages/pip/_internal/cache.py +0 -264
  135. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py +0 -4
  136. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py +0 -163
  137. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py +0 -214
  138. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py +0 -1010
  139. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py +0 -27
  140. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py +0 -70
  141. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py +0 -87
  142. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py +0 -292
  143. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py +0 -250
  144. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py +0 -469
  145. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py +0 -157
  146. package/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py +0 -6
  147. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py +0 -127
  148. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py +0 -223
  149. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py +0 -53
  150. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py +0 -96
  151. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py +0 -266
  152. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py +0 -202
  153. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py +0 -139
  154. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py +0 -97
  155. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py +0 -59
  156. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py +0 -41
  157. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py +0 -138
  158. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py +0 -770
  159. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py +0 -361
  160. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py +0 -174
  161. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py +0 -235
  162. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py +0 -105
  163. package/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py +0 -177
  164. package/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py +0 -367
  165. package/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py +0 -21
  166. package/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py +0 -36
  167. package/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py +0 -22
  168. package/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py +0 -129
  169. package/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py +0 -31
  170. package/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py +0 -402
  171. package/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py +0 -2
  172. package/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py +0 -536
  173. package/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py +0 -993
  174. package/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py +0 -224
  175. package/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py +0 -446
  176. package/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py +0 -169
  177. package/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py +0 -219
  178. package/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py +0 -52
  179. package/.venv/lib/python3.9/site-packages/pip/_internal/main.py +0 -12
  180. package/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py +0 -51
  181. package/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py +0 -330
  182. package/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py +0 -146
  183. package/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py +0 -2
  184. package/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py +0 -34
  185. package/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py +0 -220
  186. package/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py +0 -80
  187. package/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py +0 -28
  188. package/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py +0 -288
  189. package/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py +0 -31
  190. package/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py +0 -129
  191. package/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py +0 -51
  192. package/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py +0 -110
  193. package/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py +0 -89
  194. package/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py +0 -2
  195. package/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py +0 -323
  196. package/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py +0 -69
  197. package/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py +0 -184
  198. package/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  199. package/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py +0 -454
  200. package/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py +0 -96
  201. package/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  202. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py +0 -0
  203. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  204. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py +0 -30
  205. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -34
  206. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -67
  207. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  208. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  209. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -105
  210. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py +0 -149
  211. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py +0 -254
  212. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  213. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -46
  214. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py +0 -125
  215. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py +0 -738
  216. package/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py +0 -632
  217. package/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py +0 -183
  218. package/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py +0 -94
  219. package/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py +0 -466
  220. package/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py +0 -536
  221. package/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py +0 -891
  222. package/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py +0 -189
  223. package/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py +0 -124
  224. package/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py +0 -633
  225. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py +0 -0
  226. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py +0 -20
  227. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  228. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -467
  229. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  230. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -141
  231. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -540
  232. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -701
  233. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -155
  234. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -215
  235. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -68
  236. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  237. package/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -251
  238. package/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py +0 -182
  239. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py +0 -0
  240. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py +0 -38
  241. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py +0 -52
  242. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py +0 -63
  243. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  244. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py +0 -11
  245. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py +0 -120
  246. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  247. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py +0 -42
  248. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/egg_link.py +0 -75
  249. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py +0 -36
  250. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py +0 -27
  251. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py +0 -182
  252. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py +0 -27
  253. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py +0 -88
  254. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py +0 -144
  255. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py +0 -35
  256. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py +0 -358
  257. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py +0 -689
  258. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py +0 -39
  259. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py +0 -84
  260. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py +0 -103
  261. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py +0 -33
  262. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py +0 -167
  263. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py +0 -289
  264. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py +0 -246
  265. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py +0 -258
  266. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py +0 -62
  267. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  268. package/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py +0 -182
  269. package/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py +0 -15
  270. package/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py +0 -93
  271. package/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py +0 -513
  272. package/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py +0 -153
  273. package/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py +0 -318
  274. package/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py +0 -693
  275. package/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py +0 -375
  276. package/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py +0 -111
  277. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -11
  278. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -57
  279. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -133
  280. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py +0 -39
  281. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -2
  282. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -146
  283. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -33
  284. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py +0 -29
  285. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py +0 -376
  286. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -80
  287. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -135
  288. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -188
  289. package/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -29
  290. package/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py +0 -3
  291. package/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  292. package/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem +0 -4257
  293. package/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py +0 -76
  294. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py +0 -83
  295. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  296. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  297. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py +0 -233
  298. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -107
  299. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py +0 -145
  300. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -1
  301. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -84
  302. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  303. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py +0 -36
  304. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  305. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py +0 -76
  306. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py +0 -101
  307. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py +0 -246
  308. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -92
  309. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -195
  310. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  311. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -387
  312. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py +0 -46
  313. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -283
  314. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -46
  315. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -292
  316. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  317. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py +0 -233
  318. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4650
  319. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4398
  320. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4383
  321. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4650
  322. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5718
  323. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4383
  324. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4383
  325. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  326. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -91
  327. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -54
  328. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py +0 -572
  329. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  330. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -310
  331. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -145
  332. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -83
  333. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py +0 -92
  334. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py +0 -286
  335. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  336. package/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py +0 -9
  337. package/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  338. package/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  339. package/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -258
  340. package/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  341. package/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py +0 -152
  342. package/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  343. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  344. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py +0 -6
  345. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py +0 -41
  346. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py +0 -764
  347. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +0 -84
  348. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +0 -786
  349. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py +0 -2607
  350. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py +0 -1122
  351. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py +0 -1339
  352. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py +0 -509
  353. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  354. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  355. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py +0 -147
  356. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py +0 -1058
  357. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py +0 -358
  358. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py +0 -429
  359. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  360. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  361. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  362. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py +0 -1969
  363. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py +0 -739
  364. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  365. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  366. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  367. package/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py +0 -1053
  368. package/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py +0 -1386
  369. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py +0 -35
  370. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py +0 -289
  371. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py +0 -918
  372. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py +0 -1735
  373. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py +0 -5
  374. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py +0 -40
  375. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py +0 -67
  376. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py +0 -159
  377. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py +0 -2946
  378. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  379. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +0 -29
  380. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py +0 -12
  381. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +0 -73
  382. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py +0 -93
  383. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +0 -207
  384. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +0 -916
  385. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py +0 -38
  386. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py +0 -2795
  387. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py +0 -409
  388. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +0 -30
  389. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +0 -54
  390. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +0 -50
  391. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +0 -88
  392. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py +0 -417
  393. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +0 -239
  394. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +0 -343
  395. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +0 -392
  396. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +0 -154
  397. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py +0 -252
  398. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +0 -43
  399. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +0 -131
  400. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +0 -215
  401. package/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +0 -69
  402. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py +0 -44
  403. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py +0 -117
  404. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py +0 -16
  405. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py +0 -409
  406. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py +0 -2050
  407. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py +0 -58
  408. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py +0 -2
  409. package/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py +0 -8438
  410. package/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py +0 -54
  411. package/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py +0 -1
  412. package/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  413. package/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  414. package/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py +0 -1087
  415. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  416. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  417. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  418. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  419. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py +0 -67
  420. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py +0 -304
  421. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  422. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py +0 -828
  423. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py +0 -484
  424. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py +0 -136
  425. package/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py +0 -504
  426. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  427. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py +0 -127
  428. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py +0 -207
  429. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py +0 -115
  430. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py +0 -51
  431. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py +0 -44
  432. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py +0 -171
  433. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -17
  434. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -363
  435. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py +0 -92
  436. package/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py +0 -375
  437. package/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  438. package/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  439. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/__init__.py +0 -329
  440. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/__main__.py +0 -44
  441. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/android.py +0 -117
  442. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/api.py +0 -155
  443. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/macos.py +0 -62
  444. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/unix.py +0 -180
  445. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/version.py +0 -4
  446. package/.venv/lib/python3.9/site-packages/pip/_vendor/platformdirs/windows.py +0 -180
  447. package/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py +0 -189
  448. package/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py +0 -93
  449. package/.venv/lib/python3.9/site-packages/pip/_vendor/progress/colors.py +0 -79
  450. package/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py +0 -47
  451. package/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py +0 -45
  452. package/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py +0 -7107
  453. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py +0 -154
  454. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py +0 -14
  455. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py +0 -42
  456. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py +0 -533
  457. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py +0 -159
  458. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py +0 -305
  459. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py +0 -18
  460. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py +0 -76
  461. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py +0 -549
  462. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py +0 -127
  463. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py +0 -132
  464. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py +0 -34
  465. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py +0 -966
  466. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py +0 -16
  467. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py +0 -781
  468. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py +0 -123
  469. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py +0 -105
  470. package/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py +0 -1013
  471. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  472. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  473. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  474. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  475. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py +0 -37
  476. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -483
  477. package/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  478. package/.venv/lib/python3.9/site-packages/pip/_vendor/six.py +0 -998
  479. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py +0 -517
  480. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  481. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  482. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py +0 -46
  483. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py +0 -41
  484. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  485. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  486. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py +0 -213
  487. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  488. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  489. package/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py +0 -191
  490. package/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py +0 -6
  491. package/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py +0 -703
  492. package/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py +0 -83
  493. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py +0 -85
  494. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py +0 -337
  495. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  496. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py +0 -569
  497. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1078
  498. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  499. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  500. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  501. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  502. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  503. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  504. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  505. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -511
  506. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -922
  507. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  508. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  509. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  510. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  511. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -5
  512. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  513. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  514. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1077
  515. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +0 -24
  516. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +0 -160
  517. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -536
  518. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py +0 -170
  519. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py +0 -821
  520. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  521. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py +0 -150
  522. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  523. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  524. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py +0 -143
  525. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  526. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py +0 -602
  527. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  528. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  529. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  530. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py +0 -432
  531. package/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py +0 -153
  532. package/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +0 -22
  533. package/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  534. package/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  535. package/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  536. package/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  537. package/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  538. package/.venv/lib/python3.9/site-packages/pip/py.typed +0 -4
  539. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/INSTALLER +0 -1
  540. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/LICENSE.txt +0 -20
  541. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/METADATA +0 -93
  542. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/RECORD +0 -819
  543. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/REQUESTED +0 -0
  544. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/WHEEL +0 -5
  545. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/entry_points.txt +0 -5
  546. package/.venv/lib/python3.9/site-packages/pip-21.3.1.dist-info/top_level.txt +0 -1
  547. package/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py +0 -3303
  548. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  549. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  550. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -26
  551. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -25
  552. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_manylinux.py +0 -301
  553. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_musllinux.py +0 -136
  554. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -67
  555. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -304
  556. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -146
  557. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -828
  558. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -484
  559. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -136
  560. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py +0 -504
  561. package/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py +0 -5742
  562. package/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py +0 -73
  563. package/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -6
  564. package/.venv/lib/python3.9/site-packages/setuptools/__init__.py +0 -244
  565. package/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py +0 -7
  566. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py +0 -24
  567. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/_collections.py +0 -56
  568. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py +0 -561
  569. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py +0 -256
  570. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py +0 -393
  571. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py +0 -1123
  572. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py +0 -403
  573. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py +0 -31
  574. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py +0 -143
  575. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -123
  576. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py +0 -749
  577. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -579
  578. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py +0 -377
  579. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py +0 -157
  580. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py +0 -209
  581. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py +0 -755
  582. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py +0 -392
  583. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py +0 -152
  584. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py +0 -148
  585. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py +0 -76
  586. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py +0 -344
  587. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py +0 -775
  588. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py +0 -79
  589. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -84
  590. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py +0 -47
  591. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py +0 -217
  592. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py +0 -60
  593. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py +0 -30
  594. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py +0 -304
  595. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py +0 -494
  596. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py +0 -214
  597. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py +0 -130
  598. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py +0 -249
  599. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -362
  600. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py +0 -5
  601. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py +0 -92
  602. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py +0 -210
  603. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py +0 -1257
  604. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py +0 -97
  605. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py +0 -240
  606. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py +0 -457
  607. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py +0 -238
  608. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py +0 -355
  609. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py +0 -81
  610. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py +0 -788
  611. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py +0 -643
  612. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py +0 -19
  613. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py +0 -7
  614. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py +0 -106
  615. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py +0 -567
  616. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py +0 -286
  617. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py +0 -325
  618. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py +0 -548
  619. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py +0 -363
  620. package/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py +0 -169
  621. package/.venv/lib/python3.9/site-packages/setuptools/_imp.py +0 -82
  622. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py +0 -0
  623. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  624. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3825
  625. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  626. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  627. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py +0 -26
  628. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py +0 -25
  629. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -301
  630. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -136
  631. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py +0 -67
  632. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py +0 -304
  633. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py +0 -146
  634. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -828
  635. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py +0 -484
  636. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py +0 -136
  637. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py +0 -504
  638. package/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py +0 -5742
  639. package/.venv/lib/python3.9/site-packages/setuptools/archive_util.py +0 -205
  640. package/.venv/lib/python3.9/site-packages/setuptools/build_meta.py +0 -290
  641. package/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe +0 -0
  642. package/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe +0 -0
  643. package/.venv/lib/python3.9/site-packages/setuptools/cli-arm64.exe +0 -0
  644. package/.venv/lib/python3.9/site-packages/setuptools/cli.exe +0 -0
  645. package/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py +0 -8
  646. package/.venv/lib/python3.9/site-packages/setuptools/command/alias.py +0 -78
  647. package/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py +0 -456
  648. package/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py +0 -40
  649. package/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py +0 -101
  650. package/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py +0 -328
  651. package/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py +0 -242
  652. package/.venv/lib/python3.9/site-packages/setuptools/command/develop.py +0 -193
  653. package/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py +0 -36
  654. package/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py +0 -2304
  655. package/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py +0 -755
  656. package/.venv/lib/python3.9/site-packages/setuptools/command/install.py +0 -132
  657. package/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py +0 -62
  658. package/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py +0 -122
  659. package/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py +0 -69
  660. package/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml +0 -15
  661. package/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py +0 -134
  662. package/.venv/lib/python3.9/site-packages/setuptools/command/register.py +0 -18
  663. package/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py +0 -64
  664. package/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py +0 -22
  665. package/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py +0 -196
  666. package/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py +0 -149
  667. package/.venv/lib/python3.9/site-packages/setuptools/command/test.py +0 -252
  668. package/.venv/lib/python3.9/site-packages/setuptools/command/upload.py +0 -17
  669. package/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py +0 -202
  670. package/.venv/lib/python3.9/site-packages/setuptools/config.py +0 -751
  671. package/.venv/lib/python3.9/site-packages/setuptools/dep_util.py +0 -25
  672. package/.venv/lib/python3.9/site-packages/setuptools/depends.py +0 -176
  673. package/.venv/lib/python3.9/site-packages/setuptools/dist.py +0 -1156
  674. package/.venv/lib/python3.9/site-packages/setuptools/errors.py +0 -40
  675. package/.venv/lib/python3.9/site-packages/setuptools/extension.py +0 -55
  676. package/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py +0 -73
  677. package/.venv/lib/python3.9/site-packages/setuptools/glob.py +0 -167
  678. package/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe +0 -0
  679. package/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe +0 -0
  680. package/.venv/lib/python3.9/site-packages/setuptools/gui-arm64.exe +0 -0
  681. package/.venv/lib/python3.9/site-packages/setuptools/gui.exe +0 -0
  682. package/.venv/lib/python3.9/site-packages/setuptools/installer.py +0 -104
  683. package/.venv/lib/python3.9/site-packages/setuptools/launch.py +0 -36
  684. package/.venv/lib/python3.9/site-packages/setuptools/logging.py +0 -30
  685. package/.venv/lib/python3.9/site-packages/setuptools/monkey.py +0 -177
  686. package/.venv/lib/python3.9/site-packages/setuptools/msvc.py +0 -1805
  687. package/.venv/lib/python3.9/site-packages/setuptools/namespaces.py +0 -107
  688. package/.venv/lib/python3.9/site-packages/setuptools/package_index.py +0 -1127
  689. package/.venv/lib/python3.9/site-packages/setuptools/py34compat.py +0 -13
  690. package/.venv/lib/python3.9/site-packages/setuptools/sandbox.py +0 -530
  691. package/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl +0 -6
  692. package/.venv/lib/python3.9/site-packages/setuptools/script.tmpl +0 -3
  693. package/.venv/lib/python3.9/site-packages/setuptools/tests/integration/__init__.py +0 -0
  694. package/.venv/lib/python3.9/site-packages/setuptools/tests/integration/helpers.py +0 -61
  695. package/.venv/lib/python3.9/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +0 -218
  696. package/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py +0 -42
  697. package/.venv/lib/python3.9/site-packages/setuptools/version.py +0 -6
  698. package/.venv/lib/python3.9/site-packages/setuptools/wheel.py +0 -213
  699. package/.venv/lib/python3.9/site-packages/setuptools/windows_support.py +0 -29
  700. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/INSTALLER +0 -1
  701. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/LICENSE +0 -19
  702. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/METADATA +0 -142
  703. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/RECORD +0 -308
  704. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/REQUESTED +0 -0
  705. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/WHEEL +0 -5
  706. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/entry_points.txt +0 -56
  707. package/.venv/lib/python3.9/site-packages/setuptools-60.5.0.dist-info/top_level.txt +0 -3
  708. package/.venv/pyvenv.cfg +0 -3
  709. package/.vscode/launch.json +0 -62
  710. package/.vscode/settings.json +0 -8
@@ -1,1805 +0,0 @@
1
- """
2
- Improved support for Microsoft Visual C++ compilers.
3
-
4
- Known supported compilers:
5
- --------------------------
6
- Microsoft Visual C++ 9.0:
7
- Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
8
- Microsoft Windows SDK 6.1 (x86, x64, ia64)
9
- Microsoft Windows SDK 7.0 (x86, x64, ia64)
10
-
11
- Microsoft Visual C++ 10.0:
12
- Microsoft Windows SDK 7.1 (x86, x64, ia64)
13
-
14
- Microsoft Visual C++ 14.X:
15
- Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
16
- Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
17
- Microsoft Visual Studio Build Tools 2019 (x86, x64, arm, arm64)
18
-
19
- This may also support compilers shipped with compatible Visual Studio versions.
20
- """
21
-
22
- import json
23
- from io import open
24
- from os import listdir, pathsep
25
- from os.path import join, isfile, isdir, dirname
26
- import sys
27
- import contextlib
28
- import platform
29
- import itertools
30
- import subprocess
31
- import distutils.errors
32
- from setuptools.extern.packaging.version import LegacyVersion
33
- from setuptools.extern.more_itertools import unique_everseen
34
-
35
- from .monkey import get_unpatched
36
-
37
- if platform.system() == 'Windows':
38
- import winreg
39
- from os import environ
40
- else:
41
- # Mock winreg and environ so the module can be imported on this platform.
42
-
43
- class winreg:
44
- HKEY_USERS = None
45
- HKEY_CURRENT_USER = None
46
- HKEY_LOCAL_MACHINE = None
47
- HKEY_CLASSES_ROOT = None
48
-
49
- environ = dict()
50
-
51
- _msvc9_suppress_errors = (
52
- # msvc9compiler isn't available on some platforms
53
- ImportError,
54
-
55
- # msvc9compiler raises DistutilsPlatformError in some
56
- # environments. See #1118.
57
- distutils.errors.DistutilsPlatformError,
58
- )
59
-
60
- try:
61
- from distutils.msvc9compiler import Reg
62
- except _msvc9_suppress_errors:
63
- pass
64
-
65
-
66
- def msvc9_find_vcvarsall(version):
67
- """
68
- Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone
69
- compiler build for Python
70
- (VCForPython / Microsoft Visual C++ Compiler for Python 2.7).
71
-
72
- Fall back to original behavior when the standalone compiler is not
73
- available.
74
-
75
- Redirect the path of "vcvarsall.bat".
76
-
77
- Parameters
78
- ----------
79
- version: float
80
- Required Microsoft Visual C++ version.
81
-
82
- Return
83
- ------
84
- str
85
- vcvarsall.bat path
86
- """
87
- vc_base = r'Software\%sMicrosoft\DevDiv\VCForPython\%0.1f'
88
- key = vc_base % ('', version)
89
- try:
90
- # Per-user installs register the compiler path here
91
- productdir = Reg.get_value(key, "installdir")
92
- except KeyError:
93
- try:
94
- # All-user installs on a 64-bit system register here
95
- key = vc_base % ('Wow6432Node\\', version)
96
- productdir = Reg.get_value(key, "installdir")
97
- except KeyError:
98
- productdir = None
99
-
100
- if productdir:
101
- vcvarsall = join(productdir, "vcvarsall.bat")
102
- if isfile(vcvarsall):
103
- return vcvarsall
104
-
105
- return get_unpatched(msvc9_find_vcvarsall)(version)
106
-
107
-
108
- def msvc9_query_vcvarsall(ver, arch='x86', *args, **kwargs):
109
- """
110
- Patched "distutils.msvc9compiler.query_vcvarsall" for support extra
111
- Microsoft Visual C++ 9.0 and 10.0 compilers.
112
-
113
- Set environment without use of "vcvarsall.bat".
114
-
115
- Parameters
116
- ----------
117
- ver: float
118
- Required Microsoft Visual C++ version.
119
- arch: str
120
- Target architecture.
121
-
122
- Return
123
- ------
124
- dict
125
- environment
126
- """
127
- # Try to get environment from vcvarsall.bat (Classical way)
128
- try:
129
- orig = get_unpatched(msvc9_query_vcvarsall)
130
- return orig(ver, arch, *args, **kwargs)
131
- except distutils.errors.DistutilsPlatformError:
132
- # Pass error if Vcvarsall.bat is missing
133
- pass
134
- except ValueError:
135
- # Pass error if environment not set after executing vcvarsall.bat
136
- pass
137
-
138
- # If error, try to set environment directly
139
- try:
140
- return EnvironmentInfo(arch, ver).return_env()
141
- except distutils.errors.DistutilsPlatformError as exc:
142
- _augment_exception(exc, ver, arch)
143
- raise
144
-
145
-
146
- def _msvc14_find_vc2015():
147
- """Python 3.8 "distutils/_msvccompiler.py" backport"""
148
- try:
149
- key = winreg.OpenKey(
150
- winreg.HKEY_LOCAL_MACHINE,
151
- r"Software\Microsoft\VisualStudio\SxS\VC7",
152
- 0,
153
- winreg.KEY_READ | winreg.KEY_WOW64_32KEY
154
- )
155
- except OSError:
156
- return None, None
157
-
158
- best_version = 0
159
- best_dir = None
160
- with key:
161
- for i in itertools.count():
162
- try:
163
- v, vc_dir, vt = winreg.EnumValue(key, i)
164
- except OSError:
165
- break
166
- if v and vt == winreg.REG_SZ and isdir(vc_dir):
167
- try:
168
- version = int(float(v))
169
- except (ValueError, TypeError):
170
- continue
171
- if version >= 14 and version > best_version:
172
- best_version, best_dir = version, vc_dir
173
- return best_version, best_dir
174
-
175
-
176
- def _msvc14_find_vc2017():
177
- """Python 3.8 "distutils/_msvccompiler.py" backport
178
-
179
- Returns "15, path" based on the result of invoking vswhere.exe
180
- If no install is found, returns "None, None"
181
-
182
- The version is returned to avoid unnecessarily changing the function
183
- result. It may be ignored when the path is not None.
184
-
185
- If vswhere.exe is not available, by definition, VS 2017 is not
186
- installed.
187
- """
188
- root = environ.get("ProgramFiles(x86)") or environ.get("ProgramFiles")
189
- if not root:
190
- return None, None
191
-
192
- try:
193
- path = subprocess.check_output([
194
- join(root, "Microsoft Visual Studio", "Installer", "vswhere.exe"),
195
- "-latest",
196
- "-prerelease",
197
- "-requiresAny",
198
- "-requires", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
199
- "-requires", "Microsoft.VisualStudio.Workload.WDExpress",
200
- "-property", "installationPath",
201
- "-products", "*",
202
- ]).decode(encoding="mbcs", errors="strict").strip()
203
- except (subprocess.CalledProcessError, OSError, UnicodeDecodeError):
204
- return None, None
205
-
206
- path = join(path, "VC", "Auxiliary", "Build")
207
- if isdir(path):
208
- return 15, path
209
-
210
- return None, None
211
-
212
-
213
- PLAT_SPEC_TO_RUNTIME = {
214
- 'x86': 'x86',
215
- 'x86_amd64': 'x64',
216
- 'x86_arm': 'arm',
217
- 'x86_arm64': 'arm64'
218
- }
219
-
220
-
221
- def _msvc14_find_vcvarsall(plat_spec):
222
- """Python 3.8 "distutils/_msvccompiler.py" backport"""
223
- _, best_dir = _msvc14_find_vc2017()
224
- vcruntime = None
225
-
226
- if plat_spec in PLAT_SPEC_TO_RUNTIME:
227
- vcruntime_plat = PLAT_SPEC_TO_RUNTIME[plat_spec]
228
- else:
229
- vcruntime_plat = 'x64' if 'amd64' in plat_spec else 'x86'
230
-
231
- if best_dir:
232
- vcredist = join(best_dir, "..", "..", "redist", "MSVC", "**",
233
- vcruntime_plat, "Microsoft.VC14*.CRT",
234
- "vcruntime140.dll")
235
- try:
236
- import glob
237
- vcruntime = glob.glob(vcredist, recursive=True)[-1]
238
- except (ImportError, OSError, LookupError):
239
- vcruntime = None
240
-
241
- if not best_dir:
242
- best_version, best_dir = _msvc14_find_vc2015()
243
- if best_version:
244
- vcruntime = join(best_dir, 'redist', vcruntime_plat,
245
- "Microsoft.VC140.CRT", "vcruntime140.dll")
246
-
247
- if not best_dir:
248
- return None, None
249
-
250
- vcvarsall = join(best_dir, "vcvarsall.bat")
251
- if not isfile(vcvarsall):
252
- return None, None
253
-
254
- if not vcruntime or not isfile(vcruntime):
255
- vcruntime = None
256
-
257
- return vcvarsall, vcruntime
258
-
259
-
260
- def _msvc14_get_vc_env(plat_spec):
261
- """Python 3.8 "distutils/_msvccompiler.py" backport"""
262
- if "DISTUTILS_USE_SDK" in environ:
263
- return {
264
- key.lower(): value
265
- for key, value in environ.items()
266
- }
267
-
268
- vcvarsall, vcruntime = _msvc14_find_vcvarsall(plat_spec)
269
- if not vcvarsall:
270
- raise distutils.errors.DistutilsPlatformError(
271
- "Unable to find vcvarsall.bat"
272
- )
273
-
274
- try:
275
- out = subprocess.check_output(
276
- 'cmd /u /c "{}" {} && set'.format(vcvarsall, plat_spec),
277
- stderr=subprocess.STDOUT,
278
- ).decode('utf-16le', errors='replace')
279
- except subprocess.CalledProcessError as exc:
280
- raise distutils.errors.DistutilsPlatformError(
281
- "Error executing {}".format(exc.cmd)
282
- ) from exc
283
-
284
- env = {
285
- key.lower(): value
286
- for key, _, value in
287
- (line.partition('=') for line in out.splitlines())
288
- if key and value
289
- }
290
-
291
- if vcruntime:
292
- env['py_vcruntime_redist'] = vcruntime
293
- return env
294
-
295
-
296
- def msvc14_get_vc_env(plat_spec):
297
- """
298
- Patched "distutils._msvccompiler._get_vc_env" for support extra
299
- Microsoft Visual C++ 14.X compilers.
300
-
301
- Set environment without use of "vcvarsall.bat".
302
-
303
- Parameters
304
- ----------
305
- plat_spec: str
306
- Target architecture.
307
-
308
- Return
309
- ------
310
- dict
311
- environment
312
- """
313
-
314
- # Always use backport from CPython 3.8
315
- try:
316
- return _msvc14_get_vc_env(plat_spec)
317
- except distutils.errors.DistutilsPlatformError as exc:
318
- _augment_exception(exc, 14.0)
319
- raise
320
-
321
-
322
- def msvc14_gen_lib_options(*args, **kwargs):
323
- """
324
- Patched "distutils._msvccompiler.gen_lib_options" for fix
325
- compatibility between "numpy.distutils" and "distutils._msvccompiler"
326
- (for Numpy < 1.11.2)
327
- """
328
- if "numpy.distutils" in sys.modules:
329
- import numpy as np
330
- if LegacyVersion(np.__version__) < LegacyVersion('1.11.2'):
331
- return np.distutils.ccompiler.gen_lib_options(*args, **kwargs)
332
- return get_unpatched(msvc14_gen_lib_options)(*args, **kwargs)
333
-
334
-
335
- def _augment_exception(exc, version, arch=''):
336
- """
337
- Add details to the exception message to help guide the user
338
- as to what action will resolve it.
339
- """
340
- # Error if MSVC++ directory not found or environment not set
341
- message = exc.args[0]
342
-
343
- if "vcvarsall" in message.lower() or "visual c" in message.lower():
344
- # Special error message if MSVC++ not installed
345
- tmpl = 'Microsoft Visual C++ {version:0.1f} or greater is required.'
346
- message = tmpl.format(**locals())
347
- msdownload = 'www.microsoft.com/download/details.aspx?id=%d'
348
- if version == 9.0:
349
- if arch.lower().find('ia64') > -1:
350
- # For VC++ 9.0, if IA64 support is needed, redirect user
351
- # to Windows SDK 7.0.
352
- # Note: No download link available from Microsoft.
353
- message += ' Get it with "Microsoft Windows SDK 7.0"'
354
- else:
355
- # For VC++ 9.0 redirect user to Vc++ for Python 2.7 :
356
- # This redirection link is maintained by Microsoft.
357
- # Contact vspython@microsoft.com if it needs updating.
358
- message += ' Get it from http://aka.ms/vcpython27'
359
- elif version == 10.0:
360
- # For VC++ 10.0 Redirect user to Windows SDK 7.1
361
- message += ' Get it with "Microsoft Windows SDK 7.1": '
362
- message += msdownload % 8279
363
- elif version >= 14.0:
364
- # For VC++ 14.X Redirect user to latest Visual C++ Build Tools
365
- message += (' Get it with "Microsoft C++ Build Tools": '
366
- r'https://visualstudio.microsoft.com'
367
- r'/visual-cpp-build-tools/')
368
-
369
- exc.args = (message, )
370
-
371
-
372
- class PlatformInfo:
373
- """
374
- Current and Target Architectures information.
375
-
376
- Parameters
377
- ----------
378
- arch: str
379
- Target architecture.
380
- """
381
- current_cpu = environ.get('processor_architecture', '').lower()
382
-
383
- def __init__(self, arch):
384
- self.arch = arch.lower().replace('x64', 'amd64')
385
-
386
- @property
387
- def target_cpu(self):
388
- """
389
- Return Target CPU architecture.
390
-
391
- Return
392
- ------
393
- str
394
- Target CPU
395
- """
396
- return self.arch[self.arch.find('_') + 1:]
397
-
398
- def target_is_x86(self):
399
- """
400
- Return True if target CPU is x86 32 bits..
401
-
402
- Return
403
- ------
404
- bool
405
- CPU is x86 32 bits
406
- """
407
- return self.target_cpu == 'x86'
408
-
409
- def current_is_x86(self):
410
- """
411
- Return True if current CPU is x86 32 bits..
412
-
413
- Return
414
- ------
415
- bool
416
- CPU is x86 32 bits
417
- """
418
- return self.current_cpu == 'x86'
419
-
420
- def current_dir(self, hidex86=False, x64=False):
421
- """
422
- Current platform specific subfolder.
423
-
424
- Parameters
425
- ----------
426
- hidex86: bool
427
- return '' and not '\x86' if architecture is x86.
428
- x64: bool
429
- return '\x64' and not '\amd64' if architecture is amd64.
430
-
431
- Return
432
- ------
433
- str
434
- subfolder: '\target', or '' (see hidex86 parameter)
435
- """
436
- return (
437
- '' if (self.current_cpu == 'x86' and hidex86) else
438
- r'\x64' if (self.current_cpu == 'amd64' and x64) else
439
- r'\%s' % self.current_cpu
440
- )
441
-
442
- def target_dir(self, hidex86=False, x64=False):
443
- r"""
444
- Target platform specific subfolder.
445
-
446
- Parameters
447
- ----------
448
- hidex86: bool
449
- return '' and not '\x86' if architecture is x86.
450
- x64: bool
451
- return '\x64' and not '\amd64' if architecture is amd64.
452
-
453
- Return
454
- ------
455
- str
456
- subfolder: '\current', or '' (see hidex86 parameter)
457
- """
458
- return (
459
- '' if (self.target_cpu == 'x86' and hidex86) else
460
- r'\x64' if (self.target_cpu == 'amd64' and x64) else
461
- r'\%s' % self.target_cpu
462
- )
463
-
464
- def cross_dir(self, forcex86=False):
465
- r"""
466
- Cross platform specific subfolder.
467
-
468
- Parameters
469
- ----------
470
- forcex86: bool
471
- Use 'x86' as current architecture even if current architecture is
472
- not x86.
473
-
474
- Return
475
- ------
476
- str
477
- subfolder: '' if target architecture is current architecture,
478
- '\current_target' if not.
479
- """
480
- current = 'x86' if forcex86 else self.current_cpu
481
- return (
482
- '' if self.target_cpu == current else
483
- self.target_dir().replace('\\', '\\%s_' % current)
484
- )
485
-
486
-
487
- class RegistryInfo:
488
- """
489
- Microsoft Visual Studio related registry information.
490
-
491
- Parameters
492
- ----------
493
- platform_info: PlatformInfo
494
- "PlatformInfo" instance.
495
- """
496
- HKEYS = (winreg.HKEY_USERS,
497
- winreg.HKEY_CURRENT_USER,
498
- winreg.HKEY_LOCAL_MACHINE,
499
- winreg.HKEY_CLASSES_ROOT)
500
-
501
- def __init__(self, platform_info):
502
- self.pi = platform_info
503
-
504
- @property
505
- def visualstudio(self):
506
- """
507
- Microsoft Visual Studio root registry key.
508
-
509
- Return
510
- ------
511
- str
512
- Registry key
513
- """
514
- return 'VisualStudio'
515
-
516
- @property
517
- def sxs(self):
518
- """
519
- Microsoft Visual Studio SxS registry key.
520
-
521
- Return
522
- ------
523
- str
524
- Registry key
525
- """
526
- return join(self.visualstudio, 'SxS')
527
-
528
- @property
529
- def vc(self):
530
- """
531
- Microsoft Visual C++ VC7 registry key.
532
-
533
- Return
534
- ------
535
- str
536
- Registry key
537
- """
538
- return join(self.sxs, 'VC7')
539
-
540
- @property
541
- def vs(self):
542
- """
543
- Microsoft Visual Studio VS7 registry key.
544
-
545
- Return
546
- ------
547
- str
548
- Registry key
549
- """
550
- return join(self.sxs, 'VS7')
551
-
552
- @property
553
- def vc_for_python(self):
554
- """
555
- Microsoft Visual C++ for Python registry key.
556
-
557
- Return
558
- ------
559
- str
560
- Registry key
561
- """
562
- return r'DevDiv\VCForPython'
563
-
564
- @property
565
- def microsoft_sdk(self):
566
- """
567
- Microsoft SDK registry key.
568
-
569
- Return
570
- ------
571
- str
572
- Registry key
573
- """
574
- return 'Microsoft SDKs'
575
-
576
- @property
577
- def windows_sdk(self):
578
- """
579
- Microsoft Windows/Platform SDK registry key.
580
-
581
- Return
582
- ------
583
- str
584
- Registry key
585
- """
586
- return join(self.microsoft_sdk, 'Windows')
587
-
588
- @property
589
- def netfx_sdk(self):
590
- """
591
- Microsoft .NET Framework SDK registry key.
592
-
593
- Return
594
- ------
595
- str
596
- Registry key
597
- """
598
- return join(self.microsoft_sdk, 'NETFXSDK')
599
-
600
- @property
601
- def windows_kits_roots(self):
602
- """
603
- Microsoft Windows Kits Roots registry key.
604
-
605
- Return
606
- ------
607
- str
608
- Registry key
609
- """
610
- return r'Windows Kits\Installed Roots'
611
-
612
- def microsoft(self, key, x86=False):
613
- """
614
- Return key in Microsoft software registry.
615
-
616
- Parameters
617
- ----------
618
- key: str
619
- Registry key path where look.
620
- x86: str
621
- Force x86 software registry.
622
-
623
- Return
624
- ------
625
- str
626
- Registry key
627
- """
628
- node64 = '' if self.pi.current_is_x86() or x86 else 'Wow6432Node'
629
- return join('Software', node64, 'Microsoft', key)
630
-
631
- def lookup(self, key, name):
632
- """
633
- Look for values in registry in Microsoft software registry.
634
-
635
- Parameters
636
- ----------
637
- key: str
638
- Registry key path where look.
639
- name: str
640
- Value name to find.
641
-
642
- Return
643
- ------
644
- str
645
- value
646
- """
647
- key_read = winreg.KEY_READ
648
- openkey = winreg.OpenKey
649
- closekey = winreg.CloseKey
650
- ms = self.microsoft
651
- for hkey in self.HKEYS:
652
- bkey = None
653
- try:
654
- bkey = openkey(hkey, ms(key), 0, key_read)
655
- except (OSError, IOError):
656
- if not self.pi.current_is_x86():
657
- try:
658
- bkey = openkey(hkey, ms(key, True), 0, key_read)
659
- except (OSError, IOError):
660
- continue
661
- else:
662
- continue
663
- try:
664
- return winreg.QueryValueEx(bkey, name)[0]
665
- except (OSError, IOError):
666
- pass
667
- finally:
668
- if bkey:
669
- closekey(bkey)
670
-
671
-
672
- class SystemInfo:
673
- """
674
- Microsoft Windows and Visual Studio related system information.
675
-
676
- Parameters
677
- ----------
678
- registry_info: RegistryInfo
679
- "RegistryInfo" instance.
680
- vc_ver: float
681
- Required Microsoft Visual C++ version.
682
- """
683
-
684
- # Variables and properties in this class use originals CamelCase variables
685
- # names from Microsoft source files for more easy comparison.
686
- WinDir = environ.get('WinDir', '')
687
- ProgramFiles = environ.get('ProgramFiles', '')
688
- ProgramFilesx86 = environ.get('ProgramFiles(x86)', ProgramFiles)
689
-
690
- def __init__(self, registry_info, vc_ver=None):
691
- self.ri = registry_info
692
- self.pi = self.ri.pi
693
-
694
- self.known_vs_paths = self.find_programdata_vs_vers()
695
-
696
- # Except for VS15+, VC version is aligned with VS version
697
- self.vs_ver = self.vc_ver = (
698
- vc_ver or self._find_latest_available_vs_ver())
699
-
700
- def _find_latest_available_vs_ver(self):
701
- """
702
- Find the latest VC version
703
-
704
- Return
705
- ------
706
- float
707
- version
708
- """
709
- reg_vc_vers = self.find_reg_vs_vers()
710
-
711
- if not (reg_vc_vers or self.known_vs_paths):
712
- raise distutils.errors.DistutilsPlatformError(
713
- 'No Microsoft Visual C++ version found')
714
-
715
- vc_vers = set(reg_vc_vers)
716
- vc_vers.update(self.known_vs_paths)
717
- return sorted(vc_vers)[-1]
718
-
719
- def find_reg_vs_vers(self):
720
- """
721
- Find Microsoft Visual Studio versions available in registry.
722
-
723
- Return
724
- ------
725
- list of float
726
- Versions
727
- """
728
- ms = self.ri.microsoft
729
- vckeys = (self.ri.vc, self.ri.vc_for_python, self.ri.vs)
730
- vs_vers = []
731
- for hkey, key in itertools.product(self.ri.HKEYS, vckeys):
732
- try:
733
- bkey = winreg.OpenKey(hkey, ms(key), 0, winreg.KEY_READ)
734
- except (OSError, IOError):
735
- continue
736
- with bkey:
737
- subkeys, values, _ = winreg.QueryInfoKey(bkey)
738
- for i in range(values):
739
- with contextlib.suppress(ValueError):
740
- ver = float(winreg.EnumValue(bkey, i)[0])
741
- if ver not in vs_vers:
742
- vs_vers.append(ver)
743
- for i in range(subkeys):
744
- with contextlib.suppress(ValueError):
745
- ver = float(winreg.EnumKey(bkey, i))
746
- if ver not in vs_vers:
747
- vs_vers.append(ver)
748
- return sorted(vs_vers)
749
-
750
- def find_programdata_vs_vers(self):
751
- r"""
752
- Find Visual studio 2017+ versions from information in
753
- "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances".
754
-
755
- Return
756
- ------
757
- dict
758
- float version as key, path as value.
759
- """
760
- vs_versions = {}
761
- instances_dir = \
762
- r'C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances'
763
-
764
- try:
765
- hashed_names = listdir(instances_dir)
766
-
767
- except (OSError, IOError):
768
- # Directory not exists with all Visual Studio versions
769
- return vs_versions
770
-
771
- for name in hashed_names:
772
- try:
773
- # Get VS installation path from "state.json" file
774
- state_path = join(instances_dir, name, 'state.json')
775
- with open(state_path, 'rt', encoding='utf-8') as state_file:
776
- state = json.load(state_file)
777
- vs_path = state['installationPath']
778
-
779
- # Raises OSError if this VS installation does not contain VC
780
- listdir(join(vs_path, r'VC\Tools\MSVC'))
781
-
782
- # Store version and path
783
- vs_versions[self._as_float_version(
784
- state['installationVersion'])] = vs_path
785
-
786
- except (OSError, IOError, KeyError):
787
- # Skip if "state.json" file is missing or bad format
788
- continue
789
-
790
- return vs_versions
791
-
792
- @staticmethod
793
- def _as_float_version(version):
794
- """
795
- Return a string version as a simplified float version (major.minor)
796
-
797
- Parameters
798
- ----------
799
- version: str
800
- Version.
801
-
802
- Return
803
- ------
804
- float
805
- version
806
- """
807
- return float('.'.join(version.split('.')[:2]))
808
-
809
- @property
810
- def VSInstallDir(self):
811
- """
812
- Microsoft Visual Studio directory.
813
-
814
- Return
815
- ------
816
- str
817
- path
818
- """
819
- # Default path
820
- default = join(self.ProgramFilesx86,
821
- 'Microsoft Visual Studio %0.1f' % self.vs_ver)
822
-
823
- # Try to get path from registry, if fail use default path
824
- return self.ri.lookup(self.ri.vs, '%0.1f' % self.vs_ver) or default
825
-
826
- @property
827
- def VCInstallDir(self):
828
- """
829
- Microsoft Visual C++ directory.
830
-
831
- Return
832
- ------
833
- str
834
- path
835
- """
836
- path = self._guess_vc() or self._guess_vc_legacy()
837
-
838
- if not isdir(path):
839
- msg = 'Microsoft Visual C++ directory not found'
840
- raise distutils.errors.DistutilsPlatformError(msg)
841
-
842
- return path
843
-
844
- def _guess_vc(self):
845
- """
846
- Locate Visual C++ for VS2017+.
847
-
848
- Return
849
- ------
850
- str
851
- path
852
- """
853
- if self.vs_ver <= 14.0:
854
- return ''
855
-
856
- try:
857
- # First search in known VS paths
858
- vs_dir = self.known_vs_paths[self.vs_ver]
859
- except KeyError:
860
- # Else, search with path from registry
861
- vs_dir = self.VSInstallDir
862
-
863
- guess_vc = join(vs_dir, r'VC\Tools\MSVC')
864
-
865
- # Subdir with VC exact version as name
866
- try:
867
- # Update the VC version with real one instead of VS version
868
- vc_ver = listdir(guess_vc)[-1]
869
- self.vc_ver = self._as_float_version(vc_ver)
870
- return join(guess_vc, vc_ver)
871
- except (OSError, IOError, IndexError):
872
- return ''
873
-
874
- def _guess_vc_legacy(self):
875
- """
876
- Locate Visual C++ for versions prior to 2017.
877
-
878
- Return
879
- ------
880
- str
881
- path
882
- """
883
- default = join(self.ProgramFilesx86,
884
- r'Microsoft Visual Studio %0.1f\VC' % self.vs_ver)
885
-
886
- # Try to get "VC++ for Python" path from registry as default path
887
- reg_path = join(self.ri.vc_for_python, '%0.1f' % self.vs_ver)
888
- python_vc = self.ri.lookup(reg_path, 'installdir')
889
- default_vc = join(python_vc, 'VC') if python_vc else default
890
-
891
- # Try to get path from registry, if fail use default path
892
- return self.ri.lookup(self.ri.vc, '%0.1f' % self.vs_ver) or default_vc
893
-
894
- @property
895
- def WindowsSdkVersion(self):
896
- """
897
- Microsoft Windows SDK versions for specified MSVC++ version.
898
-
899
- Return
900
- ------
901
- tuple of str
902
- versions
903
- """
904
- if self.vs_ver <= 9.0:
905
- return '7.0', '6.1', '6.0a'
906
- elif self.vs_ver == 10.0:
907
- return '7.1', '7.0a'
908
- elif self.vs_ver == 11.0:
909
- return '8.0', '8.0a'
910
- elif self.vs_ver == 12.0:
911
- return '8.1', '8.1a'
912
- elif self.vs_ver >= 14.0:
913
- return '10.0', '8.1'
914
-
915
- @property
916
- def WindowsSdkLastVersion(self):
917
- """
918
- Microsoft Windows SDK last version.
919
-
920
- Return
921
- ------
922
- str
923
- version
924
- """
925
- return self._use_last_dir_name(join(self.WindowsSdkDir, 'lib'))
926
-
927
- @property # noqa: C901
928
- def WindowsSdkDir(self): # noqa: C901 # is too complex (12) # FIXME
929
- """
930
- Microsoft Windows SDK directory.
931
-
932
- Return
933
- ------
934
- str
935
- path
936
- """
937
- sdkdir = ''
938
- for ver in self.WindowsSdkVersion:
939
- # Try to get it from registry
940
- loc = join(self.ri.windows_sdk, 'v%s' % ver)
941
- sdkdir = self.ri.lookup(loc, 'installationfolder')
942
- if sdkdir:
943
- break
944
- if not sdkdir or not isdir(sdkdir):
945
- # Try to get "VC++ for Python" version from registry
946
- path = join(self.ri.vc_for_python, '%0.1f' % self.vc_ver)
947
- install_base = self.ri.lookup(path, 'installdir')
948
- if install_base:
949
- sdkdir = join(install_base, 'WinSDK')
950
- if not sdkdir or not isdir(sdkdir):
951
- # If fail, use default new path
952
- for ver in self.WindowsSdkVersion:
953
- intver = ver[:ver.rfind('.')]
954
- path = r'Microsoft SDKs\Windows Kits\%s' % intver
955
- d = join(self.ProgramFiles, path)
956
- if isdir(d):
957
- sdkdir = d
958
- if not sdkdir or not isdir(sdkdir):
959
- # If fail, use default old path
960
- for ver in self.WindowsSdkVersion:
961
- path = r'Microsoft SDKs\Windows\v%s' % ver
962
- d = join(self.ProgramFiles, path)
963
- if isdir(d):
964
- sdkdir = d
965
- if not sdkdir:
966
- # If fail, use Platform SDK
967
- sdkdir = join(self.VCInstallDir, 'PlatformSDK')
968
- return sdkdir
969
-
970
- @property
971
- def WindowsSDKExecutablePath(self):
972
- """
973
- Microsoft Windows SDK executable directory.
974
-
975
- Return
976
- ------
977
- str
978
- path
979
- """
980
- # Find WinSDK NetFx Tools registry dir name
981
- if self.vs_ver <= 11.0:
982
- netfxver = 35
983
- arch = ''
984
- else:
985
- netfxver = 40
986
- hidex86 = True if self.vs_ver <= 12.0 else False
987
- arch = self.pi.current_dir(x64=True, hidex86=hidex86)
988
- fx = 'WinSDK-NetFx%dTools%s' % (netfxver, arch.replace('\\', '-'))
989
-
990
- # list all possibles registry paths
991
- regpaths = []
992
- if self.vs_ver >= 14.0:
993
- for ver in self.NetFxSdkVersion:
994
- regpaths += [join(self.ri.netfx_sdk, ver, fx)]
995
-
996
- for ver in self.WindowsSdkVersion:
997
- regpaths += [join(self.ri.windows_sdk, 'v%sA' % ver, fx)]
998
-
999
- # Return installation folder from the more recent path
1000
- for path in regpaths:
1001
- execpath = self.ri.lookup(path, 'installationfolder')
1002
- if execpath:
1003
- return execpath
1004
-
1005
- @property
1006
- def FSharpInstallDir(self):
1007
- """
1008
- Microsoft Visual F# directory.
1009
-
1010
- Return
1011
- ------
1012
- str
1013
- path
1014
- """
1015
- path = join(self.ri.visualstudio, r'%0.1f\Setup\F#' % self.vs_ver)
1016
- return self.ri.lookup(path, 'productdir') or ''
1017
-
1018
- @property
1019
- def UniversalCRTSdkDir(self):
1020
- """
1021
- Microsoft Universal CRT SDK directory.
1022
-
1023
- Return
1024
- ------
1025
- str
1026
- path
1027
- """
1028
- # Set Kit Roots versions for specified MSVC++ version
1029
- vers = ('10', '81') if self.vs_ver >= 14.0 else ()
1030
-
1031
- # Find path of the more recent Kit
1032
- for ver in vers:
1033
- sdkdir = self.ri.lookup(self.ri.windows_kits_roots,
1034
- 'kitsroot%s' % ver)
1035
- if sdkdir:
1036
- return sdkdir or ''
1037
-
1038
- @property
1039
- def UniversalCRTSdkLastVersion(self):
1040
- """
1041
- Microsoft Universal C Runtime SDK last version.
1042
-
1043
- Return
1044
- ------
1045
- str
1046
- version
1047
- """
1048
- return self._use_last_dir_name(join(self.UniversalCRTSdkDir, 'lib'))
1049
-
1050
- @property
1051
- def NetFxSdkVersion(self):
1052
- """
1053
- Microsoft .NET Framework SDK versions.
1054
-
1055
- Return
1056
- ------
1057
- tuple of str
1058
- versions
1059
- """
1060
- # Set FxSdk versions for specified VS version
1061
- return (('4.7.2', '4.7.1', '4.7',
1062
- '4.6.2', '4.6.1', '4.6',
1063
- '4.5.2', '4.5.1', '4.5')
1064
- if self.vs_ver >= 14.0 else ())
1065
-
1066
- @property
1067
- def NetFxSdkDir(self):
1068
- """
1069
- Microsoft .NET Framework SDK directory.
1070
-
1071
- Return
1072
- ------
1073
- str
1074
- path
1075
- """
1076
- sdkdir = ''
1077
- for ver in self.NetFxSdkVersion:
1078
- loc = join(self.ri.netfx_sdk, ver)
1079
- sdkdir = self.ri.lookup(loc, 'kitsinstallationfolder')
1080
- if sdkdir:
1081
- break
1082
- return sdkdir
1083
-
1084
- @property
1085
- def FrameworkDir32(self):
1086
- """
1087
- Microsoft .NET Framework 32bit directory.
1088
-
1089
- Return
1090
- ------
1091
- str
1092
- path
1093
- """
1094
- # Default path
1095
- guess_fw = join(self.WinDir, r'Microsoft.NET\Framework')
1096
-
1097
- # Try to get path from registry, if fail use default path
1098
- return self.ri.lookup(self.ri.vc, 'frameworkdir32') or guess_fw
1099
-
1100
- @property
1101
- def FrameworkDir64(self):
1102
- """
1103
- Microsoft .NET Framework 64bit directory.
1104
-
1105
- Return
1106
- ------
1107
- str
1108
- path
1109
- """
1110
- # Default path
1111
- guess_fw = join(self.WinDir, r'Microsoft.NET\Framework64')
1112
-
1113
- # Try to get path from registry, if fail use default path
1114
- return self.ri.lookup(self.ri.vc, 'frameworkdir64') or guess_fw
1115
-
1116
- @property
1117
- def FrameworkVersion32(self):
1118
- """
1119
- Microsoft .NET Framework 32bit versions.
1120
-
1121
- Return
1122
- ------
1123
- tuple of str
1124
- versions
1125
- """
1126
- return self._find_dot_net_versions(32)
1127
-
1128
- @property
1129
- def FrameworkVersion64(self):
1130
- """
1131
- Microsoft .NET Framework 64bit versions.
1132
-
1133
- Return
1134
- ------
1135
- tuple of str
1136
- versions
1137
- """
1138
- return self._find_dot_net_versions(64)
1139
-
1140
- def _find_dot_net_versions(self, bits):
1141
- """
1142
- Find Microsoft .NET Framework versions.
1143
-
1144
- Parameters
1145
- ----------
1146
- bits: int
1147
- Platform number of bits: 32 or 64.
1148
-
1149
- Return
1150
- ------
1151
- tuple of str
1152
- versions
1153
- """
1154
- # Find actual .NET version in registry
1155
- reg_ver = self.ri.lookup(self.ri.vc, 'frameworkver%d' % bits)
1156
- dot_net_dir = getattr(self, 'FrameworkDir%d' % bits)
1157
- ver = reg_ver or self._use_last_dir_name(dot_net_dir, 'v') or ''
1158
-
1159
- # Set .NET versions for specified MSVC++ version
1160
- if self.vs_ver >= 12.0:
1161
- return ver, 'v4.0'
1162
- elif self.vs_ver >= 10.0:
1163
- return 'v4.0.30319' if ver.lower()[:2] != 'v4' else ver, 'v3.5'
1164
- elif self.vs_ver == 9.0:
1165
- return 'v3.5', 'v2.0.50727'
1166
- elif self.vs_ver == 8.0:
1167
- return 'v3.0', 'v2.0.50727'
1168
-
1169
- @staticmethod
1170
- def _use_last_dir_name(path, prefix=''):
1171
- """
1172
- Return name of the last dir in path or '' if no dir found.
1173
-
1174
- Parameters
1175
- ----------
1176
- path: str
1177
- Use dirs in this path
1178
- prefix: str
1179
- Use only dirs starting by this prefix
1180
-
1181
- Return
1182
- ------
1183
- str
1184
- name
1185
- """
1186
- matching_dirs = (
1187
- dir_name
1188
- for dir_name in reversed(listdir(path))
1189
- if isdir(join(path, dir_name)) and
1190
- dir_name.startswith(prefix)
1191
- )
1192
- return next(matching_dirs, None) or ''
1193
-
1194
-
1195
- class EnvironmentInfo:
1196
- """
1197
- Return environment variables for specified Microsoft Visual C++ version
1198
- and platform : Lib, Include, Path and libpath.
1199
-
1200
- This function is compatible with Microsoft Visual C++ 9.0 to 14.X.
1201
-
1202
- Script created by analysing Microsoft environment configuration files like
1203
- "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ...
1204
-
1205
- Parameters
1206
- ----------
1207
- arch: str
1208
- Target architecture.
1209
- vc_ver: float
1210
- Required Microsoft Visual C++ version. If not set, autodetect the last
1211
- version.
1212
- vc_min_ver: float
1213
- Minimum Microsoft Visual C++ version.
1214
- """
1215
-
1216
- # Variables and properties in this class use originals CamelCase variables
1217
- # names from Microsoft source files for more easy comparison.
1218
-
1219
- def __init__(self, arch, vc_ver=None, vc_min_ver=0):
1220
- self.pi = PlatformInfo(arch)
1221
- self.ri = RegistryInfo(self.pi)
1222
- self.si = SystemInfo(self.ri, vc_ver)
1223
-
1224
- if self.vc_ver < vc_min_ver:
1225
- err = 'No suitable Microsoft Visual C++ version found'
1226
- raise distutils.errors.DistutilsPlatformError(err)
1227
-
1228
- @property
1229
- def vs_ver(self):
1230
- """
1231
- Microsoft Visual Studio.
1232
-
1233
- Return
1234
- ------
1235
- float
1236
- version
1237
- """
1238
- return self.si.vs_ver
1239
-
1240
- @property
1241
- def vc_ver(self):
1242
- """
1243
- Microsoft Visual C++ version.
1244
-
1245
- Return
1246
- ------
1247
- float
1248
- version
1249
- """
1250
- return self.si.vc_ver
1251
-
1252
- @property
1253
- def VSTools(self):
1254
- """
1255
- Microsoft Visual Studio Tools.
1256
-
1257
- Return
1258
- ------
1259
- list of str
1260
- paths
1261
- """
1262
- paths = [r'Common7\IDE', r'Common7\Tools']
1263
-
1264
- if self.vs_ver >= 14.0:
1265
- arch_subdir = self.pi.current_dir(hidex86=True, x64=True)
1266
- paths += [r'Common7\IDE\CommonExtensions\Microsoft\TestWindow']
1267
- paths += [r'Team Tools\Performance Tools']
1268
- paths += [r'Team Tools\Performance Tools%s' % arch_subdir]
1269
-
1270
- return [join(self.si.VSInstallDir, path) for path in paths]
1271
-
1272
- @property
1273
- def VCIncludes(self):
1274
- """
1275
- Microsoft Visual C++ & Microsoft Foundation Class Includes.
1276
-
1277
- Return
1278
- ------
1279
- list of str
1280
- paths
1281
- """
1282
- return [join(self.si.VCInstallDir, 'Include'),
1283
- join(self.si.VCInstallDir, r'ATLMFC\Include')]
1284
-
1285
- @property
1286
- def VCLibraries(self):
1287
- """
1288
- Microsoft Visual C++ & Microsoft Foundation Class Libraries.
1289
-
1290
- Return
1291
- ------
1292
- list of str
1293
- paths
1294
- """
1295
- if self.vs_ver >= 15.0:
1296
- arch_subdir = self.pi.target_dir(x64=True)
1297
- else:
1298
- arch_subdir = self.pi.target_dir(hidex86=True)
1299
- paths = ['Lib%s' % arch_subdir, r'ATLMFC\Lib%s' % arch_subdir]
1300
-
1301
- if self.vs_ver >= 14.0:
1302
- paths += [r'Lib\store%s' % arch_subdir]
1303
-
1304
- return [join(self.si.VCInstallDir, path) for path in paths]
1305
-
1306
- @property
1307
- def VCStoreRefs(self):
1308
- """
1309
- Microsoft Visual C++ store references Libraries.
1310
-
1311
- Return
1312
- ------
1313
- list of str
1314
- paths
1315
- """
1316
- if self.vs_ver < 14.0:
1317
- return []
1318
- return [join(self.si.VCInstallDir, r'Lib\store\references')]
1319
-
1320
- @property
1321
- def VCTools(self):
1322
- """
1323
- Microsoft Visual C++ Tools.
1324
-
1325
- Return
1326
- ------
1327
- list of str
1328
- paths
1329
- """
1330
- si = self.si
1331
- tools = [join(si.VCInstallDir, 'VCPackages')]
1332
-
1333
- forcex86 = True if self.vs_ver <= 10.0 else False
1334
- arch_subdir = self.pi.cross_dir(forcex86)
1335
- if arch_subdir:
1336
- tools += [join(si.VCInstallDir, 'Bin%s' % arch_subdir)]
1337
-
1338
- if self.vs_ver == 14.0:
1339
- path = 'Bin%s' % self.pi.current_dir(hidex86=True)
1340
- tools += [join(si.VCInstallDir, path)]
1341
-
1342
- elif self.vs_ver >= 15.0:
1343
- host_dir = (r'bin\HostX86%s' if self.pi.current_is_x86() else
1344
- r'bin\HostX64%s')
1345
- tools += [join(
1346
- si.VCInstallDir, host_dir % self.pi.target_dir(x64=True))]
1347
-
1348
- if self.pi.current_cpu != self.pi.target_cpu:
1349
- tools += [join(
1350
- si.VCInstallDir, host_dir % self.pi.current_dir(x64=True))]
1351
-
1352
- else:
1353
- tools += [join(si.VCInstallDir, 'Bin')]
1354
-
1355
- return tools
1356
-
1357
- @property
1358
- def OSLibraries(self):
1359
- """
1360
- Microsoft Windows SDK Libraries.
1361
-
1362
- Return
1363
- ------
1364
- list of str
1365
- paths
1366
- """
1367
- if self.vs_ver <= 10.0:
1368
- arch_subdir = self.pi.target_dir(hidex86=True, x64=True)
1369
- return [join(self.si.WindowsSdkDir, 'Lib%s' % arch_subdir)]
1370
-
1371
- else:
1372
- arch_subdir = self.pi.target_dir(x64=True)
1373
- lib = join(self.si.WindowsSdkDir, 'lib')
1374
- libver = self._sdk_subdir
1375
- return [join(lib, '%sum%s' % (libver, arch_subdir))]
1376
-
1377
- @property
1378
- def OSIncludes(self):
1379
- """
1380
- Microsoft Windows SDK Include.
1381
-
1382
- Return
1383
- ------
1384
- list of str
1385
- paths
1386
- """
1387
- include = join(self.si.WindowsSdkDir, 'include')
1388
-
1389
- if self.vs_ver <= 10.0:
1390
- return [include, join(include, 'gl')]
1391
-
1392
- else:
1393
- if self.vs_ver >= 14.0:
1394
- sdkver = self._sdk_subdir
1395
- else:
1396
- sdkver = ''
1397
- return [join(include, '%sshared' % sdkver),
1398
- join(include, '%sum' % sdkver),
1399
- join(include, '%swinrt' % sdkver)]
1400
-
1401
- @property
1402
- def OSLibpath(self):
1403
- """
1404
- Microsoft Windows SDK Libraries Paths.
1405
-
1406
- Return
1407
- ------
1408
- list of str
1409
- paths
1410
- """
1411
- ref = join(self.si.WindowsSdkDir, 'References')
1412
- libpath = []
1413
-
1414
- if self.vs_ver <= 9.0:
1415
- libpath += self.OSLibraries
1416
-
1417
- if self.vs_ver >= 11.0:
1418
- libpath += [join(ref, r'CommonConfiguration\Neutral')]
1419
-
1420
- if self.vs_ver >= 14.0:
1421
- libpath += [
1422
- ref,
1423
- join(self.si.WindowsSdkDir, 'UnionMetadata'),
1424
- join(
1425
- ref, 'Windows.Foundation.UniversalApiContract', '1.0.0.0'),
1426
- join(ref, 'Windows.Foundation.FoundationContract', '1.0.0.0'),
1427
- join(
1428
- ref, 'Windows.Networking.Connectivity.WwanContract',
1429
- '1.0.0.0'),
1430
- join(
1431
- self.si.WindowsSdkDir, 'ExtensionSDKs', 'Microsoft.VCLibs',
1432
- '%0.1f' % self.vs_ver, 'References', 'CommonConfiguration',
1433
- 'neutral'),
1434
- ]
1435
- return libpath
1436
-
1437
- @property
1438
- def SdkTools(self):
1439
- """
1440
- Microsoft Windows SDK Tools.
1441
-
1442
- Return
1443
- ------
1444
- list of str
1445
- paths
1446
- """
1447
- return list(self._sdk_tools())
1448
-
1449
- def _sdk_tools(self):
1450
- """
1451
- Microsoft Windows SDK Tools paths generator.
1452
-
1453
- Return
1454
- ------
1455
- generator of str
1456
- paths
1457
- """
1458
- if self.vs_ver < 15.0:
1459
- bin_dir = 'Bin' if self.vs_ver <= 11.0 else r'Bin\x86'
1460
- yield join(self.si.WindowsSdkDir, bin_dir)
1461
-
1462
- if not self.pi.current_is_x86():
1463
- arch_subdir = self.pi.current_dir(x64=True)
1464
- path = 'Bin%s' % arch_subdir
1465
- yield join(self.si.WindowsSdkDir, path)
1466
-
1467
- if self.vs_ver in (10.0, 11.0):
1468
- if self.pi.target_is_x86():
1469
- arch_subdir = ''
1470
- else:
1471
- arch_subdir = self.pi.current_dir(hidex86=True, x64=True)
1472
- path = r'Bin\NETFX 4.0 Tools%s' % arch_subdir
1473
- yield join(self.si.WindowsSdkDir, path)
1474
-
1475
- elif self.vs_ver >= 15.0:
1476
- path = join(self.si.WindowsSdkDir, 'Bin')
1477
- arch_subdir = self.pi.current_dir(x64=True)
1478
- sdkver = self.si.WindowsSdkLastVersion
1479
- yield join(path, '%s%s' % (sdkver, arch_subdir))
1480
-
1481
- if self.si.WindowsSDKExecutablePath:
1482
- yield self.si.WindowsSDKExecutablePath
1483
-
1484
- @property
1485
- def _sdk_subdir(self):
1486
- """
1487
- Microsoft Windows SDK version subdir.
1488
-
1489
- Return
1490
- ------
1491
- str
1492
- subdir
1493
- """
1494
- ucrtver = self.si.WindowsSdkLastVersion
1495
- return ('%s\\' % ucrtver) if ucrtver else ''
1496
-
1497
- @property
1498
- def SdkSetup(self):
1499
- """
1500
- Microsoft Windows SDK Setup.
1501
-
1502
- Return
1503
- ------
1504
- list of str
1505
- paths
1506
- """
1507
- if self.vs_ver > 9.0:
1508
- return []
1509
-
1510
- return [join(self.si.WindowsSdkDir, 'Setup')]
1511
-
1512
- @property
1513
- def FxTools(self):
1514
- """
1515
- Microsoft .NET Framework Tools.
1516
-
1517
- Return
1518
- ------
1519
- list of str
1520
- paths
1521
- """
1522
- pi = self.pi
1523
- si = self.si
1524
-
1525
- if self.vs_ver <= 10.0:
1526
- include32 = True
1527
- include64 = not pi.target_is_x86() and not pi.current_is_x86()
1528
- else:
1529
- include32 = pi.target_is_x86() or pi.current_is_x86()
1530
- include64 = pi.current_cpu == 'amd64' or pi.target_cpu == 'amd64'
1531
-
1532
- tools = []
1533
- if include32:
1534
- tools += [join(si.FrameworkDir32, ver)
1535
- for ver in si.FrameworkVersion32]
1536
- if include64:
1537
- tools += [join(si.FrameworkDir64, ver)
1538
- for ver in si.FrameworkVersion64]
1539
- return tools
1540
-
1541
- @property
1542
- def NetFxSDKLibraries(self):
1543
- """
1544
- Microsoft .Net Framework SDK Libraries.
1545
-
1546
- Return
1547
- ------
1548
- list of str
1549
- paths
1550
- """
1551
- if self.vs_ver < 14.0 or not self.si.NetFxSdkDir:
1552
- return []
1553
-
1554
- arch_subdir = self.pi.target_dir(x64=True)
1555
- return [join(self.si.NetFxSdkDir, r'lib\um%s' % arch_subdir)]
1556
-
1557
- @property
1558
- def NetFxSDKIncludes(self):
1559
- """
1560
- Microsoft .Net Framework SDK Includes.
1561
-
1562
- Return
1563
- ------
1564
- list of str
1565
- paths
1566
- """
1567
- if self.vs_ver < 14.0 or not self.si.NetFxSdkDir:
1568
- return []
1569
-
1570
- return [join(self.si.NetFxSdkDir, r'include\um')]
1571
-
1572
- @property
1573
- def VsTDb(self):
1574
- """
1575
- Microsoft Visual Studio Team System Database.
1576
-
1577
- Return
1578
- ------
1579
- list of str
1580
- paths
1581
- """
1582
- return [join(self.si.VSInstallDir, r'VSTSDB\Deploy')]
1583
-
1584
- @property
1585
- def MSBuild(self):
1586
- """
1587
- Microsoft Build Engine.
1588
-
1589
- Return
1590
- ------
1591
- list of str
1592
- paths
1593
- """
1594
- if self.vs_ver < 12.0:
1595
- return []
1596
- elif self.vs_ver < 15.0:
1597
- base_path = self.si.ProgramFilesx86
1598
- arch_subdir = self.pi.current_dir(hidex86=True)
1599
- else:
1600
- base_path = self.si.VSInstallDir
1601
- arch_subdir = ''
1602
-
1603
- path = r'MSBuild\%0.1f\bin%s' % (self.vs_ver, arch_subdir)
1604
- build = [join(base_path, path)]
1605
-
1606
- if self.vs_ver >= 15.0:
1607
- # Add Roslyn C# & Visual Basic Compiler
1608
- build += [join(base_path, path, 'Roslyn')]
1609
-
1610
- return build
1611
-
1612
- @property
1613
- def HTMLHelpWorkshop(self):
1614
- """
1615
- Microsoft HTML Help Workshop.
1616
-
1617
- Return
1618
- ------
1619
- list of str
1620
- paths
1621
- """
1622
- if self.vs_ver < 11.0:
1623
- return []
1624
-
1625
- return [join(self.si.ProgramFilesx86, 'HTML Help Workshop')]
1626
-
1627
- @property
1628
- def UCRTLibraries(self):
1629
- """
1630
- Microsoft Universal C Runtime SDK Libraries.
1631
-
1632
- Return
1633
- ------
1634
- list of str
1635
- paths
1636
- """
1637
- if self.vs_ver < 14.0:
1638
- return []
1639
-
1640
- arch_subdir = self.pi.target_dir(x64=True)
1641
- lib = join(self.si.UniversalCRTSdkDir, 'lib')
1642
- ucrtver = self._ucrt_subdir
1643
- return [join(lib, '%sucrt%s' % (ucrtver, arch_subdir))]
1644
-
1645
- @property
1646
- def UCRTIncludes(self):
1647
- """
1648
- Microsoft Universal C Runtime SDK Include.
1649
-
1650
- Return
1651
- ------
1652
- list of str
1653
- paths
1654
- """
1655
- if self.vs_ver < 14.0:
1656
- return []
1657
-
1658
- include = join(self.si.UniversalCRTSdkDir, 'include')
1659
- return [join(include, '%sucrt' % self._ucrt_subdir)]
1660
-
1661
- @property
1662
- def _ucrt_subdir(self):
1663
- """
1664
- Microsoft Universal C Runtime SDK version subdir.
1665
-
1666
- Return
1667
- ------
1668
- str
1669
- subdir
1670
- """
1671
- ucrtver = self.si.UniversalCRTSdkLastVersion
1672
- return ('%s\\' % ucrtver) if ucrtver else ''
1673
-
1674
- @property
1675
- def FSharp(self):
1676
- """
1677
- Microsoft Visual F#.
1678
-
1679
- Return
1680
- ------
1681
- list of str
1682
- paths
1683
- """
1684
- if 11.0 > self.vs_ver > 12.0:
1685
- return []
1686
-
1687
- return [self.si.FSharpInstallDir]
1688
-
1689
- @property
1690
- def VCRuntimeRedist(self):
1691
- """
1692
- Microsoft Visual C++ runtime redistributable dll.
1693
-
1694
- Return
1695
- ------
1696
- str
1697
- path
1698
- """
1699
- vcruntime = 'vcruntime%d0.dll' % self.vc_ver
1700
- arch_subdir = self.pi.target_dir(x64=True).strip('\\')
1701
-
1702
- # Installation prefixes candidates
1703
- prefixes = []
1704
- tools_path = self.si.VCInstallDir
1705
- redist_path = dirname(tools_path.replace(r'\Tools', r'\Redist'))
1706
- if isdir(redist_path):
1707
- # Redist version may not be exactly the same as tools
1708
- redist_path = join(redist_path, listdir(redist_path)[-1])
1709
- prefixes += [redist_path, join(redist_path, 'onecore')]
1710
-
1711
- prefixes += [join(tools_path, 'redist')] # VS14 legacy path
1712
-
1713
- # CRT directory
1714
- crt_dirs = ('Microsoft.VC%d.CRT' % (self.vc_ver * 10),
1715
- # Sometime store in directory with VS version instead of VC
1716
- 'Microsoft.VC%d.CRT' % (int(self.vs_ver) * 10))
1717
-
1718
- # vcruntime path
1719
- for prefix, crt_dir in itertools.product(prefixes, crt_dirs):
1720
- path = join(prefix, arch_subdir, crt_dir, vcruntime)
1721
- if isfile(path):
1722
- return path
1723
-
1724
- def return_env(self, exists=True):
1725
- """
1726
- Return environment dict.
1727
-
1728
- Parameters
1729
- ----------
1730
- exists: bool
1731
- It True, only return existing paths.
1732
-
1733
- Return
1734
- ------
1735
- dict
1736
- environment
1737
- """
1738
- env = dict(
1739
- include=self._build_paths('include',
1740
- [self.VCIncludes,
1741
- self.OSIncludes,
1742
- self.UCRTIncludes,
1743
- self.NetFxSDKIncludes],
1744
- exists),
1745
- lib=self._build_paths('lib',
1746
- [self.VCLibraries,
1747
- self.OSLibraries,
1748
- self.FxTools,
1749
- self.UCRTLibraries,
1750
- self.NetFxSDKLibraries],
1751
- exists),
1752
- libpath=self._build_paths('libpath',
1753
- [self.VCLibraries,
1754
- self.FxTools,
1755
- self.VCStoreRefs,
1756
- self.OSLibpath],
1757
- exists),
1758
- path=self._build_paths('path',
1759
- [self.VCTools,
1760
- self.VSTools,
1761
- self.VsTDb,
1762
- self.SdkTools,
1763
- self.SdkSetup,
1764
- self.FxTools,
1765
- self.MSBuild,
1766
- self.HTMLHelpWorkshop,
1767
- self.FSharp],
1768
- exists),
1769
- )
1770
- if self.vs_ver >= 14 and isfile(self.VCRuntimeRedist):
1771
- env['py_vcruntime_redist'] = self.VCRuntimeRedist
1772
- return env
1773
-
1774
- def _build_paths(self, name, spec_path_lists, exists):
1775
- """
1776
- Given an environment variable name and specified paths,
1777
- return a pathsep-separated string of paths containing
1778
- unique, extant, directories from those paths and from
1779
- the environment variable. Raise an error if no paths
1780
- are resolved.
1781
-
1782
- Parameters
1783
- ----------
1784
- name: str
1785
- Environment variable name
1786
- spec_path_lists: list of str
1787
- Paths
1788
- exists: bool
1789
- It True, only return existing paths.
1790
-
1791
- Return
1792
- ------
1793
- str
1794
- Pathsep-separated paths
1795
- """
1796
- # flatten spec_path_lists
1797
- spec_paths = itertools.chain.from_iterable(spec_path_lists)
1798
- env_paths = environ.get(name, '').split(pathsep)
1799
- paths = itertools.chain(spec_paths, env_paths)
1800
- extant_paths = list(filter(isdir, paths)) if exists else paths
1801
- if not extant_paths:
1802
- msg = "%s environment variable is empty" % name.upper()
1803
- raise distutils.errors.DistutilsPlatformError(msg)
1804
- unique_paths = unique_everseen(extant_paths)
1805
- return pathsep.join(unique_paths)