Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-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 (704) hide show
  1. Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
  2. Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
  3. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
  4. Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
  5. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
  6. nuitka/Builtins.py +18 -17
  7. nuitka/BytecodeCaching.py +24 -20
  8. nuitka/Bytecodes.py +23 -19
  9. nuitka/CacheCleanup.py +28 -23
  10. nuitka/Constants.py +19 -17
  11. nuitka/Errors.py +23 -17
  12. nuitka/HardImportRegistry.py +400 -0
  13. nuitka/MainControl.py +200 -112
  14. nuitka/ModuleRegistry.py +83 -20
  15. nuitka/OptionParsing.py +368 -175
  16. nuitka/Options.py +632 -213
  17. nuitka/OutputDirectories.py +40 -21
  18. nuitka/PostProcessing.py +73 -50
  19. nuitka/Progress.py +58 -24
  20. nuitka/PythonFlavors.py +141 -32
  21. nuitka/PythonOperators.py +18 -17
  22. nuitka/PythonVersions.py +106 -19
  23. nuitka/Serialization.py +68 -55
  24. nuitka/SourceCodeReferences.py +19 -17
  25. nuitka/Tracing.py +108 -70
  26. nuitka/TreeXML.py +31 -26
  27. nuitka/Variables.py +39 -41
  28. nuitka/Version.py +21 -7
  29. nuitka/__init__.py +5 -4
  30. nuitka/__main__.py +95 -29
  31. nuitka/__past__.py +44 -34
  32. nuitka/build/Backend.scons +202 -140
  33. nuitka/build/CCompilerVersion.scons +39 -31
  34. nuitka/build/DataComposerInterface.py +20 -17
  35. nuitka/build/Onefile.scons +50 -54
  36. nuitka/build/SconsCaching.py +93 -90
  37. nuitka/build/SconsCompilerSettings.py +157 -69
  38. nuitka/build/SconsHacks.py +25 -19
  39. nuitka/build/SconsInterface.py +154 -54
  40. nuitka/build/SconsProgress.py +19 -18
  41. nuitka/build/SconsSpawn.py +62 -33
  42. nuitka/build/SconsUtils.py +147 -55
  43. nuitka/build/__init__.py +5 -4
  44. nuitka/build/include/nuitka/allocator.h +105 -22
  45. nuitka/build/include/nuitka/builtins.h +17 -17
  46. nuitka/build/include/nuitka/calling.h +18 -18
  47. nuitka/build/include/nuitka/checkers.h +17 -18
  48. nuitka/build/include/nuitka/checksum_tools.h +14 -19
  49. nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
  50. nuitka/build/include/nuitka/compiled_cell.h +33 -18
  51. nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
  52. nuitka/build/include/nuitka/compiled_frame.h +91 -53
  53. nuitka/build/include/nuitka/compiled_function.h +42 -20
  54. nuitka/build/include/nuitka/compiled_generator.h +24 -18
  55. nuitka/build/include/nuitka/compiled_method.h +17 -18
  56. nuitka/build/include/nuitka/constants.h +29 -18
  57. nuitka/build/include/nuitka/constants_blob.h +17 -17
  58. nuitka/build/include/nuitka/environment_variables.h +30 -0
  59. nuitka/build/include/nuitka/environment_variables_system.h +45 -0
  60. nuitka/build/include/nuitka/exception_groups.h +23 -26
  61. nuitka/build/include/nuitka/exceptions.h +593 -190
  62. nuitka/build/include/nuitka/filesystem_paths.h +26 -20
  63. nuitka/build/include/nuitka/freelists.h +38 -18
  64. nuitka/build/include/nuitka/helper/attributes.h +24 -18
  65. nuitka/build/include/nuitka/helper/boolean.h +17 -17
  66. nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
  67. nuitka/build/include/nuitka/helper/bytes.h +14 -15
  68. nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
  69. nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
  70. nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
  71. nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
  72. nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
  73. nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
  74. nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
  75. nuitka/build/include/nuitka/helper/complex.h +17 -17
  76. nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
  77. nuitka/build/include/nuitka/helper/floats.h +17 -18
  78. nuitka/build/include/nuitka/helper/import_hard.h +25 -17
  79. nuitka/build/include/nuitka/helper/indexes.h +17 -18
  80. nuitka/build/include/nuitka/helper/ints.h +32 -20
  81. nuitka/build/include/nuitka/helper/iterators.h +17 -17
  82. nuitka/build/include/nuitka/helper/lists.h +26 -24
  83. nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
  84. nuitka/build/include/nuitka/helper/mappings.h +17 -18
  85. nuitka/build/include/nuitka/helper/operations.h +17 -17
  86. nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
  87. nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
  88. nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
  89. nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
  90. nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
  91. nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
  92. nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
  93. nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
  94. nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
  95. nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
  96. nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
  97. nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
  98. nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
  99. nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
  100. nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
  101. nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
  102. nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
  103. nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
  104. nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
  105. nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
  106. nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
  107. nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
  108. nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
  109. nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
  110. nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
  111. nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
  112. nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
  113. nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
  114. nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
  115. nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
  116. nuitka/build/include/nuitka/helper/raising.h +29 -17
  117. nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
  118. nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
  119. nuitka/build/include/nuitka/helper/sequences.h +19 -13
  120. nuitka/build/include/nuitka/helper/sets.h +11 -12
  121. nuitka/build/include/nuitka/helper/slices.h +31 -25
  122. nuitka/build/include/nuitka/helper/strings.h +16 -17
  123. nuitka/build/include/nuitka/helper/subscripts.h +18 -201
  124. nuitka/build/include/nuitka/helper/tuples.h +64 -52
  125. nuitka/build/include/nuitka/helpers.h +38 -20
  126. nuitka/build/include/nuitka/importing.h +28 -21
  127. nuitka/build/include/nuitka/jit_sources.h +25 -0
  128. nuitka/build/include/nuitka/prelude.h +128 -46
  129. nuitka/build/include/nuitka/printing.h +22 -17
  130. nuitka/build/include/nuitka/python_pgo.h +19 -18
  131. nuitka/build/include/nuitka/safe_string_ops.h +20 -18
  132. nuitka/build/include/nuitka/threading.h +32 -33
  133. nuitka/build/include/nuitka/tracing.h +28 -18
  134. nuitka/build/include/nuitka/type_aliases.h +27 -0
  135. nuitka/build/include/nuitka/unfreezing.h +29 -23
  136. nuitka/build/inline_copy/bin/scons.py +14 -0
  137. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
  138. nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
  139. nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
  140. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
  141. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
  142. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
  143. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
  144. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
  145. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
  146. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
  147. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
  148. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
  149. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
  150. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
  151. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
  152. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
  153. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
  154. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
  155. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
  156. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
  157. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
  158. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
  159. nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
  160. nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
  161. nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
  162. nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
  163. nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
  164. nuitka/build/inline_copy/zlib/LICENSE +22 -0
  165. nuitka/build/inline_copy/zlib/crc32.c +1049 -0
  166. nuitka/build/inline_copy/zlib/crc32.h +9446 -0
  167. nuitka/build/inline_copy/zlib/zconf.h +551 -0
  168. nuitka/build/inline_copy/zlib/zlib.h +1938 -0
  169. nuitka/build/inline_copy/zlib/zutil.h +275 -0
  170. nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
  171. nuitka/build/static_src/CompiledCellType.c +63 -40
  172. nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
  173. nuitka/build/static_src/CompiledCoroutineType.c +196 -203
  174. nuitka/build/static_src/CompiledFrameType.c +287 -133
  175. nuitka/build/static_src/CompiledFunctionType.c +389 -95
  176. nuitka/build/static_src/CompiledGeneratorType.c +376 -252
  177. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
  178. nuitka/build/static_src/CompiledMethodType.c +83 -71
  179. nuitka/build/static_src/HelpersAllocator.c +88 -19
  180. nuitka/build/static_src/HelpersAttributes.c +33 -54
  181. nuitka/build/static_src/HelpersBuiltin.c +43 -33
  182. nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
  183. nuitka/build/static_src/HelpersBytes.c +19 -20
  184. nuitka/build/static_src/HelpersCalling.c +33 -30
  185. nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
  186. nuitka/build/static_src/HelpersChecksumTools.c +35 -21
  187. nuitka/build/static_src/HelpersClasses.c +17 -17
  188. nuitka/build/static_src/HelpersComparisonEq.c +518 -492
  189. nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
  190. nuitka/build/static_src/HelpersComparisonGe.c +513 -497
  191. nuitka/build/static_src/HelpersComparisonGt.c +512 -496
  192. nuitka/build/static_src/HelpersComparisonLe.c +513 -497
  193. nuitka/build/static_src/HelpersComparisonLt.c +512 -496
  194. nuitka/build/static_src/HelpersComparisonNe.c +520 -492
  195. nuitka/build/static_src/HelpersConsole.c +96 -0
  196. nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
  197. nuitka/build/static_src/HelpersDeepcopy.c +33 -33
  198. nuitka/build/static_src/HelpersDictionaries.c +51 -29
  199. nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
  200. nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
  201. nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
  202. nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
  203. nuitka/build/static_src/HelpersExceptions.c +161 -50
  204. nuitka/build/static_src/HelpersFiles.c +37 -17
  205. nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
  206. nuitka/build/static_src/HelpersFloats.c +37 -31
  207. nuitka/build/static_src/HelpersHeapStorage.c +21 -17
  208. nuitka/build/static_src/HelpersImport.c +48 -20
  209. nuitka/build/static_src/HelpersImportHard.c +53 -17
  210. nuitka/build/static_src/HelpersJitSources.c +46 -0
  211. nuitka/build/static_src/HelpersLists.c +140 -50
  212. nuitka/build/static_src/HelpersListsGenerated.c +41 -41
  213. nuitka/build/static_src/HelpersMappings.c +17 -17
  214. nuitka/build/static_src/HelpersMatching.c +137 -51
  215. nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
  216. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
  217. nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
  218. nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
  219. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
  220. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
  221. nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
  222. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
  223. nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
  224. nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
  225. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
  226. nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
  227. nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
  228. nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
  229. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
  230. nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
  231. nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
  232. nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
  233. nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
  234. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
  235. nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
  236. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
  237. nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
  238. nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
  239. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
  240. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
  241. nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
  242. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
  243. nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
  244. nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
  245. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
  246. nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
  247. nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
  248. nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
  249. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
  250. nuitka/build/static_src/HelpersProfiling.c +24 -23
  251. nuitka/build/static_src/HelpersPythonPgo.c +22 -22
  252. nuitka/build/static_src/HelpersRaising.c +88 -20
  253. nuitka/build/static_src/HelpersSafeStrings.c +34 -22
  254. nuitka/build/static_src/HelpersSequences.c +18 -19
  255. nuitka/build/static_src/HelpersSlices.c +29 -23
  256. nuitka/build/static_src/HelpersStrings.c +234 -37
  257. nuitka/build/static_src/HelpersTuples.c +46 -34
  258. nuitka/build/static_src/HelpersTypes.c +68 -23
  259. nuitka/build/static_src/InspectPatcher.c +108 -27
  260. nuitka/build/static_src/MainProgram.c +359 -263
  261. nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
  262. nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
  263. nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
  264. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
  265. nuitka/build/static_src/OnefileBootstrap.c +276 -164
  266. nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
  267. nuitka/code_generation/AsyncgenCodes.py +19 -17
  268. nuitka/code_generation/AttributeCodes.py +31 -27
  269. nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
  270. nuitka/code_generation/BranchCodes.py +19 -17
  271. nuitka/code_generation/BuiltinCodes.py +20 -17
  272. nuitka/code_generation/CallCodes.py +19 -17
  273. nuitka/code_generation/ClassCodes.py +19 -17
  274. nuitka/code_generation/CodeGeneration.py +48 -27
  275. nuitka/code_generation/CodeHelperSelection.py +19 -17
  276. nuitka/code_generation/CodeHelpers.py +24 -20
  277. nuitka/code_generation/CodeObjectCodes.py +34 -24
  278. nuitka/code_generation/ComparisonCodes.py +38 -20
  279. nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
  280. nuitka/code_generation/ConditionalCodes.py +19 -17
  281. nuitka/code_generation/ConstantCodes.py +82 -28
  282. nuitka/code_generation/Contexts.py +152 -26
  283. nuitka/code_generation/CoroutineCodes.py +19 -17
  284. nuitka/code_generation/CtypesCodes.py +19 -17
  285. nuitka/code_generation/DictCodes.py +25 -23
  286. nuitka/code_generation/Emission.py +21 -18
  287. nuitka/code_generation/ErrorCodes.py +27 -33
  288. nuitka/code_generation/EvalCodes.py +24 -20
  289. nuitka/code_generation/ExceptionCodes.py +27 -18
  290. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
  291. nuitka/code_generation/ExpressionCodes.py +19 -17
  292. nuitka/code_generation/FrameCodes.py +24 -20
  293. nuitka/code_generation/FunctionCodes.py +24 -21
  294. nuitka/code_generation/GeneratorCodes.py +23 -20
  295. nuitka/code_generation/GlobalConstants.py +43 -23
  296. nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
  297. nuitka/code_generation/IdCodes.py +19 -17
  298. nuitka/code_generation/ImportCodes.py +90 -50
  299. nuitka/code_generation/Indentation.py +23 -22
  300. nuitka/code_generation/IndexCodes.py +19 -17
  301. nuitka/code_generation/InjectCCodes.py +14 -12
  302. nuitka/code_generation/IntegerCodes.py +19 -17
  303. nuitka/code_generation/IteratorCodes.py +19 -17
  304. nuitka/code_generation/JitCodes.py +44 -0
  305. nuitka/code_generation/LabelCodes.py +19 -17
  306. nuitka/code_generation/LineNumberCodes.py +19 -17
  307. nuitka/code_generation/ListCodes.py +32 -36
  308. nuitka/code_generation/LoaderCodes.py +22 -17
  309. nuitka/code_generation/LocalsDictCodes.py +56 -32
  310. nuitka/code_generation/LoopCodes.py +19 -17
  311. nuitka/code_generation/MatchCodes.py +42 -22
  312. nuitka/code_generation/ModuleCodes.py +43 -25
  313. nuitka/code_generation/Namify.py +27 -23
  314. nuitka/code_generation/NetworkxCodes.py +51 -0
  315. nuitka/code_generation/OperationCodes.py +29 -31
  316. nuitka/code_generation/PackageResourceCodes.py +59 -23
  317. nuitka/code_generation/PrintCodes.py +19 -17
  318. nuitka/code_generation/PythonAPICodes.py +19 -17
  319. nuitka/code_generation/RaisingCodes.py +19 -17
  320. nuitka/code_generation/Reports.py +19 -17
  321. nuitka/code_generation/ReturnCodes.py +19 -17
  322. nuitka/code_generation/SetCodes.py +19 -17
  323. nuitka/code_generation/SliceCodes.py +22 -20
  324. nuitka/code_generation/StringCodes.py +19 -17
  325. nuitka/code_generation/SubscriptCodes.py +24 -30
  326. nuitka/code_generation/TensorflowCodes.py +54 -0
  327. nuitka/code_generation/TryCodes.py +19 -17
  328. nuitka/code_generation/TupleCodes.py +20 -18
  329. nuitka/code_generation/TypeAliasCodes.py +71 -0
  330. nuitka/code_generation/VariableCodes.py +26 -22
  331. nuitka/code_generation/VariableDeclarations.py +20 -17
  332. nuitka/code_generation/YieldCodes.py +22 -20
  333. nuitka/code_generation/__init__.py +5 -4
  334. nuitka/code_generation/c_types/CTypeBases.py +19 -17
  335. nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
  336. nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
  337. nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
  338. nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
  339. nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
  340. nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
  341. nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
  342. nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
  343. nuitka/code_generation/c_types/CTypeVoids.py +20 -17
  344. nuitka/code_generation/c_types/__init__.py +5 -4
  345. nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
  346. nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
  347. nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
  348. nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
  349. nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
  350. nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
  351. nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
  352. nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
  353. nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
  354. nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
  355. nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
  356. nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
  357. nuitka/code_generation/templates/__init__.py +5 -4
  358. nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
  359. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
  360. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
  361. nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
  362. nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
  363. nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
  364. nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
  365. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
  366. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
  367. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
  368. nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
  369. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
  370. nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
  371. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
  372. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
  373. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
  374. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
  375. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
  376. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
  377. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
  378. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
  379. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
  380. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
  381. nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
  382. nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
  383. nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
  384. nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
  385. nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
  386. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
  387. nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
  388. nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
  389. nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
  390. nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
  391. nuitka/containers/Namedtuples.py +19 -18
  392. nuitka/containers/OrderedSetsFallback.py +19 -17
  393. nuitka/containers/__init__.py +5 -4
  394. nuitka/distutils/Build.py +19 -18
  395. nuitka/distutils/DistutilCommands.py +34 -23
  396. nuitka/distutils/__init__.py +5 -4
  397. nuitka/finalizations/Finalization.py +20 -17
  398. nuitka/finalizations/FinalizeMarkups.py +21 -41
  399. nuitka/finalizations/__init__.py +5 -4
  400. nuitka/freezer/DependsExe.py +48 -28
  401. nuitka/freezer/DllDependenciesCommon.py +47 -20
  402. nuitka/freezer/DllDependenciesMacOS.py +147 -57
  403. nuitka/freezer/DllDependenciesPosix.py +29 -19
  404. nuitka/freezer/DllDependenciesWin32.py +29 -21
  405. nuitka/freezer/ImportDetection.py +20 -17
  406. nuitka/freezer/IncludedDataFiles.py +118 -47
  407. nuitka/freezer/IncludedEntryPoints.py +102 -38
  408. nuitka/freezer/Onefile.py +32 -22
  409. nuitka/freezer/Standalone.py +105 -50
  410. nuitka/freezer/__init__.py +5 -4
  411. nuitka/importing/IgnoreListing.py +19 -17
  412. nuitka/importing/ImportCache.py +24 -21
  413. nuitka/importing/ImportResolving.py +103 -95
  414. nuitka/importing/Importing.py +286 -92
  415. nuitka/importing/PreloadedPackages.py +21 -18
  416. nuitka/importing/Recursion.py +131 -47
  417. nuitka/importing/StandardLibrary.py +46 -28
  418. nuitka/importing/__init__.py +5 -4
  419. nuitka/nodes/AsyncgenNodes.py +19 -17
  420. nuitka/nodes/AttributeLookupNodes.py +19 -17
  421. nuitka/nodes/AttributeNodes.py +19 -17
  422. nuitka/nodes/AttributeNodesGenerated.py +49 -24
  423. nuitka/nodes/BuiltinAllNodes.py +19 -17
  424. nuitka/nodes/BuiltinAnyNodes.py +19 -17
  425. nuitka/nodes/BuiltinComplexNodes.py +20 -17
  426. nuitka/nodes/BuiltinDecodingNodes.py +19 -17
  427. nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
  428. nuitka/nodes/BuiltinDictNodes.py +19 -17
  429. nuitka/nodes/BuiltinFormatNodes.py +20 -17
  430. nuitka/nodes/BuiltinHashNodes.py +19 -17
  431. nuitka/nodes/BuiltinInputNodes.py +19 -17
  432. nuitka/nodes/BuiltinIntegerNodes.py +19 -17
  433. nuitka/nodes/BuiltinIteratorNodes.py +24 -20
  434. nuitka/nodes/BuiltinLenNodes.py +19 -17
  435. nuitka/nodes/BuiltinNextNodes.py +19 -17
  436. nuitka/nodes/BuiltinOpenNodes.py +52 -18
  437. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
  438. nuitka/nodes/BuiltinRangeNodes.py +21 -19
  439. nuitka/nodes/BuiltinRefNodes.py +68 -19
  440. nuitka/nodes/BuiltinSumNodes.py +20 -18
  441. nuitka/nodes/BuiltinTypeNodes.py +19 -17
  442. nuitka/nodes/BuiltinVarsNodes.py +19 -18
  443. nuitka/nodes/BytesNodes.py +19 -17
  444. nuitka/nodes/CallNodes.py +19 -17
  445. nuitka/nodes/Checkers.py +19 -17
  446. nuitka/nodes/ChildrenHavingMixins.py +1250 -302
  447. nuitka/nodes/ClassNodes.py +49 -29
  448. nuitka/nodes/CodeObjectSpecs.py +29 -18
  449. nuitka/nodes/ComparisonNodes.py +19 -17
  450. nuitka/nodes/ConditionalNodes.py +21 -23
  451. nuitka/nodes/ConstantRefNodes.py +57 -17
  452. nuitka/nodes/ContainerMakingNodes.py +19 -17
  453. nuitka/nodes/ContainerOperationNodes.py +19 -17
  454. nuitka/nodes/CoroutineNodes.py +19 -17
  455. nuitka/nodes/CtypesNodes.py +19 -18
  456. nuitka/nodes/DictionaryNodes.py +19 -18
  457. nuitka/nodes/ExceptionNodes.py +29 -17
  458. nuitka/nodes/ExecEvalNodes.py +19 -17
  459. nuitka/nodes/ExpressionBases.py +34 -26
  460. nuitka/nodes/ExpressionBasesGenerated.py +54 -32
  461. nuitka/nodes/ExpressionShapeMixins.py +19 -17
  462. nuitka/nodes/FrameNodes.py +19 -17
  463. nuitka/nodes/FunctionAttributeNodes.py +19 -17
  464. nuitka/nodes/FunctionNodes.py +81 -35
  465. nuitka/nodes/FutureSpecs.py +35 -20
  466. nuitka/nodes/GeneratorNodes.py +21 -19
  467. nuitka/nodes/GlobalsLocalsNodes.py +22 -17
  468. nuitka/nodes/HardImportNodesGenerated.py +545 -129
  469. nuitka/nodes/ImportHardNodes.py +46 -38
  470. nuitka/nodes/ImportNodes.py +436 -446
  471. nuitka/nodes/IndicatorMixins.py +19 -17
  472. nuitka/nodes/InjectCNodes.py +19 -18
  473. nuitka/nodes/IterationHandles.py +55 -34
  474. nuitka/nodes/KeyValuePairNodes.py +19 -17
  475. nuitka/nodes/ListOperationNodes.py +33 -21
  476. nuitka/nodes/LocalsDictNodes.py +19 -17
  477. nuitka/nodes/LocalsScopes.py +41 -41
  478. nuitka/nodes/LoopNodes.py +28 -17
  479. nuitka/nodes/MatchNodes.py +37 -24
  480. nuitka/nodes/ModuleAttributeNodes.py +18 -35
  481. nuitka/nodes/ModuleNodes.py +90 -31
  482. nuitka/nodes/NetworkxNodes.py +45 -0
  483. nuitka/nodes/NodeBases.py +45 -43
  484. nuitka/nodes/NodeMakingHelpers.py +21 -19
  485. nuitka/nodes/NodeMetaClasses.py +45 -28
  486. nuitka/nodes/OperatorNodes.py +28 -26
  487. nuitka/nodes/OperatorNodesUnary.py +20 -17
  488. nuitka/nodes/OsSysNodes.py +66 -18
  489. nuitka/nodes/OutlineNodes.py +22 -20
  490. nuitka/nodes/PackageMetadataNodes.py +37 -27
  491. nuitka/nodes/PackageResourceNodes.py +29 -23
  492. nuitka/nodes/PrintNodes.py +19 -17
  493. nuitka/nodes/ReturnNodes.py +20 -18
  494. nuitka/nodes/SideEffectNodes.py +19 -17
  495. nuitka/nodes/SliceNodes.py +20 -18
  496. nuitka/nodes/StatementBasesGenerated.py +125 -77
  497. nuitka/nodes/StatementNodes.py +19 -17
  498. nuitka/nodes/StrNodes.py +19 -17
  499. nuitka/nodes/StringConcatenationNodes.py +20 -17
  500. nuitka/nodes/SubscriptNodes.py +26 -24
  501. nuitka/nodes/TensorflowNodes.py +38 -0
  502. nuitka/nodes/TryNodes.py +19 -17
  503. nuitka/nodes/TypeMatchNodes.py +19 -17
  504. nuitka/nodes/TypeNodes.py +40 -17
  505. nuitka/nodes/VariableAssignNodes.py +122 -64
  506. nuitka/nodes/VariableDelNodes.py +19 -17
  507. nuitka/nodes/VariableNameNodes.py +19 -17
  508. nuitka/nodes/VariableRefNodes.py +63 -26
  509. nuitka/nodes/VariableReleaseNodes.py +19 -17
  510. nuitka/nodes/YieldNodes.py +21 -19
  511. nuitka/nodes/__init__.py +5 -4
  512. nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
  513. nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
  514. nuitka/nodes/shapes/ShapeMixins.py +40 -17
  515. nuitka/nodes/shapes/StandardShapes.py +27 -20
  516. nuitka/nodes/shapes/__init__.py +5 -4
  517. nuitka/optimizations/BytecodeDemotion.py +19 -17
  518. nuitka/optimizations/FunctionInlining.py +22 -23
  519. nuitka/optimizations/Graphs.py +19 -17
  520. nuitka/optimizations/Optimization.py +39 -35
  521. nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
  522. nuitka/optimizations/Tags.py +19 -18
  523. nuitka/optimizations/TraceCollections.py +67 -24
  524. nuitka/optimizations/ValueTraces.py +92 -25
  525. nuitka/optimizations/__init__.py +5 -4
  526. nuitka/pgo/PGO.py +33 -23
  527. nuitka/pgo/__init__.py +5 -4
  528. nuitka/plugins/PluginBase.py +610 -109
  529. nuitka/plugins/Plugins.py +241 -58
  530. nuitka/plugins/YamlPluginBase.py +121 -0
  531. nuitka/plugins/__init__.py +5 -4
  532. nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
  533. nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
  534. nuitka/plugins/standard/DataFilesPlugin.py +65 -29
  535. nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
  536. nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
  537. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
  538. nuitka/plugins/standard/DillPlugin.py +42 -134
  539. nuitka/plugins/standard/DllFilesPlugin.py +125 -42
  540. nuitka/plugins/standard/EnumPlugin.py +19 -17
  541. nuitka/plugins/standard/EventletPlugin.py +19 -17
  542. nuitka/plugins/standard/GeventPlugin.py +19 -17
  543. nuitka/plugins/standard/GiPlugin.py +44 -28
  544. nuitka/plugins/standard/GlfwPlugin.py +20 -17
  545. nuitka/plugins/standard/ImplicitImports.py +407 -46
  546. nuitka/plugins/standard/KivyPlugin.py +30 -17
  547. nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
  548. nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
  549. nuitka/plugins/standard/NumpyPlugin.py +19 -17
  550. nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
  551. nuitka/plugins/standard/PbrPlugin.py +21 -19
  552. nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
  553. nuitka/plugins/standard/PmwPlugin.py +30 -27
  554. nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
  555. nuitka/plugins/standard/PywebViewPlugin.py +19 -17
  556. nuitka/plugins/standard/SpacyPlugin.py +136 -0
  557. nuitka/plugins/standard/TensorflowPlugin.py +20 -17
  558. nuitka/plugins/standard/TkinterPlugin.py +103 -53
  559. nuitka/plugins/standard/TorchPlugin.py +20 -17
  560. nuitka/plugins/standard/TransformersPlugin.py +94 -30
  561. nuitka/plugins/standard/TrioPlugin.py +18 -15
  562. nuitka/plugins/standard/UpxPlugin.py +21 -19
  563. nuitka/plugins/standard/__init__.py +5 -4
  564. nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
  565. nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
  566. nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
  567. nuitka/reports/CompilationReportReader.py +67 -0
  568. nuitka/reports/LicenseReport.rst.j2 +21 -21
  569. nuitka/reports/Reports.py +352 -76
  570. nuitka/reports/__init__.py +5 -4
  571. nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
  572. nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
  573. nuitka/specs/BuiltinListOperationSpecs.py +18 -17
  574. nuitka/specs/BuiltinParameterSpecs.py +30 -20
  575. nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
  576. nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
  577. nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
  578. nuitka/specs/HardImportSpecs.py +67 -22
  579. nuitka/specs/ParameterSpecs.py +56 -41
  580. nuitka/specs/__init__.py +5 -4
  581. nuitka/tools/Basics.py +20 -18
  582. nuitka/tools/__init__.py +5 -4
  583. nuitka/tools/commercial/__init__.py +7 -6
  584. nuitka/tools/data_composer/DataComposer.py +78 -62
  585. nuitka/tools/data_composer/__init__.py +5 -4
  586. nuitka/tools/data_composer/__main__.py +18 -17
  587. nuitka/tools/environments/CreateEnvironment.py +20 -17
  588. nuitka/tools/environments/Virtualenv.py +60 -32
  589. nuitka/tools/environments/__init__.py +5 -4
  590. nuitka/tools/general/__init__.py +5 -4
  591. nuitka/tools/general/dll_report/__init__.py +5 -4
  592. nuitka/tools/general/dll_report/__main__.py +19 -21
  593. nuitka/tools/general/find_module/FindModuleCode.py +35 -22
  594. nuitka/tools/general/find_module/__init__.py +5 -4
  595. nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
  596. nuitka/tools/onefile_compressor/__init__.py +5 -4
  597. nuitka/tools/onefile_compressor/__main__.py +18 -17
  598. nuitka/tools/podman/Podman.py +19 -17
  599. nuitka/tools/podman/__init__.py +5 -4
  600. nuitka/tools/podman/__main__.py +35 -19
  601. nuitka/tools/profiler/__init__.py +5 -4
  602. nuitka/tools/profiler/__main__.py +18 -17
  603. nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
  604. nuitka/tools/scanning/DisplayPackageData.py +31 -19
  605. nuitka/tools/scanning/__init__.py +5 -4
  606. nuitka/tools/specialize/CTypeDescriptions.py +93 -71
  607. nuitka/tools/specialize/Common.py +18 -17
  608. nuitka/tools/specialize/SpecializeC.py +31 -27
  609. nuitka/tools/specialize/SpecializePython.py +108 -45
  610. nuitka/tools/specialize/__init__.py +5 -4
  611. nuitka/tools/testing/Common.py +106 -52
  612. nuitka/tools/testing/Constructs.py +19 -17
  613. nuitka/tools/testing/OutputComparison.py +54 -18
  614. nuitka/tools/testing/Pythons.py +19 -18
  615. nuitka/tools/testing/RuntimeTracing.py +20 -19
  616. nuitka/tools/testing/SearchModes.py +26 -20
  617. nuitka/tools/testing/Valgrind.py +19 -17
  618. nuitka/tools/testing/__init__.py +5 -4
  619. nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
  620. nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
  621. nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
  622. nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
  623. nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
  624. nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
  625. nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
  626. nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
  627. nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
  628. nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
  629. nuitka/tools/watch/AutoStage.py +144 -0
  630. nuitka/tools/watch/GitHub.py +113 -0
  631. nuitka/tools/watch/__init__.py +5 -4
  632. nuitka/tools/watch/__main__.py +322 -91
  633. nuitka/tree/Building.py +176 -147
  634. nuitka/tree/ComplexCallHelperFunctions.py +80 -58
  635. nuitka/tree/Extractions.py +19 -17
  636. nuitka/tree/InternalModule.py +29 -20
  637. nuitka/tree/Operations.py +19 -17
  638. nuitka/tree/ReformulationAssertStatements.py +20 -17
  639. nuitka/tree/ReformulationAssignmentStatements.py +92 -91
  640. nuitka/tree/ReformulationBooleanExpressions.py +19 -17
  641. nuitka/tree/ReformulationCallExpressions.py +20 -18
  642. nuitka/tree/ReformulationClasses.py +45 -39
  643. nuitka/tree/ReformulationClasses3.py +146 -98
  644. nuitka/tree/ReformulationComparisonExpressions.py +29 -35
  645. nuitka/tree/ReformulationContractionExpressions.py +58 -55
  646. nuitka/tree/ReformulationDictionaryCreation.py +40 -35
  647. nuitka/tree/ReformulationExecStatements.py +42 -39
  648. nuitka/tree/ReformulationForLoopStatements.py +30 -34
  649. nuitka/tree/ReformulationFunctionStatements.py +58 -54
  650. nuitka/tree/ReformulationImportStatements.py +34 -29
  651. nuitka/tree/ReformulationLambdaExpressions.py +23 -24
  652. nuitka/tree/ReformulationMatchStatements.py +244 -92
  653. nuitka/tree/ReformulationMultidist.py +22 -18
  654. nuitka/tree/ReformulationNamespacePackages.py +55 -46
  655. nuitka/tree/ReformulationPrintStatements.py +23 -24
  656. nuitka/tree/ReformulationSequenceCreation.py +50 -49
  657. nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
  658. nuitka/tree/ReformulationTryExceptStatements.py +19 -17
  659. nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
  660. nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
  661. nuitka/tree/ReformulationWithStatements.py +39 -41
  662. nuitka/tree/ReformulationYieldExpressions.py +21 -19
  663. nuitka/tree/SourceHandling.py +76 -31
  664. nuitka/tree/SyntaxErrors.py +19 -17
  665. nuitka/tree/TreeHelpers.py +33 -20
  666. nuitka/tree/VariableClosure.py +35 -39
  667. nuitka/tree/__init__.py +5 -4
  668. nuitka/utils/AppDirs.py +41 -20
  669. nuitka/utils/CStrings.py +66 -21
  670. nuitka/utils/CommandLineOptions.py +84 -19
  671. nuitka/utils/Distributions.py +445 -54
  672. nuitka/utils/Download.py +89 -57
  673. nuitka/utils/Execution.py +73 -34
  674. nuitka/utils/FileOperations.py +318 -74
  675. nuitka/utils/Hashing.py +55 -33
  676. nuitka/utils/Images.py +26 -19
  677. nuitka/utils/Importing.py +118 -24
  678. nuitka/utils/InstalledPythons.py +80 -75
  679. nuitka/utils/InstanceCounters.py +20 -17
  680. nuitka/utils/Jinja2.py +30 -22
  681. nuitka/utils/Json.py +19 -17
  682. nuitka/utils/MacOSApp.py +26 -18
  683. nuitka/utils/MemoryUsage.py +20 -18
  684. nuitka/utils/ModuleNames.py +42 -26
  685. nuitka/utils/ReExecute.py +50 -28
  686. nuitka/utils/Rest.py +20 -17
  687. nuitka/utils/SharedLibraries.py +161 -75
  688. nuitka/utils/Shebang.py +20 -17
  689. nuitka/utils/Signing.py +63 -18
  690. nuitka/utils/SlotMetaClasses.py +57 -0
  691. nuitka/utils/StaticLibraries.py +83 -56
  692. nuitka/utils/ThreadedExecutor.py +18 -17
  693. nuitka/utils/Timing.py +22 -20
  694. nuitka/utils/Utils.py +115 -25
  695. nuitka/utils/WindowsFileUsage.py +22 -20
  696. nuitka/utils/WindowsResources.py +25 -18
  697. nuitka/utils/Yaml.py +62 -24
  698. nuitka/utils/__init__.py +5 -4
  699. Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
  700. nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
  701. nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
  702. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
  703. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
  704. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,5 @@
