Nuitka-winsvc 2.7.7__cp313-cp313-win_amd64.whl

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 Nuitka-winsvc might be problematic. Click here for more details.

Files changed (995) hide show
  1. nuitka/Builtins.py +259 -0
  2. nuitka/BytecodeCaching.py +184 -0
  3. nuitka/Bytecodes.py +109 -0
  4. nuitka/CacheCleanup.py +54 -0
  5. nuitka/Constants.py +425 -0
  6. nuitka/Errors.py +93 -0
  7. nuitka/HardImportRegistry.py +408 -0
  8. nuitka/MainControl.py +1201 -0
  9. nuitka/ModuleRegistry.py +364 -0
  10. nuitka/OptionParsing.py +2473 -0
  11. nuitka/Options.py +2948 -0
  12. nuitka/OutputDirectories.py +201 -0
  13. nuitka/PostProcessing.py +551 -0
  14. nuitka/Progress.py +252 -0
  15. nuitka/PythonFlavors.py +426 -0
  16. nuitka/PythonOperators.py +146 -0
  17. nuitka/PythonVersions.py +513 -0
  18. nuitka/Serialization.py +291 -0
  19. nuitka/SourceCodeReferences.py +176 -0
  20. nuitka/Tracing.py +579 -0
  21. nuitka/TreeXML.py +141 -0
  22. nuitka/Variables.py +515 -0
  23. nuitka/Version.py +88 -0
  24. nuitka/__init__.py +19 -0
  25. nuitka/__main__.py +224 -0
  26. nuitka/__past__.py +217 -0
  27. nuitka/build/Backend.scons +1111 -0
  28. nuitka/build/CCompilerVersion.scons +281 -0
  29. nuitka/build/DataComposerInterface.py +116 -0
  30. nuitka/build/Offsets.scons +626 -0
  31. nuitka/build/Onefile.scons +564 -0
  32. nuitka/build/SconsCaching.py +451 -0
  33. nuitka/build/SconsCompilerSettings.py +1133 -0
  34. nuitka/build/SconsHacks.py +215 -0
  35. nuitka/build/SconsInterface.py +664 -0
  36. nuitka/build/SconsProgress.py +100 -0
  37. nuitka/build/SconsSpawn.py +436 -0
  38. nuitka/build/SconsUtils.py +939 -0
  39. nuitka/build/__init__.py +19 -0
  40. nuitka/build/include/nuitka/allocator.h +450 -0
  41. nuitka/build/include/nuitka/builtins.h +97 -0
  42. nuitka/build/include/nuitka/calling.h +123 -0
  43. nuitka/build/include/nuitka/checkers.h +39 -0
  44. nuitka/build/include/nuitka/checksum_tools.h +28 -0
  45. nuitka/build/include/nuitka/compiled_asyncgen.h +281 -0
  46. nuitka/build/include/nuitka/compiled_cell.h +64 -0
  47. nuitka/build/include/nuitka/compiled_coroutine.h +271 -0
  48. nuitka/build/include/nuitka/compiled_frame.h +502 -0
  49. nuitka/build/include/nuitka/compiled_function.h +170 -0
  50. nuitka/build/include/nuitka/compiled_generator.h +287 -0
  51. nuitka/build/include/nuitka/compiled_method.h +54 -0
  52. nuitka/build/include/nuitka/constants.h +251 -0
  53. nuitka/build/include/nuitka/constants_blob.h +34 -0
  54. nuitka/build/include/nuitka/debug_settings.h +60 -0
  55. nuitka/build/include/nuitka/environment_variables.h +30 -0
  56. nuitka/build/include/nuitka/environment_variables_system.h +51 -0
  57. nuitka/build/include/nuitka/exception_groups.h +167 -0
  58. nuitka/build/include/nuitka/exceptions.h +1458 -0
  59. nuitka/build/include/nuitka/filesystem_paths.h +117 -0
  60. nuitka/build/include/nuitka/freelists.h +92 -0
  61. nuitka/build/include/nuitka/hedley.h +1774 -0
  62. nuitka/build/include/nuitka/helper/attributes.h +90 -0
  63. nuitka/build/include/nuitka/helper/boolean.h +86 -0
  64. nuitka/build/include/nuitka/helper/bytearrays.h +34 -0
  65. nuitka/build/include/nuitka/helper/bytes.h +28 -0
  66. nuitka/build/include/nuitka/helper/calling_generated.h +132 -0
  67. nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
  68. nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
  69. nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
  70. nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
  71. nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
  72. nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
  73. nuitka/build/include/nuitka/helper/comparisons_eq.h +247 -0
  74. nuitka/build/include/nuitka/helper/comparisons_ge.h +197 -0
  75. nuitka/build/include/nuitka/helper/comparisons_gt.h +197 -0
  76. nuitka/build/include/nuitka/helper/comparisons_le.h +247 -0
  77. nuitka/build/include/nuitka/helper/comparisons_lt.h +247 -0
  78. nuitka/build/include/nuitka/helper/comparisons_ne.h +197 -0
  79. nuitka/build/include/nuitka/helper/complex.h +46 -0
  80. nuitka/build/include/nuitka/helper/dictionaries.h +481 -0
  81. nuitka/build/include/nuitka/helper/floats.h +32 -0
  82. nuitka/build/include/nuitka/helper/import_hard.h +121 -0
  83. nuitka/build/include/nuitka/helper/indexes.h +47 -0
  84. nuitka/build/include/nuitka/helper/ints.h +165 -0
  85. nuitka/build/include/nuitka/helper/iterators.h +376 -0
  86. nuitka/build/include/nuitka/helper/lists.h +94 -0
  87. nuitka/build/include/nuitka/helper/lists_generated.h +36 -0
  88. nuitka/build/include/nuitka/helper/mappings.h +39 -0
  89. nuitka/build/include/nuitka/helper/operations.h +114 -0
  90. nuitka/build/include/nuitka/helper/operations_binary_add.h +240 -0
  91. nuitka/build/include/nuitka/helper/operations_binary_bitand.h +108 -0
  92. nuitka/build/include/nuitka/helper/operations_binary_bitor.h +108 -0
  93. nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +108 -0
  94. nuitka/build/include/nuitka/helper/operations_binary_divmod.h +103 -0
  95. nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +34 -0
  96. nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +103 -0
  97. nuitka/build/include/nuitka/helper/operations_binary_lshift.h +99 -0
  98. nuitka/build/include/nuitka/helper/operations_binary_matmult.h +60 -0
  99. nuitka/build/include/nuitka/helper/operations_binary_mod.h +304 -0
  100. nuitka/build/include/nuitka/helper/operations_binary_mult.h +247 -0
  101. nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +125 -0
  102. nuitka/build/include/nuitka/helper/operations_binary_pow.h +90 -0
  103. nuitka/build/include/nuitka/helper/operations_binary_rshift.h +99 -0
  104. nuitka/build/include/nuitka/helper/operations_binary_sub.h +117 -0
  105. nuitka/build/include/nuitka/helper/operations_binary_truediv.h +103 -0
  106. nuitka/build/include/nuitka/helper/operations_builtin_types.h +247 -0
  107. nuitka/build/include/nuitka/helper/operations_inplace_add.h +173 -0
  108. nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +76 -0
  109. nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +76 -0
  110. nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +76 -0
  111. nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +95 -0
  112. nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +62 -0
  113. nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +60 -0
  114. nuitka/build/include/nuitka/helper/operations_inplace_mod.h +218 -0
  115. nuitka/build/include/nuitka/helper/operations_inplace_mult.h +184 -0
  116. nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +115 -0
  117. nuitka/build/include/nuitka/helper/operations_inplace_pow.h +87 -0
  118. nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +62 -0
  119. nuitka/build/include/nuitka/helper/operations_inplace_sub.h +102 -0
  120. nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +95 -0
  121. nuitka/build/include/nuitka/helper/raising.h +114 -0
  122. nuitka/build/include/nuitka/helper/rangeobjects.h +66 -0
  123. nuitka/build/include/nuitka/helper/richcomparisons.h +35 -0
  124. nuitka/build/include/nuitka/helper/sequences.h +33 -0
  125. nuitka/build/include/nuitka/helper/sets.h +25 -0
  126. nuitka/build/include/nuitka/helper/slices.h +314 -0
  127. nuitka/build/include/nuitka/helper/strings.h +30 -0
  128. nuitka/build/include/nuitka/helper/subscripts.h +390 -0
  129. nuitka/build/include/nuitka/helper/tuples.h +187 -0
  130. nuitka/build/include/nuitka/helpers.h +417 -0
  131. nuitka/build/include/nuitka/importing.h +149 -0
  132. nuitka/build/include/nuitka/incbin.h +402 -0
  133. nuitka/build/include/nuitka/jit_sources.h +25 -0
  134. nuitka/build/include/nuitka/prelude.h +626 -0
  135. nuitka/build/include/nuitka/printing.h +84 -0
  136. nuitka/build/include/nuitka/python_pgo.h +57 -0
  137. nuitka/build/include/nuitka/safe_string_ops.h +57 -0
  138. nuitka/build/include/nuitka/threading.h +142 -0
  139. nuitka/build/include/nuitka/tracing.h +82 -0
  140. nuitka/build/include/nuitka/type_aliases.h +30 -0
  141. nuitka/build/include/nuitka/unfreezing.h +91 -0
  142. nuitka/build/inline_copy/appdirs/LICENSE.txt +23 -0
  143. nuitka/build/inline_copy/appdirs/appdirs.py +611 -0
  144. nuitka/build/inline_copy/atomicwrites/LICENSE +19 -0
  145. nuitka/build/inline_copy/atomicwrites/atomicwrites.py +226 -0
  146. nuitka/build/inline_copy/bin/scons.py +58 -0
  147. nuitka/build/inline_copy/clcache/clcache/LICENSE +30 -0
  148. nuitka/build/inline_copy/clcache/clcache/__init__.py +4 -0
  149. nuitka/build/inline_copy/clcache/clcache/caching.py +2008 -0
  150. nuitka/build/inline_copy/colorama/LICENSE.txt +27 -0
  151. nuitka/build/inline_copy/colorama/colorama/__init__.py +6 -0
  152. nuitka/build/inline_copy/colorama/colorama/ansi.py +102 -0
  153. nuitka/build/inline_copy/colorama/colorama/ansitowin32.py +258 -0
  154. nuitka/build/inline_copy/colorama/colorama/initialise.py +80 -0
  155. nuitka/build/inline_copy/colorama/colorama/win32.py +152 -0
  156. nuitka/build/inline_copy/colorama/colorama/winterm.py +169 -0
  157. nuitka/build/inline_copy/glob2/LICENSE +27 -0
  158. nuitka/build/inline_copy/glob2/glob2/__init__.py +5 -0
  159. nuitka/build/inline_copy/glob2/glob2/compat.py +167 -0
  160. nuitka/build/inline_copy/glob2/glob2/fnmatch.py +141 -0
  161. nuitka/build/inline_copy/glob2/glob2/impl.py +216 -0
  162. nuitka/build/inline_copy/jinja2/LICENSE.rst +28 -0
  163. nuitka/build/inline_copy/jinja2/README.rst +2 -0
  164. nuitka/build/inline_copy/jinja2/jinja2/__init__.py +72 -0
  165. nuitka/build/inline_copy/jinja2/jinja2/_compat.py +105 -0
  166. nuitka/build/inline_copy/jinja2/jinja2/_identifier.py +2 -0
  167. nuitka/build/inline_copy/jinja2/jinja2/bccache.py +361 -0
  168. nuitka/build/inline_copy/jinja2/jinja2/compiler.py +1721 -0
  169. nuitka/build/inline_copy/jinja2/jinja2/constants.py +32 -0
  170. nuitka/build/inline_copy/jinja2/jinja2/debug.py +378 -0
  171. nuitka/build/inline_copy/jinja2/jinja2/defaults.py +56 -0
  172. nuitka/build/inline_copy/jinja2/jinja2/environment.py +1276 -0
  173. nuitka/build/inline_copy/jinja2/jinja2/exceptions.py +146 -0
  174. nuitka/build/inline_copy/jinja2/jinja2/ext.py +627 -0
  175. nuitka/build/inline_copy/jinja2/jinja2/filters.py +1190 -0
  176. nuitka/build/inline_copy/jinja2/jinja2/idtracking.py +286 -0
  177. nuitka/build/inline_copy/jinja2/jinja2/lexer.py +739 -0
  178. nuitka/build/inline_copy/jinja2/jinja2/loaders.py +483 -0
  179. nuitka/build/inline_copy/jinja2/jinja2/meta.py +106 -0
  180. nuitka/build/inline_copy/jinja2/jinja2/nativetypes.py +220 -0
  181. nuitka/build/inline_copy/jinja2/jinja2/nodes.py +999 -0
  182. nuitka/build/inline_copy/jinja2/jinja2/optimizer.py +49 -0
  183. nuitka/build/inline_copy/jinja2/jinja2/parser.py +903 -0
  184. nuitka/build/inline_copy/jinja2/jinja2/runtime.py +808 -0
  185. nuitka/build/inline_copy/jinja2/jinja2/sandbox.py +488 -0
  186. nuitka/build/inline_copy/jinja2/jinja2/tests.py +174 -0
  187. nuitka/build/inline_copy/jinja2/jinja2/utils.py +642 -0
  188. nuitka/build/inline_copy/jinja2/jinja2/visitor.py +87 -0
  189. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Action.py +1475 -0
  190. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Builder.py +905 -0
  191. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/CacheDir.py +314 -0
  192. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Conftest.py +805 -0
  193. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Debug.py +251 -0
  194. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Defaults.py +646 -0
  195. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Environment.py +2561 -0
  196. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/EnvironmentValues.py +119 -0
  197. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Errors.py +222 -0
  198. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Executor.py +660 -0
  199. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Job.py +439 -0
  200. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Memoize.py +242 -0
  201. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/Alias.py +176 -0
  202. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/FS.py +3861 -0
  203. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/Python.py +195 -0
  204. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/__init__.py +1784 -0
  205. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/PathList.py +224 -0
  206. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/__init__.py +341 -0
  207. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/aix.py +81 -0
  208. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/cygwin.py +61 -0
  209. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/darwin.py +70 -0
  210. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/hpux.py +45 -0
  211. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/irix.py +41 -0
  212. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/mingw.py +33 -0
  213. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/os2.py +55 -0
  214. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/posix.py +124 -0
  215. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/sunos.py +47 -0
  216. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/virtualenv.py +115 -0
  217. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/win32.py +429 -0
  218. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/SConf.py +1119 -0
  219. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/SConsign.py +453 -0
  220. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/C.py +226 -0
  221. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/Dir.py +131 -0
  222. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/Prog.py +114 -0
  223. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/RC.py +57 -0
  224. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/__init__.py +436 -0
  225. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/Interactive.py +372 -0
  226. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/Main.py +1469 -0
  227. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/SConsOptions.py +1071 -0
  228. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/SConscript.py +686 -0
  229. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/__init__.py +425 -0
  230. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Subst.py +979 -0
  231. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Taskmaster.py +1062 -0
  232. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/386asm.py +61 -0
  233. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/GettextCommon.py +429 -0
  234. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/__init__.py +52 -0
  235. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/arch.py +66 -0
  236. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/common.py +371 -0
  237. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/netframework.py +83 -0
  238. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/sdk.py +411 -0
  239. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/vc.py +994 -0
  240. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/vs.py +608 -0
  241. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/PharLapCommon.py +116 -0
  242. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/__init__.py +882 -0
  243. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixc++.py +43 -0
  244. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixcc.py +74 -0
  245. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixcxx.py +77 -0
  246. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixlink.py +78 -0
  247. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/applelink.py +209 -0
  248. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/ar.py +63 -0
  249. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/as.py +49 -0
  250. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/asm.py +78 -0
  251. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/bcc32.py +81 -0
  252. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/c++.py +44 -0
  253. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/cc.py +105 -0
  254. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/clang.py +91 -0
  255. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/clangCommon/__init__.py +18 -0
  256. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/clangxx.py +99 -0
  257. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/cxx.py +95 -0
  258. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/cyglink.py +212 -0
  259. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/default.py +50 -0
  260. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/filesystem.py +98 -0
  261. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/g++.py +45 -0
  262. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gas.py +56 -0
  263. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gcc.py +110 -0
  264. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gettext_tool.py +69 -0
  265. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gnulink.py +70 -0
  266. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gxx.py +78 -0
  267. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hpc++.py +45 -0
  268. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hpcc.py +53 -0
  269. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hpcxx.py +88 -0
  270. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hplink.py +72 -0
  271. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/icc.py +59 -0
  272. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/icl.py +52 -0
  273. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/ilink.py +55 -0
  274. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/ilink32.py +60 -0
  275. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/install.py +510 -0
  276. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/intelc.py +617 -0
  277. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/link.py +72 -0
  278. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkCommon/LoadableModule.py +131 -0
  279. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkCommon/SharedLibrary.py +218 -0
  280. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkCommon/__init__.py +171 -0
  281. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkloc.py +112 -0
  282. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/m4.py +63 -0
  283. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/masm.py +77 -0
  284. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mingw.py +232 -0
  285. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msgfmt.py +132 -0
  286. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msginit.py +137 -0
  287. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msgmerge.py +125 -0
  288. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mslib.py +73 -0
  289. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mslink.py +339 -0
  290. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mssdk.py +50 -0
  291. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msvc.py +325 -0
  292. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msvs.py +2116 -0
  293. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mwcc.py +207 -0
  294. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mwld.py +108 -0
  295. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/nasm.py +72 -0
  296. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/rmic.py +139 -0
  297. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/rpcgen.py +70 -0
  298. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgiar.py +68 -0
  299. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgic++.py +43 -0
  300. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgicc.py +53 -0
  301. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgicxx.py +61 -0
  302. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgilink.py +59 -0
  303. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sunar.py +64 -0
  304. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sunc++.py +45 -0
  305. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/suncc.py +58 -0
  306. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/suncxx.py +153 -0
  307. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sunlink.py +79 -0
  308. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/tar.py +73 -0
  309. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/textfile.py +198 -0
  310. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/tlib.py +53 -0
  311. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/wix.py +104 -0
  312. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/xgettext.py +337 -0
  313. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/zip.py +120 -0
  314. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Util.py +2134 -0
  315. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Utilities/ConfigureCache.py +171 -0
  316. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Utilities/__init__.py +0 -0
  317. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Utilities/sconsign.py +494 -0
  318. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/BoolVariable.py +96 -0
  319. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/EnumVariable.py +110 -0
  320. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +152 -0
  321. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/PackageVariable.py +107 -0
  322. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/PathVariable.py +158 -0
  323. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/__init__.py +334 -0
  324. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Warnings.py +238 -0
  325. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/__init__.py +9 -0
  326. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/compat/__init__.py +104 -0
  327. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/compat/_scons_dbm.py +42 -0
  328. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/compat/win32.py +101 -0
  329. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/cpp.py +640 -0
  330. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/dblite.py +295 -0
  331. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/exitfuncs.py +59 -0
  332. nuitka/build/inline_copy/markupsafe/LICENSE.rst +28 -0
  333. nuitka/build/inline_copy/markupsafe/markupsafe/__init__.py +327 -0
  334. nuitka/build/inline_copy/markupsafe/markupsafe/_compat.py +33 -0
  335. nuitka/build/inline_copy/markupsafe/markupsafe/_constants.py +264 -0
  336. nuitka/build/inline_copy/markupsafe/markupsafe/_native.py +69 -0
  337. nuitka/build/inline_copy/pefile/LICENSE.txt +21 -0
  338. nuitka/build/inline_copy/pefile/ordlookup/__init__.py +41 -0
  339. nuitka/build/inline_copy/pefile/ordlookup/oleaut32.py +400 -0
  340. nuitka/build/inline_copy/pefile/ordlookup/ws2_32.py +120 -0
  341. nuitka/build/inline_copy/pefile/pefile.py +8034 -0
  342. nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +3272 -0
  343. nuitka/build/inline_copy/pkg_resources/pkg_resources/py31compat.py +21 -0
  344. nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
  345. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
  346. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
  347. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
  348. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
  349. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
  350. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
  351. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
  352. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
  353. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
  354. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
  355. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
  356. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
  357. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
  358. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
  359. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
  360. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
  361. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
  362. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
  363. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
  364. nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
  365. nuitka/build/inline_copy/stubgen/astunparse.py +938 -0
  366. nuitka/build/inline_copy/stubgen/six.py +998 -0
  367. nuitka/build/inline_copy/stubgen/stubgen.py +484 -0
  368. nuitka/build/inline_copy/tqdm/tqdm/__init__.py +40 -0
  369. nuitka/build/inline_copy/tqdm/tqdm/_main.py +9 -0
  370. nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +97 -0
  371. nuitka/build/inline_copy/tqdm/tqdm/_tqdm.py +9 -0
  372. nuitka/build/inline_copy/tqdm/tqdm/_tqdm_notebook.py +9 -0
  373. nuitka/build/inline_copy/tqdm/tqdm/_tqdm_pandas.py +24 -0
  374. nuitka/build/inline_copy/tqdm/tqdm/_utils.py +12 -0
  375. nuitka/build/inline_copy/tqdm/tqdm/auto.py +44 -0
  376. nuitka/build/inline_copy/tqdm/tqdm/autonotebook.py +28 -0
  377. nuitka/build/inline_copy/tqdm/tqdm/dask.py +46 -0
  378. nuitka/build/inline_copy/tqdm/tqdm/notebook.py +316 -0
  379. nuitka/build/inline_copy/tqdm/tqdm/std.py +1524 -0
  380. nuitka/build/inline_copy/tqdm/tqdm/tk.py +207 -0
  381. nuitka/build/inline_copy/tqdm/tqdm/utils.py +351 -0
  382. nuitka/build/inline_copy/tqdm/tqdm/version.py +2 -0
  383. nuitka/build/inline_copy/yaml/LICENSE +20 -0
  384. nuitka/build/inline_copy/yaml/yaml/__init__.py +427 -0
  385. nuitka/build/inline_copy/yaml/yaml/composer.py +139 -0
  386. nuitka/build/inline_copy/yaml/yaml/constructor.py +748 -0
  387. nuitka/build/inline_copy/yaml/yaml/cyaml.py +101 -0
  388. nuitka/build/inline_copy/yaml/yaml/dumper.py +62 -0
  389. nuitka/build/inline_copy/yaml/yaml/emitter.py +1137 -0
  390. nuitka/build/inline_copy/yaml/yaml/error.py +75 -0
  391. nuitka/build/inline_copy/yaml/yaml/events.py +86 -0
  392. nuitka/build/inline_copy/yaml/yaml/loader.py +63 -0
  393. nuitka/build/inline_copy/yaml/yaml/nodes.py +49 -0
  394. nuitka/build/inline_copy/yaml/yaml/parser.py +589 -0
  395. nuitka/build/inline_copy/yaml/yaml/reader.py +185 -0
  396. nuitka/build/inline_copy/yaml/yaml/representer.py +389 -0
  397. nuitka/build/inline_copy/yaml/yaml/resolver.py +227 -0
  398. nuitka/build/inline_copy/yaml/yaml/scanner.py +1435 -0
  399. nuitka/build/inline_copy/yaml/yaml/serializer.py +111 -0
  400. nuitka/build/inline_copy/yaml/yaml/tokens.py +104 -0
  401. nuitka/build/inline_copy/zlib/LICENSE +22 -0
  402. nuitka/build/inline_copy/zlib/crc32.c +1049 -0
  403. nuitka/build/inline_copy/zlib/crc32.h +9446 -0
  404. nuitka/build/inline_copy/zlib/zconf.h +551 -0
  405. nuitka/build/inline_copy/zlib/zlib.h +1938 -0
  406. nuitka/build/inline_copy/zlib/zutil.h +275 -0
  407. nuitka/build/inline_copy/zstd/LICENSE.txt +30 -0
  408. nuitka/build/inline_copy/zstd/common/bitstream.h +463 -0
  409. nuitka/build/inline_copy/zstd/common/compiler.h +288 -0
  410. nuitka/build/inline_copy/zstd/common/cpu.h +213 -0
  411. nuitka/build/inline_copy/zstd/common/debug.h +107 -0
  412. nuitka/build/inline_copy/zstd/common/entropy_common.c +360 -0
  413. nuitka/build/inline_copy/zstd/common/error_private.c +56 -0
  414. nuitka/build/inline_copy/zstd/common/error_private.h +80 -0
  415. nuitka/build/inline_copy/zstd/common/fse.h +715 -0
  416. nuitka/build/inline_copy/zstd/common/fse_decompress.c +393 -0
  417. nuitka/build/inline_copy/zstd/common/huf.h +361 -0
  418. nuitka/build/inline_copy/zstd/common/mem.h +426 -0
  419. nuitka/build/inline_copy/zstd/common/xxhash.c +826 -0
  420. nuitka/build/inline_copy/zstd/common/xxhash.h +285 -0
  421. nuitka/build/inline_copy/zstd/common/zstd_common.c +83 -0
  422. nuitka/build/inline_copy/zstd/common/zstd_deps.h +111 -0
  423. nuitka/build/inline_copy/zstd/common/zstd_errors.h +95 -0
  424. nuitka/build/inline_copy/zstd/common/zstd_internal.h +478 -0
  425. nuitka/build/inline_copy/zstd/decompress/huf_decompress.c +1350 -0
  426. nuitka/build/inline_copy/zstd/decompress/zstd_ddict.c +244 -0
  427. nuitka/build/inline_copy/zstd/decompress/zstd_ddict.h +44 -0
  428. nuitka/build/inline_copy/zstd/decompress/zstd_decompress.c +1930 -0
  429. nuitka/build/inline_copy/zstd/decompress/zstd_decompress_block.c +1540 -0
  430. nuitka/build/inline_copy/zstd/decompress/zstd_decompress_block.h +62 -0
  431. nuitka/build/inline_copy/zstd/decompress/zstd_decompress_internal.h +190 -0
  432. nuitka/build/inline_copy/zstd/zstd.h +2391 -0
  433. nuitka/build/static_src/CompiledAsyncgenType.c +2211 -0
  434. nuitka/build/static_src/CompiledCellType.c +300 -0
  435. nuitka/build/static_src/CompiledCodeHelpers.c +2160 -0
  436. nuitka/build/static_src/CompiledCoroutineType.c +1946 -0
  437. nuitka/build/static_src/CompiledFrameType.c +1337 -0
  438. nuitka/build/static_src/CompiledFunctionType.c +3320 -0
  439. nuitka/build/static_src/CompiledGeneratorType.c +1997 -0
  440. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +2117 -0
  441. nuitka/build/static_src/CompiledMethodType.c +614 -0
  442. nuitka/build/static_src/GenerateHeadersMain.c +30 -0
  443. nuitka/build/static_src/HelpersAllocator.c +939 -0
  444. nuitka/build/static_src/HelpersAttributes.c +1241 -0
  445. nuitka/build/static_src/HelpersBuiltin.c +901 -0
  446. nuitka/build/static_src/HelpersBuiltinTypeMethods.c +3594 -0
  447. nuitka/build/static_src/HelpersBytes.c +107 -0
  448. nuitka/build/static_src/HelpersCalling.c +397 -0
  449. nuitka/build/static_src/HelpersCallingGenerated.c +14361 -0
  450. nuitka/build/static_src/HelpersChecksumTools.c +59 -0
  451. nuitka/build/static_src/HelpersClasses.c +91 -0
  452. nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
  453. nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
  454. nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
  455. nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
  456. nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
  457. nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
  458. nuitka/build/static_src/HelpersComparisonEq.c +12070 -0
  459. nuitka/build/static_src/HelpersComparisonEqUtils.c +169 -0
  460. nuitka/build/static_src/HelpersComparisonGe.c +11871 -0
  461. nuitka/build/static_src/HelpersComparisonGt.c +11855 -0
  462. nuitka/build/static_src/HelpersComparisonLe.c +11957 -0
  463. nuitka/build/static_src/HelpersComparisonLt.c +11941 -0
  464. nuitka/build/static_src/HelpersComparisonNe.c +11979 -0
  465. nuitka/build/static_src/HelpersConsole.c +124 -0
  466. nuitka/build/static_src/HelpersConstantsBlob.c +1487 -0
  467. nuitka/build/static_src/HelpersDeepcopy.c +636 -0
  468. nuitka/build/static_src/HelpersDictionaries.c +1739 -0
  469. nuitka/build/static_src/HelpersDictionariesGenerated.c +738 -0
  470. nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
  471. nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
  472. nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +97 -0
  473. nuitka/build/static_src/HelpersExceptions.c +298 -0
  474. nuitka/build/static_src/HelpersFiles.c +353 -0
  475. nuitka/build/static_src/HelpersFilesystemPaths.c +1322 -0
  476. nuitka/build/static_src/HelpersFloats.c +92 -0
  477. nuitka/build/static_src/HelpersHeapStorage.c +68 -0
  478. nuitka/build/static_src/HelpersImport.c +506 -0
  479. nuitka/build/static_src/HelpersImportHard.c +526 -0
  480. nuitka/build/static_src/HelpersJitSources.c +48 -0
  481. nuitka/build/static_src/HelpersLists.c +899 -0
  482. nuitka/build/static_src/HelpersListsGenerated.c +564 -0
  483. nuitka/build/static_src/HelpersMappings.c +46 -0
  484. nuitka/build/static_src/HelpersMatching.c +192 -0
  485. nuitka/build/static_src/HelpersOperationBinaryAdd.c +6477 -0
  486. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +703 -0
  487. nuitka/build/static_src/HelpersOperationBinaryBitand.c +2738 -0
  488. nuitka/build/static_src/HelpersOperationBinaryBitor.c +2738 -0
  489. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +2738 -0
  490. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +2406 -0
  491. nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +33 -0
  492. nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
  493. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +2422 -0
  494. nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +220 -0
  495. nuitka/build/static_src/HelpersOperationBinaryLshift.c +2846 -0
  496. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +453 -0
  497. nuitka/build/static_src/HelpersOperationBinaryMod.c +6549 -0
  498. nuitka/build/static_src/HelpersOperationBinaryMult.c +6438 -0
  499. nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +125 -0
  500. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +2355 -0
  501. nuitka/build/static_src/HelpersOperationBinaryPow.c +2743 -0
  502. nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +26 -0
  503. nuitka/build/static_src/HelpersOperationBinaryRshift.c +2706 -0
  504. nuitka/build/static_src/HelpersOperationBinarySub.c +2649 -0
  505. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +2415 -0
  506. nuitka/build/static_src/HelpersOperationInplaceAdd.c +5211 -0
  507. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +144 -0
  508. nuitka/build/static_src/HelpersOperationInplaceBitand.c +1826 -0
  509. nuitka/build/static_src/HelpersOperationInplaceBitor.c +1826 -0
  510. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1826 -0
  511. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +2605 -0
  512. nuitka/build/static_src/HelpersOperationInplaceLshift.c +1594 -0
  513. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +603 -0
  514. nuitka/build/static_src/HelpersOperationInplaceMod.c +4762 -0
  515. nuitka/build/static_src/HelpersOperationInplaceMult.c +4689 -0
  516. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +2553 -0
  517. nuitka/build/static_src/HelpersOperationInplacePow.c +2807 -0
  518. nuitka/build/static_src/HelpersOperationInplaceRshift.c +1534 -0
  519. nuitka/build/static_src/HelpersOperationInplaceSub.c +2894 -0
  520. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +2612 -0
  521. nuitka/build/static_src/HelpersProfiling.c +104 -0
  522. nuitka/build/static_src/HelpersPythonPgo.c +113 -0
  523. nuitka/build/static_src/HelpersRaising.c +447 -0
  524. nuitka/build/static_src/HelpersSafeStrings.c +185 -0
  525. nuitka/build/static_src/HelpersSequences.c +134 -0
  526. nuitka/build/static_src/HelpersSlices.c +73 -0
  527. nuitka/build/static_src/HelpersStrings.c +998 -0
  528. nuitka/build/static_src/HelpersTuples.c +148 -0
  529. nuitka/build/static_src/HelpersTypes.c +329 -0
  530. nuitka/build/static_src/InspectPatcher.c +439 -0
  531. nuitka/build/static_src/MainProgram.c +2060 -0
  532. nuitka/build/static_src/MetaPathBasedLoader.c +2290 -0
  533. nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +125 -0
  534. nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +158 -0
  535. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +785 -0
  536. nuitka/build/static_src/OnefileBootstrap.c +1580 -0
  537. nuitka/build/static_src/OnefileSplashScreen.cpp +275 -0
  538. nuitka/code_generation/AsyncgenCodes.py +186 -0
  539. nuitka/code_generation/AttributeCodes.py +357 -0
  540. nuitka/code_generation/BinaryOperationHelperDefinitions.py +720 -0
  541. nuitka/code_generation/BranchCodes.py +67 -0
  542. nuitka/code_generation/BuiltinCodes.py +529 -0
  543. nuitka/code_generation/CallCodes.py +1186 -0
  544. nuitka/code_generation/ClassCodes.py +156 -0
  545. nuitka/code_generation/CodeGeneration.py +1078 -0
  546. nuitka/code_generation/CodeHelperSelection.py +81 -0
  547. nuitka/code_generation/CodeHelpers.py +455 -0
  548. nuitka/code_generation/CodeObjectCodes.py +165 -0
  549. nuitka/code_generation/ComparisonCodes.py +569 -0
  550. nuitka/code_generation/ComparisonHelperDefinitions.py +146 -0
  551. nuitka/code_generation/ConditionalCodes.py +236 -0
  552. nuitka/code_generation/ConstantCodes.py +243 -0
  553. nuitka/code_generation/Contexts.py +1248 -0
  554. nuitka/code_generation/CoroutineCodes.py +253 -0
  555. nuitka/code_generation/CtypesCodes.py +46 -0
  556. nuitka/code_generation/DictCodes.py +918 -0
  557. nuitka/code_generation/Emission.py +75 -0
  558. nuitka/code_generation/ErrorCodes.py +281 -0
  559. nuitka/code_generation/EvalCodes.py +444 -0
  560. nuitka/code_generation/ExceptionCodes.py +337 -0
  561. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +227 -0
  562. nuitka/code_generation/ExpressionCodes.py +61 -0
  563. nuitka/code_generation/FrameCodes.py +518 -0
  564. nuitka/code_generation/FunctionCodes.py +858 -0
  565. nuitka/code_generation/GeneratorCodes.py +218 -0
  566. nuitka/code_generation/GlobalConstants.py +249 -0
  567. nuitka/code_generation/GlobalsLocalsCodes.py +211 -0
  568. nuitka/code_generation/IdCodes.py +53 -0
  569. nuitka/code_generation/ImportCodes.py +468 -0
  570. nuitka/code_generation/Indentation.py +45 -0
  571. nuitka/code_generation/IndexCodes.py +50 -0
  572. nuitka/code_generation/InjectCCodes.py +28 -0
  573. nuitka/code_generation/IntegerCodes.py +110 -0
  574. nuitka/code_generation/IteratorCodes.py +378 -0
  575. nuitka/code_generation/JitCodes.py +44 -0
  576. nuitka/code_generation/LabelCodes.py +68 -0
  577. nuitka/code_generation/LineNumberCodes.py +91 -0
  578. nuitka/code_generation/ListCodes.py +502 -0
  579. nuitka/code_generation/LoaderCodes.py +193 -0
  580. nuitka/code_generation/LocalsDictCodes.py +359 -0
  581. nuitka/code_generation/LoopCodes.py +88 -0
  582. nuitka/code_generation/MatchCodes.py +67 -0
  583. nuitka/code_generation/ModuleCodes.py +247 -0
  584. nuitka/code_generation/Namify.py +260 -0
  585. nuitka/code_generation/NetworkxCodes.py +51 -0
  586. nuitka/code_generation/OperationCodes.py +398 -0
  587. nuitka/code_generation/PackageResourceCodes.py +986 -0
  588. nuitka/code_generation/PrintCodes.py +93 -0
  589. nuitka/code_generation/PythonAPICodes.py +215 -0
  590. nuitka/code_generation/RaisingCodes.py +481 -0
  591. nuitka/code_generation/Reports.py +115 -0
  592. nuitka/code_generation/ReturnCodes.py +143 -0
  593. nuitka/code_generation/SetCodes.py +196 -0
  594. nuitka/code_generation/SliceCodes.py +465 -0
  595. nuitka/code_generation/StringCodes.py +303 -0
  596. nuitka/code_generation/SubscriptCodes.py +263 -0
  597. nuitka/code_generation/TensorflowCodes.py +54 -0
  598. nuitka/code_generation/TryCodes.py +326 -0
  599. nuitka/code_generation/TupleCodes.py +115 -0
  600. nuitka/code_generation/TypeAliasCodes.py +120 -0
  601. nuitka/code_generation/VariableCodes.py +519 -0
  602. nuitka/code_generation/VariableDeclarations.py +279 -0
  603. nuitka/code_generation/YieldCodes.py +253 -0
  604. nuitka/code_generation/__init__.py +19 -0
  605. nuitka/code_generation/c_types/CTypeBases.py +177 -0
  606. nuitka/code_generation/c_types/CTypeBooleans.py +104 -0
  607. nuitka/code_generation/c_types/CTypeCFloats.py +57 -0
  608. nuitka/code_generation/c_types/CTypeCLongs.py +45 -0
  609. nuitka/code_generation/c_types/CTypeModuleDictVariables.py +109 -0
  610. nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +150 -0
  611. nuitka/code_generation/c_types/CTypeNuitkaInts.py +200 -0
  612. nuitka/code_generation/c_types/CTypeNuitkaVoids.py +107 -0
  613. nuitka/code_generation/c_types/CTypePyObjectPointers.py +572 -0
  614. nuitka/code_generation/c_types/CTypeVoids.py +92 -0
  615. nuitka/code_generation/c_types/__init__.py +19 -0
  616. nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +106 -0
  617. nuitka/code_generation/templates/CodeTemplatesConstants.py +296 -0
  618. nuitka/code_generation/templates/CodeTemplatesCoroutines.py +109 -0
  619. nuitka/code_generation/templates/CodeTemplatesExceptions.py +84 -0
  620. nuitka/code_generation/templates/CodeTemplatesFrames.py +235 -0
  621. nuitka/code_generation/templates/CodeTemplatesFunction.py +117 -0
  622. nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +130 -0
  623. nuitka/code_generation/templates/CodeTemplatesIterators.py +40 -0
  624. nuitka/code_generation/templates/CodeTemplatesLoader.py +180 -0
  625. nuitka/code_generation/templates/CodeTemplatesModules.py +710 -0
  626. nuitka/code_generation/templates/CodeTemplatesVariables.py +388 -0
  627. nuitka/code_generation/templates/TemplateDebugWrapper.py +80 -0
  628. nuitka/code_generation/templates/__init__.py +19 -0
  629. nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +321 -0
  630. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +143 -0
  631. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +677 -0
  632. nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +165 -0
  633. nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +38 -0
  634. nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +41 -0
  635. nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +53 -0
  636. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +364 -0
  637. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +37 -0
  638. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +53 -0
  639. nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +20 -0
  640. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +148 -0
  641. nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +115 -0
  642. nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +352 -0
  643. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +115 -0
  644. nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
  645. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +31 -0
  646. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +32 -0
  647. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +112 -0
  648. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +157 -0
  649. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +115 -0
  650. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +99 -0
  651. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +115 -0
  652. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +281 -0
  653. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +420 -0
  654. nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +51 -0
  655. nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +71 -0
  656. nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +327 -0
  657. nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +411 -0
  658. nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +59 -0
  659. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +229 -0
  660. nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +47 -0
  661. nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +55 -0
  662. nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +58 -0
  663. nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +62 -0
  664. nuitka/containers/Namedtuples.py +51 -0
  665. nuitka/containers/OrderedDicts.py +191 -0
  666. nuitka/containers/OrderedSets.py +123 -0
  667. nuitka/containers/OrderedSetsFallback.py +139 -0
  668. nuitka/containers/__init__.py +19 -0
  669. nuitka/distutils/Build.py +76 -0
  670. nuitka/distutils/DistutilCommands.py +438 -0
  671. nuitka/distutils/__init__.py +19 -0
  672. nuitka/finalizations/Finalization.py +35 -0
  673. nuitka/finalizations/FinalizeMarkups.py +136 -0
  674. nuitka/finalizations/__init__.py +19 -0
  675. nuitka/freezer/DependsExe.py +257 -0
  676. nuitka/freezer/DllDependenciesCommon.py +97 -0
  677. nuitka/freezer/DllDependenciesMacOS.py +444 -0
  678. nuitka/freezer/DllDependenciesPosix.py +242 -0
  679. nuitka/freezer/DllDependenciesWin32.py +315 -0
  680. nuitka/freezer/ImportDetection.py +359 -0
  681. nuitka/freezer/IncludedDataFiles.py +689 -0
  682. nuitka/freezer/IncludedEntryPoints.py +376 -0
  683. nuitka/freezer/Onefile.py +296 -0
  684. nuitka/freezer/Standalone.py +520 -0
  685. nuitka/freezer/__init__.py +19 -0
  686. nuitka/importing/IgnoreListing.py +449 -0
  687. nuitka/importing/ImportCache.py +95 -0
  688. nuitka/importing/ImportResolving.py +186 -0
  689. nuitka/importing/Importing.py +1200 -0
  690. nuitka/importing/PreloadedPackages.py +164 -0
  691. nuitka/importing/Recursion.py +611 -0
  692. nuitka/importing/StandardLibrary.py +429 -0
  693. nuitka/importing/__init__.py +19 -0
  694. nuitka/nodes/AsyncgenNodes.py +107 -0
  695. nuitka/nodes/AttributeLookupNodes.py +124 -0
  696. nuitka/nodes/AttributeNodes.py +386 -0
  697. nuitka/nodes/AttributeNodesGenerated.py +10734 -0
  698. nuitka/nodes/BuiltinAllNodes.py +115 -0
  699. nuitka/nodes/BuiltinAnyNodes.py +124 -0
  700. nuitka/nodes/BuiltinComplexNodes.py +83 -0
  701. nuitka/nodes/BuiltinDecodingNodes.py +52 -0
  702. nuitka/nodes/BuiltinDecoratorNodes.py +85 -0
  703. nuitka/nodes/BuiltinDictNodes.py +140 -0
  704. nuitka/nodes/BuiltinFormatNodes.py +159 -0
  705. nuitka/nodes/BuiltinHashNodes.py +63 -0
  706. nuitka/nodes/BuiltinInputNodes.py +39 -0
  707. nuitka/nodes/BuiltinIntegerNodes.py +170 -0
  708. nuitka/nodes/BuiltinIteratorNodes.py +391 -0
  709. nuitka/nodes/BuiltinLenNodes.py +61 -0
  710. nuitka/nodes/BuiltinNextNodes.py +111 -0
  711. nuitka/nodes/BuiltinOpenNodes.py +148 -0
  712. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +7367 -0
  713. nuitka/nodes/BuiltinRangeNodes.py +690 -0
  714. nuitka/nodes/BuiltinRefNodes.py +314 -0
  715. nuitka/nodes/BuiltinSumNodes.py +104 -0
  716. nuitka/nodes/BuiltinTypeNodes.py +454 -0
  717. nuitka/nodes/BuiltinVarsNodes.py +44 -0
  718. nuitka/nodes/BytesNodes.py +829 -0
  719. nuitka/nodes/CallNodes.py +217 -0
  720. nuitka/nodes/Checkers.py +55 -0
  721. nuitka/nodes/ChildrenHavingMixins.py +21576 -0
  722. nuitka/nodes/ClassNodes.py +286 -0
  723. nuitka/nodes/CodeObjectSpecs.py +230 -0
  724. nuitka/nodes/ComparisonNodes.py +687 -0
  725. nuitka/nodes/ConditionalNodes.py +884 -0
  726. nuitka/nodes/ConstantRefNodes.py +1717 -0
  727. nuitka/nodes/ContainerMakingNodes.py +408 -0
  728. nuitka/nodes/ContainerOperationNodes.py +87 -0
  729. nuitka/nodes/CoroutineNodes.py +144 -0
  730. nuitka/nodes/CtypesNodes.py +51 -0
  731. nuitka/nodes/DictionaryNodes.py +1513 -0
  732. nuitka/nodes/ExceptionNodes.py +393 -0
  733. nuitka/nodes/ExecEvalNodes.py +229 -0
  734. nuitka/nodes/ExpressionBases.py +1301 -0
  735. nuitka/nodes/ExpressionBasesGenerated.py +2103 -0
  736. nuitka/nodes/ExpressionShapeMixins.py +886 -0
  737. nuitka/nodes/FrameNodes.py +413 -0
  738. nuitka/nodes/FunctionAttributeNodes.py +102 -0
  739. nuitka/nodes/FunctionNodes.py +1303 -0
  740. nuitka/nodes/FutureSpecs.py +224 -0
  741. nuitka/nodes/GeneratorNodes.py +201 -0
  742. nuitka/nodes/GlobalsLocalsNodes.py +209 -0
  743. nuitka/nodes/HardImportNodesGenerated.py +3599 -0
  744. nuitka/nodes/ImportHardNodes.py +185 -0
  745. nuitka/nodes/ImportNodes.py +1366 -0
  746. nuitka/nodes/IndicatorMixins.py +79 -0
  747. nuitka/nodes/InjectCNodes.py +51 -0
  748. nuitka/nodes/IterationHandles.py +407 -0
  749. nuitka/nodes/KeyValuePairNodes.py +378 -0
  750. nuitka/nodes/ListOperationNodes.py +525 -0
  751. nuitka/nodes/LocalsDictNodes.py +717 -0
  752. nuitka/nodes/LocalsScopes.py +505 -0
  753. nuitka/nodes/LoopNodes.py +445 -0
  754. nuitka/nodes/MatchNodes.py +60 -0
  755. nuitka/nodes/ModuleAttributeNodes.py +180 -0
  756. nuitka/nodes/ModuleNodes.py +1137 -0
  757. nuitka/nodes/NetworkxNodes.py +45 -0
  758. nuitka/nodes/NodeBases.py +890 -0
  759. nuitka/nodes/NodeMakingHelpers.py +481 -0
  760. nuitka/nodes/NodeMetaClasses.py +172 -0
  761. nuitka/nodes/OperatorNodes.py +944 -0
  762. nuitka/nodes/OperatorNodesUnary.py +403 -0
  763. nuitka/nodes/OsSysNodes.py +215 -0
  764. nuitka/nodes/OutlineNodes.py +372 -0
  765. nuitka/nodes/PackageMetadataNodes.py +982 -0
  766. nuitka/nodes/PackageResourceNodes.py +424 -0
  767. nuitka/nodes/PrintNodes.py +105 -0
  768. nuitka/nodes/ReturnNodes.py +255 -0
  769. nuitka/nodes/SideEffectNodes.py +139 -0
  770. nuitka/nodes/SliceNodes.py +386 -0
  771. nuitka/nodes/StatementBasesGenerated.py +3419 -0
  772. nuitka/nodes/StatementNodes.py +316 -0
  773. nuitka/nodes/StrNodes.py +919 -0
  774. nuitka/nodes/StringConcatenationNodes.py +103 -0
  775. nuitka/nodes/SubscriptNodes.py +245 -0
  776. nuitka/nodes/TensorflowNodes.py +38 -0
  777. nuitka/nodes/TryNodes.py +519 -0
  778. nuitka/nodes/TypeMatchNodes.py +65 -0
  779. nuitka/nodes/TypeNodes.py +390 -0
  780. nuitka/nodes/VariableAssignNodes.py +1177 -0
  781. nuitka/nodes/VariableDelNodes.py +320 -0
  782. nuitka/nodes/VariableNameNodes.py +153 -0
  783. nuitka/nodes/VariableRefNodes.py +895 -0
  784. nuitka/nodes/VariableReleaseNodes.py +153 -0
  785. nuitka/nodes/YieldNodes.py +121 -0
  786. nuitka/nodes/__init__.py +19 -0
  787. nuitka/nodes/shapes/BuiltinTypeShapes.py +4290 -0
  788. nuitka/nodes/shapes/ControlFlowDescriptions.py +199 -0
  789. nuitka/nodes/shapes/IteratorShapes.py +71 -0
  790. nuitka/nodes/shapes/ShapeMixins.py +255 -0
  791. nuitka/nodes/shapes/StandardShapes.py +1384 -0
  792. nuitka/nodes/shapes/__init__.py +19 -0
  793. nuitka/optimizations/BytecodeDemotion.py +105 -0
  794. nuitka/optimizations/FunctionInlining.py +110 -0
  795. nuitka/optimizations/Graphs.py +70 -0
  796. nuitka/optimizations/Optimization.py +363 -0
  797. nuitka/optimizations/OptimizeBuiltinCalls.py +1582 -0
  798. nuitka/optimizations/Tags.py +76 -0
  799. nuitka/optimizations/TraceCollections.py +1257 -0
  800. nuitka/optimizations/ValueTraces.py +980 -0
  801. nuitka/optimizations/__init__.py +19 -0
  802. nuitka/pgo/PGO.py +160 -0
  803. nuitka/pgo/__init__.py +19 -0
  804. nuitka/plugins/PluginBase.py +1924 -0
  805. nuitka/plugins/Plugins.py +2007 -0
  806. nuitka/plugins/YamlPluginBase.py +121 -0
  807. nuitka/plugins/__init__.py +19 -0
  808. nuitka/plugins/standard/AntiBloatPlugin.py +1024 -0
  809. nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +95 -0
  810. nuitka/plugins/standard/DataFilesPlugin.py +311 -0
  811. nuitka/plugins/standard/DelvewheelPlugin.py +150 -0
  812. nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
  813. nuitka/plugins/standard/DillPlugin/cloudpickle-postLoad.py +67 -0
  814. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +223 -0
  815. nuitka/plugins/standard/DillPlugin.py +137 -0
  816. nuitka/plugins/standard/DllFilesPlugin.py +527 -0
  817. nuitka/plugins/standard/EnumPlugin.py +64 -0
  818. nuitka/plugins/standard/EventletPlugin.py +57 -0
  819. nuitka/plugins/standard/GeventPlugin.py +64 -0
  820. nuitka/plugins/standard/GiPlugin.py +118 -0
  821. nuitka/plugins/standard/GlfwPlugin.py +138 -0
  822. nuitka/plugins/standard/ImplicitImports.py +845 -0
  823. nuitka/plugins/standard/KivyPlugin.py +141 -0
  824. nuitka/plugins/standard/MatplotlibPlugin.py +256 -0
  825. nuitka/plugins/standard/MultiprocessingPlugin.py +199 -0
  826. nuitka/plugins/standard/NumpyPlugin.py +35 -0
  827. nuitka/plugins/standard/OptionsNannyPlugin.py +158 -0
  828. nuitka/plugins/standard/PbrPlugin.py +62 -0
  829. nuitka/plugins/standard/PkgResourcesPlugin.py +162 -0
  830. nuitka/plugins/standard/PlaywrightPlugin.py +179 -0
  831. nuitka/plugins/standard/PmwPlugin.py +248 -0
  832. nuitka/plugins/standard/PySidePyQtPlugin.py +1666 -0
  833. nuitka/plugins/standard/PywebViewPlugin.py +81 -0
  834. nuitka/plugins/standard/SpacyPlugin.py +137 -0
  835. nuitka/plugins/standard/TensorflowPlugin.py +35 -0
  836. nuitka/plugins/standard/TkinterPlugin.py +416 -0
  837. nuitka/plugins/standard/TorchPlugin.py +35 -0
  838. nuitka/plugins/standard/TransformersPlugin.py +121 -0
  839. nuitka/plugins/standard/TrioPlugin.py +33 -0
  840. nuitka/plugins/standard/UpxPlugin.py +174 -0
  841. nuitka/plugins/standard/__init__.py +19 -0
  842. nuitka/plugins/standard/standard.nuitka-package.config.yml +9313 -0
  843. nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +78 -0
  844. nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +468 -0
  845. nuitka/reports/CompilationReportReader.py +83 -0
  846. nuitka/reports/LicenseReport.rst.j2 +41 -0
  847. nuitka/reports/Reports.py +961 -0
  848. nuitka/reports/__init__.py +19 -0
  849. nuitka/specs/BuiltinBytesOperationSpecs.py +180 -0
  850. nuitka/specs/BuiltinDictOperationSpecs.py +82 -0
  851. nuitka/specs/BuiltinListOperationSpecs.py +80 -0
  852. nuitka/specs/BuiltinParameterSpecs.py +831 -0
  853. nuitka/specs/BuiltinStrOperationSpecs.py +181 -0
  854. nuitka/specs/BuiltinTypeOperationSpecs.py +34 -0
  855. nuitka/specs/BuiltinUnicodeOperationSpecs.py +123 -0
  856. nuitka/specs/HardImportSpecs.py +236 -0
  857. nuitka/specs/ParameterSpecs.py +630 -0
  858. nuitka/specs/__init__.py +19 -0
  859. nuitka/tools/Basics.py +55 -0
  860. nuitka/tools/__init__.py +19 -0
  861. nuitka/tools/commercial/__init__.py +21 -0
  862. nuitka/tools/data_composer/DataComposer.py +593 -0
  863. nuitka/tools/data_composer/__init__.py +19 -0
  864. nuitka/tools/data_composer/__main__.py +41 -0
  865. nuitka/tools/environments/CreateEnvironment.py +69 -0
  866. nuitka/tools/environments/Virtualenv.py +158 -0
  867. nuitka/tools/environments/__init__.py +19 -0
  868. nuitka/tools/general/__init__.py +19 -0
  869. nuitka/tools/general/dll_report/__init__.py +19 -0
  870. nuitka/tools/general/dll_report/__main__.py +83 -0
  871. nuitka/tools/general/find_module/FindModuleCode.py +127 -0
  872. nuitka/tools/general/find_module/__init__.py +19 -0
  873. nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
  874. nuitka/tools/general/generate_header/__init__.py +19 -0
  875. nuitka/tools/onefile_compressor/OnefileCompressor.py +390 -0
  876. nuitka/tools/onefile_compressor/__init__.py +19 -0
  877. nuitka/tools/onefile_compressor/__main__.py +41 -0
  878. nuitka/tools/podman/Podman.py +55 -0
  879. nuitka/tools/podman/__init__.py +19 -0
  880. nuitka/tools/podman/__main__.py +425 -0
  881. nuitka/tools/profiler/__init__.py +19 -0
  882. nuitka/tools/profiler/__main__.py +93 -0
  883. nuitka/tools/scanning/DisplayDistributions.py +39 -0
  884. nuitka/tools/scanning/DisplayPackageDLLs.py +151 -0
  885. nuitka/tools/scanning/DisplayPackageData.py +73 -0
  886. nuitka/tools/scanning/__init__.py +19 -0
  887. nuitka/tools/specialize/CTypeDescriptions.py +1928 -0
  888. nuitka/tools/specialize/Common.py +380 -0
  889. nuitka/tools/specialize/SpecializeC.py +1483 -0
  890. nuitka/tools/specialize/SpecializePython.py +1151 -0
  891. nuitka/tools/specialize/__init__.py +19 -0
  892. nuitka/tools/testing/Common.py +2007 -0
  893. nuitka/tools/testing/Constructs.py +53 -0
  894. nuitka/tools/testing/DocTests.py +156 -0
  895. nuitka/tools/testing/OutputComparison.py +313 -0
  896. nuitka/tools/testing/Pythons.py +34 -0
  897. nuitka/tools/testing/RuntimeTracing.py +260 -0
  898. nuitka/tools/testing/SearchModes.py +208 -0
  899. nuitka/tools/testing/Valgrind.py +103 -0
  900. nuitka/tools/testing/__init__.py +19 -0
  901. nuitka/tools/testing/check_reference_counts/__init__.py +19 -0
  902. nuitka/tools/testing/check_reference_counts/__main__.py +107 -0
  903. nuitka/tools/testing/compare_with_cpython/__init__.py +19 -0
  904. nuitka/tools/testing/compare_with_cpython/__main__.py +942 -0
  905. nuitka/tools/testing/find_sxs_modules/__init__.py +19 -0
  906. nuitka/tools/testing/find_sxs_modules/__main__.py +73 -0
  907. nuitka/tools/testing/measure_construct_performance/__init__.py +19 -0
  908. nuitka/tools/testing/measure_construct_performance/__main__.py +288 -0
  909. nuitka/tools/testing/run_nuitka_tests/__init__.py +19 -0
  910. nuitka/tools/testing/run_nuitka_tests/__main__.py +1091 -0
  911. nuitka/tools/watch/AutoStage.py +145 -0
  912. nuitka/tools/watch/Common.py +55 -0
  913. nuitka/tools/watch/Conda.py +125 -0
  914. nuitka/tools/watch/GitHub.py +113 -0
  915. nuitka/tools/watch/Pacman.py +73 -0
  916. nuitka/tools/watch/Pipenv.py +145 -0
  917. nuitka/tools/watch/__init__.py +19 -0
  918. nuitka/tools/watch/__main__.py +615 -0
  919. nuitka/tree/Building.py +1459 -0
  920. nuitka/tree/ComplexCallHelperFunctions.py +2150 -0
  921. nuitka/tree/Extractions.py +48 -0
  922. nuitka/tree/FutureSpecState.py +71 -0
  923. nuitka/tree/InternalModule.py +96 -0
  924. nuitka/tree/Operations.py +45 -0
  925. nuitka/tree/ReformulationAssertStatements.py +97 -0
  926. nuitka/tree/ReformulationAssignmentStatements.py +1260 -0
  927. nuitka/tree/ReformulationBooleanExpressions.py +97 -0
  928. nuitka/tree/ReformulationCallExpressions.py +314 -0
  929. nuitka/tree/ReformulationClasses.py +407 -0
  930. nuitka/tree/ReformulationClasses3.py +1149 -0
  931. nuitka/tree/ReformulationComparisonExpressions.py +174 -0
  932. nuitka/tree/ReformulationContractionExpressions.py +676 -0
  933. nuitka/tree/ReformulationDictionaryCreation.py +304 -0
  934. nuitka/tree/ReformulationExecStatements.py +386 -0
  935. nuitka/tree/ReformulationForLoopStatements.py +215 -0
  936. nuitka/tree/ReformulationFunctionStatements.py +931 -0
  937. nuitka/tree/ReformulationImportStatements.py +333 -0
  938. nuitka/tree/ReformulationLambdaExpressions.py +185 -0
  939. nuitka/tree/ReformulationMatchStatements.py +797 -0
  940. nuitka/tree/ReformulationMultidist.py +80 -0
  941. nuitka/tree/ReformulationNamespacePackages.py +239 -0
  942. nuitka/tree/ReformulationPrintStatements.py +127 -0
  943. nuitka/tree/ReformulationSequenceCreation.py +438 -0
  944. nuitka/tree/ReformulationSubscriptExpressions.py +123 -0
  945. nuitka/tree/ReformulationTryExceptStatements.py +418 -0
  946. nuitka/tree/ReformulationTryFinallyStatements.py +239 -0
  947. nuitka/tree/ReformulationWhileLoopStatements.py +160 -0
  948. nuitka/tree/ReformulationWithStatements.py +382 -0
  949. nuitka/tree/ReformulationYieldExpressions.py +133 -0
  950. nuitka/tree/SourceHandling.py +476 -0
  951. nuitka/tree/SyntaxErrors.py +143 -0
  952. nuitka/tree/TreeHelpers.py +720 -0
  953. nuitka/tree/VariableClosure.py +483 -0
  954. nuitka/tree/__init__.py +19 -0
  955. nuitka/utils/AppDirs.py +104 -0
  956. nuitka/utils/CStrings.py +208 -0
  957. nuitka/utils/CommandLineOptions.py +207 -0
  958. nuitka/utils/Distributions.py +728 -0
  959. nuitka/utils/Download.py +217 -0
  960. nuitka/utils/Execution.py +517 -0
  961. nuitka/utils/FileOperations.py +1587 -0
  962. nuitka/utils/Hashing.py +137 -0
  963. nuitka/utils/Images.py +79 -0
  964. nuitka/utils/Importing.py +335 -0
  965. nuitka/utils/InlineCopies.py +52 -0
  966. nuitka/utils/InstalledPythons.py +254 -0
  967. nuitka/utils/InstanceCounters.py +86 -0
  968. nuitka/utils/Jinja2.py +158 -0
  969. nuitka/utils/Json.py +40 -0
  970. nuitka/utils/MacOSApp.py +134 -0
  971. nuitka/utils/MemoryUsage.py +165 -0
  972. nuitka/utils/ModuleNames.py +317 -0
  973. nuitka/utils/PackageResources.py +44 -0
  974. nuitka/utils/ReExecute.py +152 -0
  975. nuitka/utils/Rest.py +60 -0
  976. nuitka/utils/SharedLibraries.py +1014 -0
  977. nuitka/utils/Shebang.py +113 -0
  978. nuitka/utils/Signing.py +144 -0
  979. nuitka/utils/SlotMetaClasses.py +57 -0
  980. nuitka/utils/StaticLibraries.py +260 -0
  981. nuitka/utils/ThreadedExecutor.py +87 -0
  982. nuitka/utils/Timing.py +102 -0
  983. nuitka/utils/Utils.py +483 -0
  984. nuitka/utils/WindowsFileUsage.py +337 -0
  985. nuitka/utils/WindowsResources.py +652 -0
  986. nuitka/utils/Yaml.py +247 -0
  987. nuitka/utils/__init__.py +19 -0
  988. nuitka_winsvc-2.7.7.data/scripts/nuitka-run.cmd +24 -0
  989. nuitka_winsvc-2.7.7.data/scripts/nuitka.cmd +30 -0
  990. nuitka_winsvc-2.7.7.dist-info/METADATA +115 -0
  991. nuitka_winsvc-2.7.7.dist-info/RECORD +995 -0
  992. nuitka_winsvc-2.7.7.dist-info/WHEEL +5 -0
  993. nuitka_winsvc-2.7.7.dist-info/entry_points.txt +7 -0
  994. nuitka_winsvc-2.7.7.dist-info/licenses/LICENSE.txt +202 -0
  995. nuitka_winsvc-2.7.7.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1091 @@