1
- // Copyright 2023, Kay Hayen, mailto:kay.hayen@gmail.com
2
- //
3
- // Part of "Nuitka", an optimizing Python compiler that is compatible and
4
- // integrates with CPython, but also works on its own.
5
- //
6
- // Licensed under the Apache License, Version 2.0 (the "License");
7
- // you may not use this file except in compliance with the License.
8
- // You may obtain a copy of the License at
9
- //
10
- // http://www.apache.org/licenses/LICENSE-2.0
11
- //
12
- // Unless required by applicable law or agreed to in writing, software
13
- // distributed under the License is distributed on an "AS IS" BASIS,
14
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- // See the License for the specific language governing permissions and
16
- // limitations under the License.
17
- //
1
+ // Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+
18
3
  /* WARNING, this code is GENERATED. Modify the template HelperOperationBinary.c.j2 instead! */
19
4
 
20
5
  /* This file is included from another C file, help IDEs to still parse it on its own. */
@@ -143,7 +128,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_OBJECT_INT(Py
143
128
  goto exit_binary_result_object;
144
129
  }
145
130
 
146
- Py_DECREF(x);
131
+ Py_DECREF_IMMORTAL(x);
147
132
  }
148
133
 
149
134
  if (slot2 != NULL) {
@@ -154,7 +139,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_OBJECT_INT(Py
154
139
  goto exit_binary_result_object;
155
140
  }
156
141
 
157
- Py_DECREF(x);
142
+ Py_DECREF_IMMORTAL(x);
158
143
  }