1
+ #!/usr/bin/env python
2
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
3
+
4
+
5
+ """ Main front-end to the tests of Nuitka.
6
+
7
+ Has many options, read --help output.
8
+ """
9
+
10
+ import os
11
+ import subprocess
12
+ import sys
13
+ from optparse import OptionParser
14
+
15
+ from nuitka.PythonVersions import getTestExecutionPythonVersions
16
+ from nuitka.tools.Basics import goHome
17
+ from nuitka.tools.testing.Common import (
18
+ getInstalledPythonVersion,
19
+ getTempDir,
20
+ my_print,
21
+ test_logger,
22
+ withExtendedExtraOptions,
23
+ )
24
+ from nuitka.utils.Execution import check_call, check_output, getNullOutput
25
+ from nuitka.utils.FileOperations import (
26
+ getFileContents,
27
+ openTextFile,
28
+ putTextFileContents,
29
+ withDirectoryChange,
30
+ )
31
+ from nuitka.utils.Timing import TimerReport
32
+ from nuitka.utils.Utils import hasOnefileSupportedOS, hasStandaloneSupportedOS
33
+
34
+
35
+ def parseOptions():
36
+ # There are freaking many options to honor,
37
+ # pylint: disable=too-many-branches,too-many-statements
38
+
39
+ parser = OptionParser()
40
+
41
+ parser.add_option(
42
+ "--skip-basic-tests",
43
+ action="store_false",
44
+ dest="basic_tests",
45
+ default=True,
46
+ help="""\
47
+ The basic tests, execute these to check if Nuitka is healthy.
48
+ Default is %default.""",
49
+ )
50
+
51
+ parser.add_option(
52
+ "--skip-syntax-tests",
53
+ action="store_false",
54
+ dest="syntax_tests",
55
+ default=True,
56
+ help="""\
57
+ The syntax tests, execute these to check if Nuitka handles Syntax errors fine.
58
+ Default is %default.""",
59
+ )
60
+
61
+ parser.add_option(
62
+ "--skip-program-tests",
63
+ action="store_false",
64
+ dest="program_tests",
65
+ default=True,
66
+ help="""\
67
+ The programs tests, execute these to check if Nuitka handles programs, e.g.
68
+ import recursions, etc. fine. Default is %default.""",
69
+ )
70
+
71
+ parser.add_option(
72
+ "--skip-package-tests",
73
+ action="store_false",
74
+ dest="package_tests",
75
+ default=True,
76
+ help="""\
77
+ The packages tests, execute these to check if Nuitka handles packages, e.g.
78
+ import recursions, etc. fine. Default is %default.""",
79
+ )
80
+
81
+ parser.add_option(
82
+ "--skip-plugins-tests",
83
+ action="store_false",
84
+ dest="plugin_tests",
85
+ default=True,
86
+ help="""\
87
+ The plugins tests, execute these to check if Nuitka handles its own plugin
88
+ interfaces, e.g. user plugins, etc. fine. Default is %default.""",
89
+ )
90
+
91
+ parser.add_option(
92
+ "--skip-optimizations-tests",
93
+ action="store_false",
94
+ dest="optimization_tests",
95
+ default=True,
96
+ help="""\
97
+ The optimization tests, execute these to check if Nuitka does optimize certain
98
+ constructs fully away. Default is %default.""",
99
+ )
100
+
101
+ parser.add_option(
102
+ "--skip-standalone-tests",
103
+ action="store_false",
104
+ dest="standalone_tests",
105
+ default=hasStandaloneSupportedOS(),
106
+ help="""\
107
+ The standalone tests, execute these to check if Nuitka standalone mode, e.g.
108
+ not referring to outside, important 3rd library packages like PyQt fine.
109
+ Default is %default.""",
110
+ )
111
+
112
+ parser.add_option(
113
+ "--skip-onefile-tests",
114
+ action="store_false",
115
+ dest="onefile_tests",
116
+ default=hasOnefileSupportedOS(),
117
+ help="""\
118
+ The onefile tests, execute these to check if Nuitka works in onefile mode, e.g.
119
+ not referring to outside, important 3rd library packages like PyQt fine.
120
+ Default is %default.""",
121
+ )
122
+
123
+ parser.add_option(
124
+ "--skip-reflection-test",
125
+ action="store_false",
126
+ dest="reflection_test",
127
+ default=True,
128
+ help="""\
129
+ The reflection test compiles Nuitka with Nuitka, and then Nuitka with the
130
+ compile Nuitka and compares the outputs. Default is %default.""",
131
+ )
132
+
133
+ parser.add_option(
134
+ "--skip-cpython26-tests",
135
+ action="store_false",
136
+ dest="cpython26",
137
+ default=True,
138
+ help="""\
139
+ The standard CPython2.6 test suite. Execute this for all corner cases to be
140
+ covered. With Python 2.7 this covers exception behavior quite well. Default
141
+ is %default.""",
142
+ )
143
+
144
+ parser.add_option(
145
+ "--skip-cpython27-tests",
146
+ action="store_false",
147
+ dest="cpython27",
148
+ default=True,
149
+ help="""\
150
+ The standard CPython2.7 test suite. Execute this for all corner cases to be
151
+ covered. With Python 2.6 these are not run. Default is %default.""",
152
+ )
153
+
154
+ parser.add_option(
155
+ "--skip-cpython32-tests",
156
+ action="store_false",
157
+ dest="cpython32",
158
+ default=True,
159
+ help="""\
160
+ The standard CPython3.2 test suite. Execute this for all corner cases to be
161
+ covered. With Python 2.6 these are not run. Default is %default.""",
162
+ )
163
+
164
+ parser.add_option(
165
+ "--skip-cpython34-tests",
166
+ action="store_false",
167
+ dest="cpython34",
168
+ default=True,
169
+ help="""\
170
+ The standard CPython3.4 test suite. Execute this for all corner cases to be
171
+ covered. With Python 2.x these are not run. Default is %default.""",
172
+ )
173
+
174
+ parser.add_option(
175
+ "--skip-cpython35-tests",
176
+ action="store_false",
177
+ dest="cpython35",
178
+ default=True,
179
+ help="""\
180
+ The standard CPython3.5 test suite. Execute this for all corner cases to be
181
+ covered. With Python 2.x these are not run. Default is %default.""",
182
+ )
183
+
184
+ parser.add_option(
185
+ "--skip-cpython36-tests",
186
+ action="store_false",
187
+ dest="cpython36",
188
+ default=True,
189
+ help="""\
190
+ The standard CPython3.6 test suite. Execute this for all corner cases to be
191
+ covered. With Python 2.x these are not run. Default is %default.""",
192
+ )
193
+
194
+ parser.add_option(
195
+ "--skip-cpython37-tests",
196
+ action="store_false",
197
+ dest="cpython37",
198
+ default=True,
199
+ help="""\
200
+ The standard CPython3.7 test suite. Execute this for all corner cases to be
201
+ covered. With Python 2.x these are not run. Default is %default.""",
202
+ )
203
+
204
+ parser.add_option(
205
+ "--skip-cpython38-tests",
206
+ action="store_false",
207
+ dest="cpython38",
208
+ default=True,
209
+ help="""\
210
+ The standard CPython3.8 test suite. Execute this for all corner cases to be
211
+ covered. With Python 2.x these are not run. Default is %default.""",
212
+ )
213
+
214
+ parser.add_option(
215
+ "--skip-cpython39-tests",
216
+ action="store_false",
217
+ dest="cpython39",
218
+ default=True,
219
+ help="""\
220
+ The standard CPython3.9 test suite. Execute this for all corner cases to be
221
+ covered. With Python 2.x these are not run. Default is %default.""",
222
+ )
223
+
224
+ parser.add_option(
225
+ "--skip-cpython310-tests",
226
+ action="store_false",
227
+ dest="cpython310",
228
+ default=True,
229
+ help="""\
230
+ The standard CPython3.10 test suite. Execute this for all corner cases to be
231
+ covered. With Python 2.x these are not run. Default is %default.""",
232
+ )
233
+
234
+ parser.add_option(
235
+ "--skip-cpython311-tests",
236
+ action="store_false",
237
+ dest="cpython311",
238
+ default=True,
239
+ help="""\
240
+ The standard CPython3.11 test suite. Execute this for all corner cases to be
241
+ covered. With Python 2.x these are not run. Default is %default.""",
242
+ )
243
+
244
+ parser.add_option(
245
+ "--skip-cpython312-tests",
246
+ action="store_false",
247
+ dest="cpython312",
248
+ default=True,
249
+ help="""\
250
+ The standard CPython3.12 test suite. Execute this for all corner cases to be
251
+ covered. With Python 2.x these are not run. Default is %default.""",
252
+ )
253
+
254
+ parser.add_option(
255
+ "--skip-cpython313-tests",
256
+ action="store_false",
257
+ dest="cpython313",
258
+ default=True,
259
+ help="""\
260
+ The standard CPython3.13 test suite. Execute this for all corner cases to be
261
+ covered. With Python 2.x these are not run. Default is %default.""",
262
+ )
263
+
264
+ parser.add_option(
265
+ "--skip-other-cpython-tests",
266
+ action="store_true",
267
+ dest="cpython_no_other",
268
+ default=False,
269
+ help="""\
270
+ Do not execute any CPython test suite other than the one matching the running
271
+ Python. Default is %default.""",
272
+ )
273
+
274
+ parser.add_option(
275
+ "--skip-all-cpython-tests",
276
+ action="store_true",
277
+ dest="cpython_none",
278
+ default=False,
279
+ help="""\
280
+ Do not execute any CPython test suite other than the one matching the running
281
+ Python. Default is %default.""",
282
+ )
283
+
284
+ parser.add_option(
285
+ "--no-other-python",
286
+ action="store_true",
287
+ dest="no_other",
288
+ default=False,
289
+ help="""\
290
+ Do not use any other Python than the one running, even if available on
291
+ the system. Default is %default.""",
292
+ )
293
+
294
+ parser.add_option(
295
+ "--no-python2.6",
296
+ action="store_true",
297
+ dest="no26",
298
+ default=False,
299
+ help="""\
300
+ Do not use Python2.6 even if available on the system. Default is %default.""",
301
+ )
302
+
303
+ parser.add_option(
304
+ "--no-python2.7",
305
+ action="store_true",
306
+ dest="no27",
307
+ default=False,
308
+ help="""\
309
+ Do not use Python2.7 even if available on the system. Default is %default.""",
310
+ )
311
+
312
+ parser.add_option(
313
+ "--no-python3.4",
314
+ action="store_true",
315
+ dest="no34",
316
+ default=False,
317
+ help="""\
318
+ Do not use Python3.4 even if available on the system. Default is %default.""",
319
+ )
320
+
321
+ parser.add_option(
322
+ "--no-python3.5",
323
+ action="store_true",
324
+ dest="no35",
325
+ default=False,
326
+ help="""\
327
+ Do not use Python3.5 even if available on the system. Default is %default.""",
328
+ )
329
+
330
+ parser.add_option(
331
+ "--no-python3.6",
332
+ action="store_true",
333
+ dest="no36",
334
+ default=False,
335
+ help="""\
336
+ Do not use Python3.6 even if available on the system. Default is %default.""",
337
+ )
338
+
339
+ parser.add_option(
340
+ "--no-python3.7",
341
+ action="store_true",
342
+ dest="no37",
343
+ default=False,
344
+ help="""\
345
+ Do not use Python3.7 even if available on the system. Default is %default.""",
346
+ )
347
+
348
+ parser.add_option(
349
+ "--no-python3.8",
350
+ action="store_true",
351
+ dest="no38",
352
+ default=False,
353
+ help="""\
354
+ Do not use Python3.8 even if available on the system. Default is %default.""",
355
+ )
356
+
357
+ parser.add_option(
358
+ "--no-python3.9",
359
+ action="store_true",
360
+ dest="no39",
361
+ default=False,
362
+ help="""\
363
+ Do not use Python3.9 even if available on the system. Default is %default.""",
364
+ )
365
+
366
+ parser.add_option(
367
+ "--no-python3.10",
368
+ action="store_true",
369
+ dest="no310",
370
+ default=False,
371
+ help="""\
372
+ Do not use Python3.10 even if available on the system. Default is %default.""",
373
+ )
374
+
375
+ parser.add_option(
376
+ "--no-python3.11",
377
+ action="store_true",
378
+ dest="no311",
379
+ default=False,
380
+ help="""\
381
+ Do not use Python3.11 even if available on the system. Default is %default.""",
382
+ )
383
+
384
+ parser.add_option(
385
+ "--no-python3.12",
386
+ action="store_true",
387
+ dest="no312",
388
+ default=False,
389
+ help="""\
390
+ Do not use Python3.12 even if available on the system. Default is %default.""",
391
+ )
392
+
393
+ parser.add_option(
394
+ "--no-python3.13",
395
+ action="store_true",
396
+ dest="no313",
397
+ default=False,
398
+ help="""\
399
+ Do not use Python3.13 even if available on the system. Default is %default.""",
400
+ )
401
+
402
+ parser.add_option(
403
+ "--coverage",
404
+ action="store_true",
405
+ dest="coverage",
406
+ default=False,
407
+ help="""\
408
+ Make a coverage analysis, that does not really check. Default is %default.""",
409
+ )
410
+
411
+ parser.add_option(
412
+ "--no-debug",
413
+ action="store_false",
414
+ dest="debug",
415
+ default=True,
416
+ help="""\
417
+ Make a coverage analysis, that does not really check. Default is %default.""",
418
+ )
419
+
420
+ parser.add_option(
421
+ "--assume-yes-for-downloads",
422
+ action="store_true",
423
+ dest="assume_yes_for_downloads",
424
+ default=False,
425
+ help="""\
426
+ Allow Nuitka to download code if necessary, e.g. dependency walker on Windows. Default is %default.""",
427
+ )
428
+
429
+ parser.add_option(
430
+ "--mingw64",
431
+ action="store_true",
432
+ dest="mingw64",
433
+ default=False,
434
+ help="""\
435
+ Enforce the use of MinGW64 on Windows. Defaults to off.""",
436
+ )
437
+
438
+ parser.add_option(
439
+ "--jobs",
440
+ action="store",
441
+ dest="jobs",
442
+ default=None,
443
+ help="""\
444
+ The value of --jobs to use when calling Nuitka. Use negative values to
445
+ keep cores unused. Nuitka uses available cores by default. Defaults to
446
+ not being passed.""",
447
+ )
448
+
449
+ options, positional_args = parser.parse_args()
450
+
451
+ if positional_args:
452
+ parser.print_help()
453
+
454
+ sys.exit("\nError, no positional argument allowed.")
455
+
456
+ if options.no_other:
457
+ if sys.version_info[0:2] != (2, 6):
458
+ options.no26 = True
459
+ if sys.version_info[0:2] != (2, 7):
460
+ options.no27 = True
461
+ if sys.version_info[0:2] != (3, 4):
462
+ options.no34 = True
463
+ if sys.version_info[0:2] != (3, 5):
464
+ options.no35 = True
465
+ if sys.version_info[0:2] != (3, 6):
466
+ options.no36 = True
467
+ if sys.version_info[0:2] != (3, 7):
468
+ options.no37 = True
469
+ if sys.version_info[0:2] != (3, 8):
470
+ options.no38 = True
471
+ if sys.version_info[0:2] != (3, 9):
472
+ options.no39 = True
473
+ if sys.version_info[0:2] != (3, 10):
474
+ options.no310 = True
475
+ if sys.version_info[0:2] != (3, 11):
476
+ options.no311 = True
477
+ if sys.version_info[0:2] != (3, 12):
478
+ options.no312 = True
479
+ if sys.version_info[0:2] != (3, 13):
480
+ options.no313 = True
481
+
482
+ if options.cpython_no_other:
483
+ if sys.version_info[0:2] != (2, 6):
484
+ options.cpython26 = False
485
+ if sys.version_info[0:2] != (2, 7):
486
+ options.cpython27 = False
487
+ if sys.version_info[0:2] != (3, 2):
488
+ options.cpython32 = False
489
+ if sys.version_info[0:2] != (3, 4):
490
+ options.cpython34 = False
491
+ if sys.version_info[0:2] != (3, 5):
492
+ options.cpython35 = False
493
+ if sys.version_info[0:2] != (3, 6):
494
+ options.cpython36 = False
495
+ if sys.version_info[0:2] != (3, 7):
496
+ options.cpython37 = False
497
+ if sys.version_info[0:2] != (3, 8):
498
+ options.cpython38 = False
499
+ if sys.version_info[0:2] != (3, 9):
500
+ options.cpython39 = False
501
+ if sys.version_info[0:2] != (3, 10):
502
+ options.cpython310 = False
503
+ if sys.version_info[0:2] != (3, 11):
504
+ options.cpython311 = False
505
+ if sys.version_info[0:2] != (3, 12):
506
+ options.cpython312 = False
507
+ if sys.version_info[0:2] != (3, 13):
508
+ options.cpython313 = False
509
+
510
+ if options.cpython_none:
511
+ options.cpython26 = False
512
+ options.cpython27 = False
513
+ options.cpython32 = False
514
+ options.cpython34 = False
515
+ options.cpython35 = False
516
+ options.cpython36 = False
517
+ options.cpython37 = False
518
+ options.cpython38 = False
519
+ options.cpython39 = False
520
+ options.cpython310 = False
521
+ options.cpython311 = False
522
+ options.cpython312 = False
523
+ options.cpython313 = False
524
+
525
+ if options.coverage and os.path.exists(".coverage"):
526
+ os.unlink(".coverage")
527
+
528
+ return options
529
+
530
+
531
+ def publishCoverageData():
532
+ def copyToGlobalCoverageData(source, target):
533
+ coverage_dir = os.getenv("COVERAGE_DIR")
534
+
535
+ if coverage_dir is None:
536
+ return
537
+
538
+ check_call(("scp", source, os.path.join(coverage_dir, target)))
539
+
540
+ if os.name == "nt":
541
+ suffix = "win"
542
+ else:
543
+ import platform
544
+
545
+ suffix = platform.uname()[0] + "." + platform.uname()[4]
546
+
547
+ with openTextFile("data.coverage", "w") as data_file:
548
+ source_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
549
+
550
+ with withDirectoryChange(source_dir):
551
+ nuitka_id = check_output("git rev-parse HEAD".split())
552
+ nuitka_id = nuitka_id.strip()
553
+
554
+ if sys.version_info > (3,):
555
+ nuitka_id = nuitka_id.decode()
556
+
557
+ data_file.write("NUITKA_SOURCE_DIR='%s'\n" % source_dir)
558
+ data_file.write("NUITKA_COMMIT='%s'\n" % nuitka_id)
559
+
560
+ copyToGlobalCoverageData("data.coverage", "meta.coverage." + suffix)
561
+
562
+ def makeCoverageRelative(filename):
563
+ """Normalize coverage data."""
564
+
565
+ data = getFileContents(filename)
566
+
567
+ data = data.replace(
568
+ (os.path.abspath(".") + os.path.sep).replace("\\", "\\\\"), ""
569
+ )
570
+
571
+ if os.path.sep != "/":
572
+ data.replace(os.path.sep, "/")
573
+
574
+ putTextFileContents(filename, contents=data)
575
+
576
+ coverage_file = os.getenv("COVERAGE_FILE", ".coverage")
577
+
578
+ makeCoverageRelative(coverage_file)
579
+ copyToGlobalCoverageData(coverage_file, "data.coverage." + suffix)
580
+
581
+
582
+ def main():
583
+ # There are many cases to deal with,
584
+ # pylint: disable=too-many-branches,too-many-statements
585
+
586
+ # Lets honor this Debian option here, spell-checker: ignore nocheck
587
+ if "nocheck" in os.getenv("DEB_BUILD_OPTIONS", "").split():
588
+ my_print("Skipped all tests as per DEB_BUILD_OPTIONS environment.")
589
+ sys.exit(0)
590
+
591
+ # Make sure our resolving of "python2" to "python" doesn't get in the way.
592
+ os.environ["PYTHON_DISALLOW_AMBIGUOUS_VERSION"] = "0"
593
+
594
+ goHome()
595
+
596
+ options = parseOptions()
597
+
598
+ # Add the local bin directory to search path start.
599
+ os.environ["PATH"] = (
600
+ os.path.join(os.getcwd(), "bin") + os.pathsep + os.environ["PATH"]
601
+ )
602
+
603
+ def checkExecutableCommand(command):
604
+ """Check if a command is executable."""
605
+
606
+ # Many cases, pylint: disable=too-many-branches,too-many-return-statements
607
+
608
+ # Do respect given options to disable specific Python versions
609
+ if command == "python2.6" and options.no26:
610
+ return False
611
+ if command == "python2.7" and options.no27:
612
+ return False
613
+ if command == "python3.4" and options.no34:
614
+ return False
615
+ if command == "python3.5" and options.no35:
616
+ return False
617
+ if command == "python3.6" and options.no36:
618
+ return False
619
+ if command == "python3.7" and options.no37:
620
+ return False
621
+ if command == "python3.8" and options.no38:
622
+ return False
623
+ if command == "python3.9" and options.no39:
624
+ return False
625
+ if command == "python3.10" and options.no310:
626
+ return False
627
+ if command == "python3.11" and options.no311:
628
+ return False
629
+ if command == "python3.12" and options.no312:
630
+ return False
631
+ if command == "python3.13" and options.no313:
632
+ return False
633
+
634
+ # Shortcuts for python versions, also needed for Windows as it won't have
635
+ # the version number in the Python binaries at all.
636
+ if command == "python2.6" and sys.version_info[0:2] == (2, 6):
637
+ return True
638
+ if command == "python2.7" and sys.version_info[0:2] == (2, 7):
639
+ return True
640
+ if command == "python3.4" and sys.version_info[0:2] == (3, 4):
641
+ return True
642
+ if command == "python3.5" and sys.version_info[0:2] == (3, 5):
643
+ return True
644
+ if command == "python3.6" and sys.version_info[0:2] == (3, 6):
645
+ return True
646
+ if command == "python3.7" and sys.version_info[0:2] == (3, 7):
647
+ return True
648
+ if command == "python3.8" and sys.version_info[0:2] == (3, 8):
649
+ return True
650
+ if command == "python3.9" and sys.version_info[0:2] == (3, 9):
651
+ return True
652
+ if command == "python3.10" and sys.version_info[0:2] == (3, 10):
653
+ return True
654
+ if command == "python3.11" and sys.version_info[0:2] == (3, 11):
655
+ return True
656
+ if command == "python3.12" and sys.version_info[0:2] == (3, 12):
657
+ return True
658
+ if command == "python3.13" and sys.version_info[0:2] == (3, 13):
659
+ return True
660
+
661
+ path = os.environ["PATH"]
662
+
663
+ suffixes = (".exe",) if os.name == "nt" else ("",)
664
+
665
+ for part in path.split(os.pathsep):
666
+ if not part:
667
+ continue
668
+
669
+ for suffix in suffixes:
670
+ if os.path.exists(os.path.join(part, command + suffix)):
671
+ return True
672
+
673
+ if os.name == "nt":
674
+ if command.startswith("python"):
675
+ remainder = command[6:]
676
+
677
+ if 3 <= len(remainder) <= 4 and remainder[1] == ".":
678
+ return (
679
+ getInstalledPythonVersion(
680
+ python_version=remainder, must_exist=False
681
+ )
682
+ is not None
683
+ )
684
+
685
+ return False
686
+
687
+ def getExtraFlags(where, name, flags):
688
+ if options.assume_yes_for_downloads and name in (
689
+ "onefile",
690
+ "standalone",
691
+ "plugins",
692
+ ):
693
+ yield "--assume-yes-for-downloads"
694
+
695
+ if os.name == "nt" and options.mingw64:
696
+ yield "--mingw64"
697
+
698
+ if options.jobs is not None:
699
+ yield "--jobs=%s" % options.jobs
700
+
701
+ if where is not None:
702
+ tmp_dir = getTempDir()
703
+
704
+ where = os.path.join(tmp_dir, name, where)
705
+
706
+ if not os.path.exists(where):
707
+ os.makedirs(where)
708
+
709
+ yield "--output-dir=%s" % where
710
+
711
+ yield flags
712
+
713
+ def executeSubTest(command, hide_output=False):
714
+ with TimerReport(
715
+ message="Overall execution of %r took %%.2f seconds" % command
716
+ ):
717
+ _executeSubTest(command, hide_output)
718
+
719
+ def _executeSubTest(command, hide_output):
720
+ if options.coverage and "search" in command:
721
+ command = command.replace("search", "coverage")
722
+
723
+ parts = command.split()
724
+ parts[0] = parts[0].replace("/", os.path.sep)
725
+
726
+ # The running Python will be good enough, on some platforms there is no
727
+ # "python", and we need to pass this alone then.
728
+ parts.insert(0, sys.executable)
729
+
730
+ my_print("Run '%s' in '%s'." % (" ".join(parts), os.getcwd()))
731
+
732
+ if hide_output:
733
+ with getNullOutput() as null_output:
734
+ result = subprocess.call(parts, stdout=null_output)
735
+ else:
736
+ result = subprocess.call(parts)
737
+
738
+ if result != 0:
739
+ sys.exit(result)
740
+
741
+ def execute_tests(where, use_python, flags):
742
+ # Many cases, pylint: disable=too-many-branches,too-many-statements
743
+
744
+ my_print(
745
+ "Executing test case called '%s' with CPython '%s' and extra flags '%s'."
746
+ % (where, use_python, flags)
747
+ )
748
+
749
+ intended_version = use_python[6:]
750
+ if sys.version.startswith(intended_version):
751
+ os.environ["PYTHON"] = sys.executable
752
+ else:
753
+ os.environ["PYTHON"] = getInstalledPythonVersion(
754
+ intended_version, must_exist=True
755
+ ).getPythonExe()
756
+
757
+ if options.basic_tests:
758
+ my_print(
759
+ "Running the basic tests with options '%s' with '%s':"
760
+ % (flags, use_python)
761
+ )
762
+ with withExtendedExtraOptions(*getExtraFlags(where, "basics", flags)):
763
+ executeSubTest("./tests/basics/run_all.py search")
764
+
765
+ if options.syntax_tests:
766
+ my_print(
767
+ "Running the syntax tests with options '%s' with '%s':"
768
+ % (flags, use_python)
769
+ )
770
+ with withExtendedExtraOptions(*getExtraFlags(where, "syntax", flags)):
771
+ executeSubTest("./tests/syntax/run_all.py search")
772
+
773
+ if options.program_tests:
774
+ my_print(
775
+ "Running the program tests with options '%s' with '%s':"
776
+ % (flags, use_python)
777
+ )
778
+ with withExtendedExtraOptions(*getExtraFlags(where, "programs", flags)):
779
+ executeSubTest("./tests/programs/run_all.py search")
780
+
781
+ if options.package_tests:
782
+ my_print(
783
+ "Running the package tests with options '%s' with '%s':"
784
+ % (flags, use_python)
785
+ )
786
+ with withExtendedExtraOptions(*getExtraFlags(where, "packages", flags)):
787
+ executeSubTest("./tests/packages/run_all.py search")
788
+
789
+ if options.plugin_tests:
790
+ my_print(
791
+ "Running the plugin tests with options '%s' with '%s':"
792
+ % (flags, use_python)
793
+ )
794
+ with withExtendedExtraOptions(*getExtraFlags(where, "plugins", flags)):
795
+ executeSubTest("./tests/plugins/run_all.py search")
796
+
797
+ # At least one Debian Jessie, these versions won't have lxml installed, so
798
+ # don't run them there. Also these won't be very version dependent in their
799
+ # results.
800
+ if use_python != "python2.6":
801
+ if options.optimization_tests:
802
+ my_print(
803
+ "Running the optimizations tests with options '%s' with '%s':"
804
+ % (flags, use_python)
805
+ )
806
+ with withExtendedExtraOptions(
807
+ *getExtraFlags(where, "optimizations", flags)
808
+ ):
809
+ executeSubTest("./tests/optimizations/run_all.py search")
810
+
811
+ if options.standalone_tests and not options.coverage:
812
+ my_print(
813
+ "Running the standalone tests with options '%s' with '%s':"
814
+ % (flags, use_python)
815
+ )
816
+ with withExtendedExtraOptions(*getExtraFlags(None, "standalone", flags)):
817
+ executeSubTest("./tests/standalone/run_all.py search")
818
+
819
+ if options.onefile_tests and not options.coverage:
820
+ if hasOnefileSupportedOS():
821
+ my_print(
822
+ "Running the onefile tests with options '%s' with '%s':"
823
+ % (flags, use_python)
824
+ )
825
+ with withExtendedExtraOptions(*getExtraFlags(None, "onefile", flags)):
826
+ executeSubTest("./tests/onefile/run_all.py search")
827
+ else:
828
+ my_print("The onefile tests are not run due to missing requirements.")
829
+
830
+ if options.reflection_test and not options.coverage:
831
+ my_print(
832
+ "Running the reflection test with options '%s' with '%s':"
833
+ % (flags, use_python)
834
+ )
835
+ with withExtendedExtraOptions(*getExtraFlags(None, "reflected", flags)):
836
+ executeSubTest("./tests/reflected/compile_itself.py search")
837
+
838
+ if not use_python.startswith("python3"):
839
+ if os.path.exists("./tests/CPython26/run_all.py"):
840
+ if options.cpython26:
841
+ my_print(
842
+ "Running the CPython 2.6 tests with options '%s' with '%s':"
843
+ % (flags, use_python)
844
+ )
845
+
846
+ with withExtendedExtraOptions(
847
+ *getExtraFlags(where, "26tests", flags)
848
+ ):
849
+ executeSubTest("./tests/CPython26/run_all.py search")
850
+ else:
851
+ my_print("The CPython2.6 tests are not present, not run.")
852
+
853
+ # Running the Python 2.7 test suite with CPython 2.6 gives little
854
+ # insight, because "importlib" will not be there and that's it.
855
+ if use_python != "python2.6":
856
+ if os.path.exists("./tests/CPython27/run_all.py"):
857
+ if options.cpython27:
858
+ my_print(
859
+ "Running the CPython 2.7 tests with options '%s' with '%s':"
860
+ % (flags, use_python)
861
+ )
862
+ with withExtendedExtraOptions(
863
+ *getExtraFlags(where, "27tests", flags)
864
+ ):
865
+ executeSubTest("./tests/CPython27/run_all.py search")
866
+ else:
867
+ my_print("The CPython2.7 tests are not present, not run.")
868
+
869
+ if "--debug" not in flags:
870
+ # Not running the Python 3.2 test suite with CPython2.6, as that's about
871
+ # the same as CPython2.7 and won't have any new insights.
872
+ if use_python not in ("python2.6", "python2.7") or not options.coverage:
873
+ if options.cpython32:
874
+ if os.path.exists("./tests/CPython32/run_all.py"):
875
+ with withExtendedExtraOptions(
876
+ *getExtraFlags(where, "32tests", flags)
877
+ ):
878
+ executeSubTest("./tests/CPython32/run_all.py search")
879
+ else:
880
+ my_print("The CPython3.2 tests are not present, not run.")
881
+
882
+ # Running the Python 3.4 test suite only with CPython3.x.
883
+ if not use_python.startswith("python2"):
884
+ if options.cpython34:
885
+ if os.path.exists("./tests/CPython34/run_all.py"):
886
+ with withExtendedExtraOptions(
887
+ *getExtraFlags(where, "34tests", flags)
888
+ ):
889
+ executeSubTest("./tests/CPython34/run_all.py search")
890
+ else:
891
+ my_print("The CPython3.4 tests are not present, not run.")
892
+
893
+ # Running the Python 3.5 test suite only with CPython3.x.
894
+ if not use_python.startswith("python2"):
895
+ if options.cpython35:
896
+ if os.path.exists("./tests/CPython35/run_all.py"):
897
+ with withExtendedExtraOptions(
898
+ *getExtraFlags(where, "35tests", flags)
899
+ ):
900
+ executeSubTest("./tests/CPython35/run_all.py search")
901
+ else:
902
+ my_print("The CPython3.5 tests are not present, not run.")
903
+
904
+ # Running the Python 3.6 test suite only with CPython3.x.
905
+ if not use_python.startswith("python2"):
906
+ if options.cpython36:
907
+ if os.path.exists("./tests/CPython36/run_all.py"):
908
+ with withExtendedExtraOptions(
909
+ *getExtraFlags(where, "36tests", flags)
910
+ ):
911
+ executeSubTest("./tests/CPython36/run_all.py search")
912
+ else:
913
+ my_print("The CPython3.6 tests are not present, not run.")
914
+
915
+ # Running the Python 3.7 test suite only with CPython3.x.
916
+ if not use_python.startswith("python2"):
917
+ if options.cpython37:
918
+ if os.path.exists("./tests/CPython37/run_all.py"):
919
+ with withExtendedExtraOptions(
920
+ *getExtraFlags(where, "37tests", flags)
921
+ ):
922
+ executeSubTest("./tests/CPython37/run_all.py search")
923
+ else:
924
+ my_print("The CPython3.7 tests are not present, not run.")
925
+
926
+ # Running the Python 3.8 test suite only with CPython3.x.
927
+ if not use_python.startswith("python2"):
928
+ if options.cpython38:
929
+ if os.path.exists("./tests/CPython38/run_all.py"):
930
+ with withExtendedExtraOptions(
931
+ *getExtraFlags(where, "38tests", flags)
932
+ ):
933
+ executeSubTest("./tests/CPython38/run_all.py search")
934
+ else:
935
+ my_print("The CPython3.8 tests are not present, not run.")
936
+
937
+ # Running the Python 3.9 test suite only with CPython3.x.
938
+ if not use_python.startswith("python2"):
939
+ if options.cpython39:
940
+ if os.path.exists("./tests/CPython39/run_all.py"):
941
+ with withExtendedExtraOptions(
942
+ *getExtraFlags(where, "39tests", flags)
943
+ ):
944
+ executeSubTest("./tests/CPython39/run_all.py search")
945
+ else:
946
+ my_print("The CPython3.9 tests are not present, not run.")
947
+
948
+ # Running the Python 3.10 test suite only with CPython3.x.
949
+ if not use_python.startswith("python2"):
950
+ if options.cpython310:
951
+ if os.path.exists("./tests/CPython310/run_all.py"):
952
+ with withExtendedExtraOptions(
953
+ *getExtraFlags(where, "310tests", flags)
954
+ ):
955
+ executeSubTest("./tests/CPython310/run_all.py search")
956
+ else:
957
+ my_print("The CPython3.10 tests are not present, not run.")
958
+
959
+ # Running the Python 3.11 test suite only with CPython3.x.
960
+ if not use_python.startswith("python2"):
961
+ if options.cpython311:
962
+ if os.path.exists("./tests/CPython311/run_all.py"):
963
+ with withExtendedExtraOptions(
964
+ *getExtraFlags(where, "311tests", flags)
965
+ ):
966
+ executeSubTest("./tests/CPython311/run_all.py search")
967
+ else:
968
+ my_print("The CPython3.11 tests are not present, not run.")
969
+
970
+ # Running the Python 3.12 test suite only with CPython3.x.
971
+ if not use_python.startswith("python2"):
972
+ if options.cpython312:
973
+ if os.path.exists("./tests/CPython312/run_all.py"):
974
+ with withExtendedExtraOptions(
975
+ *getExtraFlags(where, "312tests", flags)
976
+ ):
977
+ executeSubTest("./tests/CPython312/run_all.py search")
978
+ else:
979
+ my_print("The CPython3.12 tests are not present, not run.")
980
+
981
+ # Running the Python 3.12 test suite only with CPython3.x.
982
+ if not use_python.startswith("python2"):
983
+ if options.cpython313:
984
+ if os.path.exists("./tests/CPython313/run_all.py"):
985
+ with withExtendedExtraOptions(
986
+ *getExtraFlags(where, "313tests", flags)
987
+ ):
988
+ executeSubTest("./tests/CPython313/run_all.py search")
989
+ else:
990
+ my_print("The CPython3.13 tests are not present, not run.")
991
+
992
+ if not any(
993
+ checkExecutableCommand("python%s" % python_version)
994
+ for python_version in getTestExecutionPythonVersions()
995
+ ):
996
+ test_logger.sysexit("No Python usable for testing found installed")
997
+
998
+ if options.debug:
999
+ if checkExecutableCommand("python2.6"):
1000
+ execute_tests("python2.6-debug", "python2.6", "--debug")
1001
+ else:
1002
+ my_print("Cannot execute tests with Python 2.6, disabled or not installed.")
1003
+
1004
+ if checkExecutableCommand("python2.7"):
1005
+ execute_tests("python2.7-debug", "python2.7", "--debug")
1006
+ else:
1007
+ my_print("Cannot execute tests with Python 2.7, disabled or not installed.")
1008
+
1009
+ if checkExecutableCommand("python2.6"):
1010
+ execute_tests("python2.6-no-debug", "python2.6", "")
1011
+ else:
1012
+ my_print("Cannot execute tests with Python 2.6, disabled or not installed.")
1013
+
1014
+ if checkExecutableCommand("python2.7"):
1015
+ execute_tests("python2.7-no-debug", "python2.7", "")
1016
+ else:
1017
+ my_print("Cannot execute tests with Python 2.7, disabled or not installed.")
1018
+
1019
+ if checkExecutableCommand("python3.4"):
1020
+ execute_tests("python3.4-no-debug", "python3.4", "")
1021
+ else:
1022
+ my_print("Cannot execute tests with Python 3.4, disabled or not installed.")
1023
+
1024
+ if checkExecutableCommand("python3.5"):
1025
+ execute_tests("python3.5-no-debug", "python3.5", "")
1026
+ else:
1027
+ my_print("Cannot execute tests with Python 3.5, disabled or not installed.")
1028
+
1029
+ if checkExecutableCommand("python3.6"):
1030
+ execute_tests("python3.6-no-debug", "python3.6", "")
1031
+ else:
1032
+ my_print("Cannot execute tests with Python 3.6, disabled or not installed.")
1033
+
1034
+ if checkExecutableCommand("python3.7"):
1035
+ execute_tests("python3.7-no-debug", "python3.7", "")
1036
+ else:
1037
+ my_print("Cannot execute tests with Python 3.7, disabled or not installed.")
1038
+
1039
+ if checkExecutableCommand("python3.8"):
1040
+ execute_tests("python3.8-no-debug", "python3.8", "")
1041
+ else:
1042
+ my_print("Cannot execute tests with Python 3.8, disabled or not installed.")
1043
+
1044
+ if checkExecutableCommand("python3.9"):
1045
+ execute_tests("python3.9-no-debug", "python3.9", "")
1046
+ else:
1047
+ my_print("Cannot execute tests with Python 3.9, disabled or not installed.")
1048
+
1049
+ if checkExecutableCommand("python3.10"):
1050
+ execute_tests("python3.10-no-debug", "python3.10", "")
1051
+ else:
1052
+ my_print("Cannot execute tests with Python 3.10, disabled or not installed.")
1053
+
1054
+ if checkExecutableCommand("python3.11"):
1055
+ execute_tests("python3.11-no-debug", "python3.11", "")
1056
+ else:
1057
+ my_print("Cannot execute tests with Python 3.11, disabled or not installed.")
1058
+
1059
+ if checkExecutableCommand("python3.12"):
1060
+ execute_tests("python3.12-no-debug", "python3.12", "")
1061
+ else:
1062
+ my_print("Cannot execute tests with Python 3.12, disabled or not installed.")
1063
+
1064
+ if checkExecutableCommand("python3.13"):
1065
+ execute_tests("python3.13-no-debug", "python3.13", "")
1066
+ else:
1067
+ my_print("Cannot execute tests with Python 3.13, disabled or not installed.")
1068
+
1069
+ if options.coverage:
1070
+ publishCoverageData()
1071
+
1072
+ my_print("OK.")
1073
+
1074
+
1075
+ if __name__ == "__main__":
1076
+ main()
1077
+
1078
+ # Part of "Nuitka", an optimizing Python compiler that is compatible and
1079
+ # integrates with CPython, but also works on its own.
1080
+ #
1081
+ # Licensed under the Apache License, Version 2.0 (the "License");
1082
+ # you may not use this file except in compliance with the License.
1083
+ # You may obtain a copy of the License at
1084
+ #
1085
+ # http://www.apache.org/licenses/LICENSE-2.0
1086
+ #
1087
+ # Unless required by applicable law or agreed to in writing, software
1088
+ # distributed under the License is distributed on an "AS IS" BASIS,
1089
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1090
+ # See the License for the specific language governing permissions and
1091
+ # limitations under the License.