159
144
 
160
145
  #if PYTHON_VERSION < 0x300
@@ -366,7 +351,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_INT_OBJECT(Py
366
351
  goto exit_binary_result_object;
367
352
  }
368
353
 
369
- Py_DECREF(x);
354
+ Py_DECREF_IMMORTAL(x);
370
355
  slot2 = NULL;
371
356
  }
372
357
  }
@@ -378,7 +363,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_INT_OBJECT(Py
378
363
  goto exit_binary_result_object;
379
364
  }
380
365
 
381
- Py_DECREF(x);
366
+ Py_DECREF_IMMORTAL(x);
382
367
  }
383
368
 
384
369
  if (slot2 != NULL) {
@@ -389,7 +374,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_INT_OBJECT(Py
389
374
  goto exit_binary_result_object;
390
375
  }
391
376
 
392
- Py_DECREF(x);
377
+ Py_DECREF_IMMORTAL(x);
393
378
  }
394
379
 
395
380
  #if PYTHON_VERSION < 0x300
@@ -682,7 +667,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_OBJECT_INT(P
682
667
  goto exit_binary_result_object;
683
668
  }
684
669
 
685
- Py_DECREF(x);
670
+ Py_DECREF_IMMORTAL(x);
686
671
  }
687
672
 
688
673
  if (slot2 != NULL) {
@@ -693,7 +678,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_OBJECT_INT(P
693
678
  goto exit_binary_result_object;
694
679
  }
695
680
 
696
- Py_DECREF(x);
681
+ Py_DECREF_IMMORTAL(x);
697
682
  }
698
683
 
699
684
  #if PYTHON_VERSION < 0x300
@@ -914,7 +899,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_INT_OBJECT(P
914
899
  goto exit_binary_result_object;
915
900
  }
916
901
 
917
- Py_DECREF(x);
902
+ Py_DECREF_IMMORTAL(x);
918
903
  slot2 = NULL;
919
904
  }
920
905
  }
@@ -926,7 +911,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_INT_OBJECT(P
926
911
  goto exit_binary_result_object;
927
912
  }
928
913
 
929
- Py_DECREF(x);
914
+ Py_DECREF_IMMORTAL(x);
930
915
  }
931
916
 
932
917
  if (slot2 != NULL) {
@@ -937,7 +922,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_INT_OBJECT(P
937
922
  goto exit_binary_result_object;
938
923
  }
939
924
 
940
- Py_DECREF(x);
925
+ Py_DECREF_IMMORTAL(x);
941
926
  }
942
927
 
943
928
  #if PYTHON_VERSION < 0x300
@@ -1199,7 +1184,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_OBJECT_LONG(P
1199
1184
  goto exit_binary_result_object;
1200
1185
  }
1201
1186
 
1202
- Py_DECREF(x);
1187
+ Py_DECREF_IMMORTAL(x);
1203
1188
  }
1204
1189
 
1205
1190
  if (slot2 != NULL) {
@@ -1210,7 +1195,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_OBJECT_LONG(P
1210
1195
  goto exit_binary_result_object;
1211
1196
  }
1212
1197
 
1213
- Py_DECREF(x);
1198
+ Py_DECREF_IMMORTAL(x);
1214
1199
  }
1215
1200
 
1216
1201
  #if PYTHON_VERSION < 0x300
@@ -1388,7 +1373,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_LONG_OBJECT(P
1388
1373
  goto exit_binary_result_object;
1389
1374
  }
1390
1375
 
1391
- Py_DECREF(x);
1376
+ Py_DECREF_IMMORTAL(x);
1392
1377
  slot2 = NULL;
1393
1378
  }
1394
1379
  }
@@ -1400,7 +1385,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_LONG_OBJECT(P
1400
1385
  goto exit_binary_result_object;
1401
1386
  }
1402
1387
 
1403
- Py_DECREF(x);
1388
+ Py_DECREF_IMMORTAL(x);
1404
1389
  }
1405
1390
 
1406
1391
  if (slot2 != NULL) {
@@ -1411,7 +1396,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_LONG_OBJECT(P
1411
1396
  goto exit_binary_result_object;
1412
1397
  }
1413
1398
 
1414
- Py_DECREF(x);
1399
+ Py_DECREF_IMMORTAL(x);
1415
1400
  }
1416
1401
 
1417
1402
  #if PYTHON_VERSION < 0x300
@@ -1633,7 +1618,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_OBJECT_LONG(
1633
1618
  goto exit_binary_result_object;
1634
1619
  }
1635
1620
 
1636
- Py_DECREF(x);
1621
+ Py_DECREF_IMMORTAL(x);
1637
1622
  }
1638
1623
 
1639
1624
  if (slot2 != NULL) {
@@ -1644,7 +1629,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_OBJECT_LONG(
1644
1629
  goto exit_binary_result_object;
1645
1630
  }
1646
1631
 
1647
- Py_DECREF(x);
1632
+ Py_DECREF_IMMORTAL(x);
1648
1633
  }
1649
1634
 
1650
1635
  #if PYTHON_VERSION < 0x300
@@ -1832,7 +1817,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_LONG_OBJECT(
1832
1817
  goto exit_binary_result_object;
1833
1818
  }
1834
1819
 
1835
- Py_DECREF(x);
1820
+ Py_DECREF_IMMORTAL(x);
1836
1821
  slot2 = NULL;
1837
1822
  }
1838
1823
  }
@@ -1844,7 +1829,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_LONG_OBJECT(
1844
1829
  goto exit_binary_result_object;
1845
1830
  }
1846
1831
 
1847
- Py_DECREF(x);
1832
+ Py_DECREF_IMMORTAL(x);
1848
1833
  }
1849
1834
 
1850
1835
  if (slot2 != NULL) {
@@ -1855,7 +1840,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_LONG_OBJECT(
1855
1840
  goto exit_binary_result_object;
1856
1841
  }
1857
1842
 
1858
- Py_DECREF(x);
1843
+ Py_DECREF_IMMORTAL(x);
1859
1844
  }
1860
1845
 
1861
1846
  #if PYTHON_VERSION < 0x300
@@ -2106,7 +2091,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_OBJECT_FLOAT(
2106
2091
  goto exit_binary_result_object;
2107
2092
  }
2108
2093
 
2109
- Py_DECREF(x);
2094
+ Py_DECREF_IMMORTAL(x);
2110
2095
  }
2111
2096
 
2112
2097
  if (slot2 != NULL) {
@@ -2117,7 +2102,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_OBJECT_FLOAT(
2117
2102
  goto exit_binary_result_object;
2118
2103
  }
2119
2104
 
2120
- Py_DECREF(x);
2105
+ Py_DECREF_IMMORTAL(x);
2121
2106
  }
2122
2107
 
2123
2108
  #if PYTHON_VERSION < 0x300
@@ -2313,7 +2298,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_FLOAT_OBJECT(
2313
2298
  goto exit_binary_result_object;
2314
2299
  }
2315
2300
 
2316
- Py_DECREF(x);
2301
+ Py_DECREF_IMMORTAL(x);
2317
2302
  slot2 = NULL;
2318
2303
  }
2319
2304
  }
@@ -2325,7 +2310,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_FLOAT_OBJECT(
2325
2310
  goto exit_binary_result_object;
2326
2311
  }
2327
2312
 
2328
- Py_DECREF(x);
2313
+ Py_DECREF_IMMORTAL(x);
2329
2314
  }
2330
2315
 
2331
2316
  if (slot2 != NULL) {
@@ -2336,7 +2321,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_FLOAT_OBJECT(
2336
2321
  goto exit_binary_result_object;
2337
2322
  }
2338
2323
 
2339
- Py_DECREF(x);
2324
+ Py_DECREF_IMMORTAL(x);
2340
2325
  }
2341
2326
 
2342
2327
  #if PYTHON_VERSION < 0x300
@@ -2595,7 +2580,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_OBJECT_FLOAT
2595
2580
  goto exit_binary_result_object;
2596
2581
  }
2597
2582
 
2598
- Py_DECREF(x);
2583
+ Py_DECREF_IMMORTAL(x);
2599
2584
  }
2600
2585
 
2601
2586
  if (slot2 != NULL) {
@@ -2606,7 +2591,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_OBJECT_FLOAT
2606
2591
  goto exit_binary_result_object;
2607
2592
  }
2608
2593
 
2609
- Py_DECREF(x);
2594
+ Py_DECREF_IMMORTAL(x);
2610
2595
  }
2611
2596
 
2612
2597
  #if PYTHON_VERSION < 0x300
@@ -2810,7 +2795,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_FLOAT_OBJECT
2810
2795
  goto exit_binary_result_object;
2811
2796
  }
2812
2797
 
2813
- Py_DECREF(x);
2798
+ Py_DECREF_IMMORTAL(x);
2814
2799
  slot2 = NULL;
2815
2800
  }
2816
2801
  }
@@ -2822,7 +2807,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_FLOAT_OBJECT
2822
2807
  goto exit_binary_result_object;
2823
2808
  }
2824
2809
 
2825
- Py_DECREF(x);
2810
+ Py_DECREF_IMMORTAL(x);
2826
2811
  }
2827
2812
 
2828
2813
  if (slot2 != NULL) {
@@ -2833,7 +2818,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MOD_NBOOL_FLOAT_OBJECT
2833
2818
  goto exit_binary_result_object;
2834
2819
  }
2835
2820
 
2836
- Py_DECREF(x);
2821
+ Py_DECREF_IMMORTAL(x);
2837
2822
  }
2838
2823
 
2839
2824
  #if PYTHON_VERSION < 0x300
@@ -3026,7 +3011,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_FLOAT_LONG(PyObject *operand1, PyO
3026
3011
  goto exit_binary_result_object;
3027
3012
  }
3028
3013
 
3029
- Py_DECREF(x);
3014
+ Py_DECREF_IMMORTAL(x);
3030
3015
  }
3031
3016
 
3032
3017
  // Statically recognized that coercion is not possible with these types
@@ -3083,7 +3068,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_LONG_FLOAT(PyObject *operand1, PyO
3083
3068
  goto exit_binary_result_object;
3084
3069
  }
3085
3070
 
3086
- Py_DECREF(x);
3071
+ Py_DECREF_IMMORTAL(x);
3087
3072
  }
3088
3073
 
3089
3074
  // Statically recognized that coercion is not possible with these types
@@ -3134,7 +3119,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_FLOAT_LONG(PyObject *operand1, Py
3134
3119
  goto exit_binary_result_object;
3135
3120
  }
3136
3121
 
3137
- Py_DECREF(x);
3122
+ Py_DECREF_IMMORTAL(x);
3138
3123
  }
3139
3124
 
3140
3125
  // Statically recognized that coercion is not possible with these types
@@ -3199,7 +3184,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_LONG_FLOAT(PyObject *operand1, Py
3199
3184
  goto exit_binary_result_object;
3200
3185
  }
3201
3186
 
3202
- Py_DECREF(x);
3187
+ Py_DECREF_IMMORTAL(x);
3203
3188
  }
3204
3189
 
3205
3190
  // Statically recognized that coercion is not possible with these types
@@ -3259,7 +3244,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_FLOAT_INT(PyObject *operand1, PyOb
3259
3244
  goto exit_binary_result_object;
3260
3245
  }
3261
3246
 
3262
- Py_DECREF(x);
3247
+ Py_DECREF_IMMORTAL(x);
3263
3248
  }
3264
3249
 
3265
3250
  // Statically recognized that coercion is not possible with these types
@@ -3314,7 +3299,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_INT_FLOAT(PyObject *operand1, PyOb
3314
3299
  goto exit_binary_result_object;
3315
3300
  }
3316
3301
 
3317
- Py_DECREF(x);
3302
+ Py_DECREF_IMMORTAL(x);
3318
3303
  }
3319
3304
 
3320
3305
  // Statically recognized that coercion is not possible with these types
@@ -3363,7 +3348,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_FLOAT_INT(PyObject *operand1, PyO
3363
3348
  goto exit_binary_result_object;
3364
3349
  }
3365
3350
 
3366
- Py_DECREF(x);
3351
+ Py_DECREF_IMMORTAL(x);
3367
3352
  }
3368
3353
 
3369
3354
  // Statically recognized that coercion is not possible with these types
@@ -3426,7 +3411,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_INT_FLOAT(PyObject *operand1, PyO
3426
3411
  goto exit_binary_result_object;
3427
3412
  }
3428
3413
 
3429
- Py_DECREF(x);
3414
+ Py_DECREF_IMMORTAL(x);
3430
3415
  }
3431
3416
 
3432
3417
  // Statically recognized that coercion is not possible with these types
@@ -3483,7 +3468,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_LONG_INT(PyObject *operand1, PyObj
3483
3468
  goto exit_binary_result_object;
3484
3469
  }
3485
3470
 
3486
- Py_DECREF(x);
3471
+ Py_DECREF_IMMORTAL(x);
3487
3472
  }
3488
3473
 
3489
3474
  // Statically recognized that coercion is not possible with these types
@@ -3538,7 +3523,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_INT_LONG(PyObject *operand1, PyObj
3538
3523
  goto exit_binary_result_object;
3539
3524
  }
3540
3525
 
3541
- Py_DECREF(x);
3526
+ Py_DECREF_IMMORTAL(x);
3542
3527
  }
3543
3528
 
3544
3529
  // Statically recognized that coercion is not possible with these types
@@ -3587,7 +3572,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_LONG_INT(PyObject *operand1, PyOb
3587
3572
  goto exit_binary_result_object;
3588
3573
  }
3589
3574
 
3590
- Py_DECREF(x);
3575
+ Py_DECREF_IMMORTAL(x);
3591
3576
  }
3592
3577
 
3593
3578
  // Statically recognized that coercion is not possible with these types
@@ -3650,7 +3635,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_INT_LONG(PyObject *operand1, PyOb
3650
3635
  goto exit_binary_result_object;
3651
3636
  }
3652
3637
 
3653
- Py_DECREF(x);
3638
+ Py_DECREF_IMMORTAL(x);
3654
3639
  }
3655
3640
 
3656
3641
  // Statically recognized that coercion is not possible with these types
@@ -4283,7 +4268,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_INT(PyObject *operand1, PyObje
4283
4268
  goto exit_binary_result_object;
4284
4269
  }
4285
4270
 
4286
- Py_DECREF(x);
4271
+ Py_DECREF_IMMORTAL(x);
4287
4272
  }
4288
4273
 
4289
4274
  if (slot2 != NULL) {
@@ -4294,7 +4279,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_INT(PyObject *operand1, PyObje
4294
4279
  goto exit_binary_result_object;
4295
4280
  }
4296
4281
 
4297
- Py_DECREF(x);
4282
+ Py_DECREF_IMMORTAL(x);
4298
4283
  }
4299
4284
 
4300
4285
  // Statically recognized that coercion is not possible with these types
@@ -4349,7 +4334,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_LONG(PyObject *operand1, PyObj
4349
4334
  goto exit_binary_result_object;
4350
4335
  }
4351
4336
 
4352
- Py_DECREF(x);
4337
+ Py_DECREF_IMMORTAL(x);
4353
4338
  }
4354
4339
 
4355
4340
  if (slot2 != NULL) {
@@ -4360,7 +4345,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_LONG(PyObject *operand1, PyObj
4360
4345
  goto exit_binary_result_object;
4361
4346
  }
4362
4347
 
4363
- Py_DECREF(x);
4348
+ Py_DECREF_IMMORTAL(x);
4364
4349
  }
4365
4350
 
4366
4351
  // Statically recognized that coercion is not possible with these types
@@ -4415,7 +4400,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_FLOAT(PyObject *operand1, PyOb
4415
4400
  goto exit_binary_result_object;
4416
4401
  }
4417
4402
 
4418
- Py_DECREF(x);
4403
+ Py_DECREF_IMMORTAL(x);
4419
4404
  }
4420
4405
 
4421
4406
  if (slot2 != NULL) {
@@ -4426,7 +4411,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_FLOAT(PyObject *operand1, PyOb
4426
4411
  goto exit_binary_result_object;
4427
4412
  }
4428
4413
 
4429
- Py_DECREF(x);
4414
+ Py_DECREF_IMMORTAL(x);
4430
4415
  }
4431
4416
 
4432
4417
  // Statically recognized that coercion is not possible with these types
@@ -4518,7 +4503,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_UNICODE(PyObject *operand1, Py
4518
4503
  goto exit_binary_result_object;
4519
4504
  }
4520
4505
 
4521
- Py_DECREF(x);
4506
+ Py_DECREF_IMMORTAL(x);
4522
4507
  }
4523
4508
 
4524
4509
  if (slot2 != NULL) {
@@ -4529,7 +4514,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_UNICODE(PyObject *operand1, Py
4529
4514
  goto exit_binary_result_object;
4530
4515
  }
4531
4516
 
4532
- Py_DECREF(x);
4517
+ Py_DECREF_IMMORTAL(x);
4533
4518
  }
4534
4519
 
4535
4520
  // Statically recognized that coercion is not possible with these types
@@ -4577,7 +4562,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_TUPLE(PyObject *operand1, PyOb
4577
4562
  goto exit_binary_result_object;
4578
4563
  }
4579
4564
 
4580
- Py_DECREF(x);
4565
+ Py_DECREF_IMMORTAL(x);
4581
4566
  }
4582
4567
 
4583
4568
  // Statically recognized that coercion is not possible with these types
@@ -4625,7 +4610,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_LIST(PyObject *operand1, PyObj
4625
4610
  goto exit_binary_result_object;
4626
4611
  }
4627
4612
 
4628
- Py_DECREF(x);
4613
+ Py_DECREF_IMMORTAL(x);
4629
4614
  }
4630
4615
 
4631
4616
  // Statically recognized that coercion is not possible with these types
@@ -4673,7 +4658,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_STR_DICT(PyObject *operand1, PyObj
4673
4658
  goto exit_binary_result_object;
4674
4659
  }
4675
4660
 
4676
- Py_DECREF(x);
4661
+ Py_DECREF_IMMORTAL(x);
4677
4662
  }
4678
4663
 
4679
4664
  // Statically recognized that coercion is not possible with these types
@@ -4732,7 +4717,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_STR_OBJECT(Py
4732
4717
  goto exit_binary_result_object;
4733
4718
  }
4734
4719
 
4735
- Py_DECREF(x);
4720
+ Py_DECREF_IMMORTAL(x);
4736
4721
  slot2 = NULL;
4737
4722
  }
4738
4723
  }
@@ -4744,7 +4729,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_STR_OBJECT(Py
4744
4729
  goto exit_binary_result_object;
4745
4730
  }
4746
4731
 
4747
- Py_DECREF(x);
4732
+ Py_DECREF_IMMORTAL(x);
4748
4733
  }
4749
4734
 
4750
4735
  if (slot2 != NULL) {
@@ -4755,7 +4740,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_STR_OBJECT(Py
4755
4740
  goto exit_binary_result_object;
4756
4741
  }
4757
4742
 
4758
- Py_DECREF(x);
4743
+ Py_DECREF_IMMORTAL(x);
4759
4744
  }
4760
4745
 
4761
4746
  #if PYTHON_VERSION < 0x300
@@ -4884,7 +4869,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_INT(PyObject *operand1, Py
4884
4869
  goto exit_binary_result_object;
4885
4870
  }
4886
4871
 
4887
- Py_DECREF(x);
4872
+ Py_DECREF_IMMORTAL(x);
4888
4873
  }
4889
4874
 
4890
4875
  if (slot2 != NULL) {
@@ -4895,7 +4880,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_INT(PyObject *operand1, Py
4895
4880
  goto exit_binary_result_object;
4896
4881
  }
4897
4882
 
4898
- Py_DECREF(x);
4883
+ Py_DECREF_IMMORTAL(x);
4899
4884
  }
4900
4885
 
4901
4886
  // Statically recognized that coercion is not possible with these types
@@ -4950,7 +4935,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_LONG(PyObject *operand1, P
4950
4935
  goto exit_binary_result_object;
4951
4936
  }
4952
4937
 
4953
- Py_DECREF(x);
4938
+ Py_DECREF_IMMORTAL(x);
4954
4939
  }
4955
4940
 
4956
4941
  if (slot2 != NULL) {
@@ -4961,7 +4946,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_LONG(PyObject *operand1, P
4961
4946
  goto exit_binary_result_object;
4962
4947
  }
4963
4948
 
4964
- Py_DECREF(x);
4949
+ Py_DECREF_IMMORTAL(x);
4965
4950
  }
4966
4951
 
4967
4952
  // Statically recognized that coercion is not possible with these types
@@ -5018,7 +5003,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_FLOAT(PyObject *operand1,
5018
5003
  goto exit_binary_result_object;
5019
5004
  }
5020
5005
 
5021
- Py_DECREF(x);
5006
+ Py_DECREF_IMMORTAL(x);
5022
5007
  }
5023
5008
 
5024
5009
  if (slot2 != NULL) {
@@ -5029,7 +5014,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_FLOAT(PyObject *operand1,
5029
5014
  goto exit_binary_result_object;
5030
5015
  }
5031
5016
 
5032
- Py_DECREF(x);
5017
+ Py_DECREF_IMMORTAL(x);
5033
5018
  }
5034
5019
 
5035
5020
  // Statically recognized that coercion is not possible with these types
@@ -5087,7 +5072,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_STR(PyObject *operand1, Py
5087
5072
  goto exit_binary_result_object;
5088
5073
  }
5089
5074
 
5090
- Py_DECREF(x);
5075
+ Py_DECREF_IMMORTAL(x);
5091
5076
  }
5092
5077
 
5093
5078
  if (slot2 != NULL) {
@@ -5098,7 +5083,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_STR(PyObject *operand1, Py
5098
5083
  goto exit_binary_result_object;
5099
5084
  }
5100
5085
 
5101
- Py_DECREF(x);
5086
+ Py_DECREF_IMMORTAL(x);
5102
5087
  }
5103
5088
 
5104
5089
  // Statically recognized that coercion is not possible with these types
@@ -5153,7 +5138,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_BYTES(PyObject *operand1,
5153
5138
  goto exit_binary_result_object;
5154
5139
  }
5155
5140
 
5156
- Py_DECREF(x);
5141
+ Py_DECREF_IMMORTAL(x);
5157
5142
  }
5158
5143
 
5159
5144
  if (slot2 != NULL) {
@@ -5164,7 +5149,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_BYTES(PyObject *operand1,
5164
5149
  goto exit_binary_result_object;
5165
5150
  }
5166
5151
 
5167
- Py_DECREF(x);
5152
+ Py_DECREF_IMMORTAL(x);
5168
5153
  }
5169
5154
 
5170
5155
  // Statically recognized that coercion is not possible with these types
@@ -5247,7 +5232,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_TUPLE(PyObject *operand1,
5247
5232
  goto exit_binary_result_object;
5248
5233
  }
5249
5234
 
5250
- Py_DECREF(x);
5235
+ Py_DECREF_IMMORTAL(x);
5251
5236
  }
5252
5237
 
5253
5238
  // Statically recognized that coercion is not possible with these types
@@ -5297,7 +5282,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_LIST(PyObject *operand1, P
5297
5282
  goto exit_binary_result_object;
5298
5283
  }
5299
5284
 
5300
- Py_DECREF(x);
5285
+ Py_DECREF_IMMORTAL(x);
5301
5286
  }
5302
5287
 
5303
5288
  // Statically recognized that coercion is not possible with these types
@@ -5347,7 +5332,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_UNICODE_DICT(PyObject *operand1, P
5347
5332
  goto exit_binary_result_object;
5348
5333
  }
5349
5334
 
5350
- Py_DECREF(x);
5335
+ Py_DECREF_IMMORTAL(x);
5351
5336
  }
5352
5337
 
5353
5338
  // Statically recognized that coercion is not possible with these types
@@ -5409,7 +5394,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_UNICODE_OBJEC
5409
5394
  goto exit_binary_result_object;
5410
5395
  }
5411
5396
 
5412
- Py_DECREF(x);
5397
+ Py_DECREF_IMMORTAL(x);
5413
5398
  slot2 = NULL;
5414
5399
  }
5415
5400
  }
@@ -5421,7 +5406,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_UNICODE_OBJEC
5421
5406
  goto exit_binary_result_object;
5422
5407
  }
5423
5408
 
5424
- Py_DECREF(x);
5409
+ Py_DECREF_IMMORTAL(x);
5425
5410
  }
5426
5411
 
5427
5412
  if (slot2 != NULL) {
@@ -5432,7 +5417,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_UNICODE_OBJEC
5432
5417
  goto exit_binary_result_object;
5433
5418
  }
5434
5419
 
5435
- Py_DECREF(x);
5420
+ Py_DECREF_IMMORTAL(x);
5436
5421
  }
5437
5422
 
5438
5423
  #if PYTHON_VERSION < 0x300
@@ -5564,7 +5549,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_LONG(PyObject *operand1, PyO
5564
5549
  goto exit_binary_result_object;
5565
5550
  }
5566
5551
 
5567
- Py_DECREF(x);
5552
+ Py_DECREF_IMMORTAL(x);
5568
5553
  }
5569
5554
 
5570
5555
  if (slot2 != NULL) {
@@ -5575,7 +5560,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_LONG(PyObject *operand1, PyO
5575
5560
  goto exit_binary_result_object;
5576
5561
  }
5577
5562
 
5578
- Py_DECREF(x);
5563
+ Py_DECREF_IMMORTAL(x);
5579
5564
  }
5580
5565
 
5581
5566
  // Statically recognized that coercion is not possible with these types
@@ -5630,7 +5615,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_FLOAT(PyObject *operand1, Py
5630
5615
  goto exit_binary_result_object;
5631
5616
  }
5632
5617
 
5633
- Py_DECREF(x);
5618
+ Py_DECREF_IMMORTAL(x);
5634
5619
  }
5635
5620
 
5636
5621
  if (slot2 != NULL) {
@@ -5641,7 +5626,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_FLOAT(PyObject *operand1, Py
5641
5626
  goto exit_binary_result_object;
5642
5627
  }
5643
5628
 
5644
- Py_DECREF(x);
5629
+ Py_DECREF_IMMORTAL(x);
5645
5630
  }
5646
5631
 
5647
5632
  // Statically recognized that coercion is not possible with these types
@@ -5734,7 +5719,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_UNICODE(PyObject *operand1,
5734
5719
  goto exit_binary_result_object;
5735
5720
  }
5736
5721
 
5737
- Py_DECREF(x);
5722
+ Py_DECREF_IMMORTAL(x);
5738
5723
  }
5739
5724
 
5740
5725
  if (slot2 != NULL) {
@@ -5745,7 +5730,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_UNICODE(PyObject *operand1,
5745
5730
  goto exit_binary_result_object;
5746
5731
  }
5747
5732
 
5748
- Py_DECREF(x);
5733
+ Py_DECREF_IMMORTAL(x);
5749
5734
  }
5750
5735
 
5751
5736
  // Statically recognized that coercion is not possible with these types
@@ -5793,7 +5778,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_TUPLE(PyObject *operand1, Py
5793
5778
  goto exit_binary_result_object;
5794
5779
  }
5795
5780
 
5796
- Py_DECREF(x);
5781
+ Py_DECREF_IMMORTAL(x);
5797
5782
  }
5798
5783
 
5799
5784
  // Statically recognized that coercion is not possible with these types
@@ -5841,7 +5826,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_LIST(PyObject *operand1, PyO
5841
5826
  goto exit_binary_result_object;
5842
5827
  }
5843
5828
 
5844
- Py_DECREF(x);
5829
+ Py_DECREF_IMMORTAL(x);
5845
5830
  }
5846
5831
 
5847
5832
  // Statically recognized that coercion is not possible with these types
@@ -5889,7 +5874,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_BYTES_DICT(PyObject *operand1, PyO
5889
5874
  goto exit_binary_result_object;
5890
5875
  }
5891
5876
 
5892
- Py_DECREF(x);
5877
+ Py_DECREF_IMMORTAL(x);
5893
5878
  }
5894
5879
 
5895
5880
  // Statically recognized that coercion is not possible with these types
@@ -5949,7 +5934,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_BYTES_OBJECT(
5949
5934
  goto exit_binary_result_object;
5950
5935
  }
5951
5936
 
5952
- Py_DECREF(x);
5937
+ Py_DECREF_IMMORTAL(x);
5953
5938
  slot2 = NULL;
5954
5939
  }
5955
5940
  }
@@ -5961,7 +5946,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_BYTES_OBJECT(
5961
5946
  goto exit_binary_result_object;
5962
5947
  }
5963
5948
 
5964
- Py_DECREF(x);
5949
+ Py_DECREF_IMMORTAL(x);
5965
5950
  }
5966
5951
 
5967
5952
  if (slot2 != NULL) {
@@ -5972,7 +5957,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MOD_OBJECT_BYTES_OBJECT(
5972
5957
  goto exit_binary_result_object;
5973
5958
  }
5974
5959
 
5975
- Py_DECREF(x);
5960
+ Py_DECREF_IMMORTAL(x);
5976
5961
  }
5977
5962
 
5978
5963
  #if PYTHON_VERSION < 0x300
@@ -6182,7 +6167,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_OBJECT_OBJECT(PyObject *operand1,
6182
6167
  goto exit_binary_result_object;
6183
6168
  }
6184
6169
 
6185
- Py_DECREF(x);
6170
+ Py_DECREF_IMMORTAL(x);
6186
6171
  slot2 = NULL;
6187
6172
  }
6188
6173
  }
@@ -6194,7 +6179,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_OBJECT_OBJECT(PyObject *operand1,
6194
6179
  goto exit_binary_result_object;
6195
6180
  }
6196
6181
 
6197
- Py_DECREF(x);
6182
+ Py_DECREF_IMMORTAL(x);
6198
6183
  }
6199
6184
 
6200
6185
  if (slot2 != NULL) {
@@ -6205,7 +6190,7 @@ static PyObject *_BINARY_OPERATION_MOD_OBJECT_OBJECT_OBJECT(PyObject *operand1,
6205
6190
  goto exit_binary_result_object;
6206
6191
  }
6207
6192
 
6208
- Py_DECREF(x);
6193
+ Py_DECREF_IMMORTAL(x);
6209
6194
  }
6210
6195
 
6211
6196
  #if PYTHON_VERSION < 0x300
@@ -6413,7 +6398,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_OBJECT_OBJECT(PyObject *operand1,
6413
6398
  goto exit_binary_result_object;
6414
6399
  }
6415
6400
 
6416
- Py_DECREF(x);
6401
+ Py_DECREF_IMMORTAL(x);
6417
6402
  slot2 = NULL;
6418
6403
  }
6419
6404
  }
@@ -6425,7 +6410,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_OBJECT_OBJECT(PyObject *operand1,
6425
6410
  goto exit_binary_result_object;
6426
6411
  }
6427
6412
 
6428
- Py_DECREF(x);
6413
+ Py_DECREF_IMMORTAL(x);
6429
6414
  }
6430
6415
 
6431
6416
  if (slot2 != NULL) {
@@ -6436,7 +6421,7 @@ static nuitka_bool _BINARY_OPERATION_MOD_NBOOL_OBJECT_OBJECT(PyObject *operand1,
6436
6421
  goto exit_binary_result_object;
6437
6422
  }
6438
6423
 
6439
- Py_DECREF(x);
6424
+ Py_DECREF_IMMORTAL(x);
6440
6425
  }
6441
6426
 
6442
6427
  #if PYTHON_VERSION < 0x300
@@ -6535,3 +6520,18 @@ exit_binary_exception:
6535
6520
  nuitka_bool BINARY_OPERATION_MOD_NBOOL_OBJECT_OBJECT(PyObject *operand1, PyObject *operand2) {
6536
6521
  return _BINARY_OPERATION_MOD_NBOOL_OBJECT_OBJECT(operand1, operand2);
6537
6522
  }
6523
+
6524
+ // Part of "Nuitka", an optimizing Python compiler that is compatible and
6525
+ // integrates with CPython, but also works on its own.
6526
+ //
6527
+ // Licensed under the Apache License, Version 2.0 (the "License");
6528
+ // you may not use this file except in compliance with the License.
6529
+ // You may obtain a copy of the License at
6530
+ //
6531
+ // http://www.apache.org/licenses/LICENSE-2.0
6532
+ //
6533
+ // Unless required by applicable law or agreed to in writing, software
6534
+ // distributed under the License is distributed on an "AS IS" BASIS,
6535
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6536
+ // See the License for the specific language governing permissions and
6537
+ // limitations under the License.