Nuitka-winsvc 2.5.6__cp311-cp311-win_amd64.whl → 2.6__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 (697) hide show
  1. {Nuitka_winsvc-2.5.6.data → Nuitka_winsvc-2.6.data}/scripts/nuitka-run.cmd +1 -1
  2. {Nuitka_winsvc-2.5.6.data → Nuitka_winsvc-2.6.data}/scripts/nuitka.cmd +1 -1
  3. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.dist-info}/METADATA +36 -24
  4. Nuitka_winsvc-2.6.dist-info/RECORD +988 -0
  5. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.dist-info}/WHEEL +1 -1
  6. nuitka/Builtins.py +1 -1
  7. nuitka/BytecodeCaching.py +1 -1
  8. nuitka/Bytecodes.py +1 -1
  9. nuitka/CacheCleanup.py +1 -1
  10. nuitka/Constants.py +1 -1
  11. nuitka/Errors.py +1 -1
  12. nuitka/HardImportRegistry.py +1 -1
  13. nuitka/MainControl.py +93 -94
  14. nuitka/ModuleRegistry.py +1 -1
  15. nuitka/OptionParsing.py +86 -17
  16. nuitka/Options.py +146 -48
  17. nuitka/OutputDirectories.py +5 -3
  18. nuitka/PostProcessing.py +76 -27
  19. nuitka/Progress.py +1 -1
  20. nuitka/PythonFlavors.py +9 -3
  21. nuitka/PythonOperators.py +1 -1
  22. nuitka/PythonVersions.py +8 -4
  23. nuitka/Serialization.py +1 -1
  24. nuitka/SourceCodeReferences.py +1 -1
  25. nuitka/Tracing.py +2 -1
  26. nuitka/TreeXML.py +1 -1
  27. nuitka/Variables.py +1 -1
  28. nuitka/Version.py +2 -2
  29. nuitka/__init__.py +1 -1
  30. nuitka/__main__.py +4 -1
  31. nuitka/__past__.py +1 -1
  32. nuitka/build/Backend.scons +44 -66
  33. nuitka/build/CCompilerVersion.scons +2 -1
  34. nuitka/build/DataComposerInterface.py +2 -1
  35. nuitka/build/Offsets.scons +644 -0
  36. nuitka/build/Onefile.scons +5 -13
  37. nuitka/build/SconsCaching.py +9 -7
  38. nuitka/build/SconsCompilerSettings.py +54 -31
  39. nuitka/build/SconsHacks.py +3 -3
  40. nuitka/build/SconsInterface.py +85 -57
  41. nuitka/build/SconsProgress.py +12 -5
  42. nuitka/build/SconsSpawn.py +3 -3
  43. nuitka/build/SconsUtils.py +20 -1
  44. nuitka/build/__init__.py +1 -1
  45. nuitka/build/include/nuitka/allocator.h +3 -1
  46. nuitka/build/include/nuitka/builtins.h +1 -1
  47. nuitka/build/include/nuitka/calling.h +1 -1
  48. nuitka/build/include/nuitka/checkers.h +1 -1
  49. nuitka/build/include/nuitka/checksum_tools.h +1 -1
  50. nuitka/build/include/nuitka/compiled_asyncgen.h +4 -2
  51. nuitka/build/include/nuitka/compiled_cell.h +1 -1
  52. nuitka/build/include/nuitka/compiled_coroutine.h +3 -2
  53. nuitka/build/include/nuitka/compiled_frame.h +5 -12
  54. nuitka/build/include/nuitka/compiled_function.h +2 -3
  55. nuitka/build/include/nuitka/compiled_generator.h +3 -2
  56. nuitka/build/include/nuitka/compiled_method.h +1 -1
  57. nuitka/build/include/nuitka/constants.h +5 -1
  58. nuitka/build/include/nuitka/constants_blob.h +1 -1
  59. nuitka/build/include/nuitka/debug_settings.h +1 -1
  60. nuitka/build/include/nuitka/environment_variables.h +1 -1
  61. nuitka/build/include/nuitka/environment_variables_system.h +1 -1
  62. nuitka/build/include/nuitka/exception_groups.h +1 -1
  63. nuitka/build/include/nuitka/exceptions.h +1 -1
  64. nuitka/build/include/nuitka/filesystem_paths.h +4 -1
  65. nuitka/build/include/nuitka/freelists.h +2 -2
  66. nuitka/build/include/nuitka/helper/attributes.h +1 -1
  67. nuitka/build/include/nuitka/helper/boolean.h +1 -1
  68. nuitka/build/include/nuitka/helper/bytearrays.h +1 -1
  69. nuitka/build/include/nuitka/helper/bytes.h +1 -1
  70. nuitka/build/include/nuitka/helper/calling_generated.h +1 -1
  71. nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +1 -1
  72. nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +1 -1
  73. nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +1 -1
  74. nuitka/build/include/nuitka/helper/comparisons_dual_le.h +1 -1
  75. nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +1 -1
  76. nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +1 -1
  77. nuitka/build/include/nuitka/helper/comparisons_eq.h +1 -1
  78. nuitka/build/include/nuitka/helper/comparisons_ge.h +1 -1
  79. nuitka/build/include/nuitka/helper/comparisons_gt.h +1 -1
  80. nuitka/build/include/nuitka/helper/comparisons_le.h +1 -1
  81. nuitka/build/include/nuitka/helper/comparisons_lt.h +1 -1
  82. nuitka/build/include/nuitka/helper/comparisons_ne.h +1 -1
  83. nuitka/build/include/nuitka/helper/complex.h +1 -1
  84. nuitka/build/include/nuitka/helper/dictionaries.h +1 -1
  85. nuitka/build/include/nuitka/helper/floats.h +1 -1
  86. nuitka/build/include/nuitka/helper/import_hard.h +1 -1
  87. nuitka/build/include/nuitka/helper/indexes.h +1 -1
  88. nuitka/build/include/nuitka/helper/ints.h +1 -1
  89. nuitka/build/include/nuitka/helper/iterators.h +1 -1
  90. nuitka/build/include/nuitka/helper/lists.h +1 -1
  91. nuitka/build/include/nuitka/helper/lists_generated.h +1 -1
  92. nuitka/build/include/nuitka/helper/mappings.h +1 -1
  93. nuitka/build/include/nuitka/helper/operations.h +1 -1
  94. nuitka/build/include/nuitka/helper/operations_binary_add.h +1 -1
  95. nuitka/build/include/nuitka/helper/operations_binary_bitand.h +1 -1
  96. nuitka/build/include/nuitka/helper/operations_binary_bitor.h +1 -1
  97. nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +1 -1
  98. nuitka/build/include/nuitka/helper/operations_binary_divmod.h +1 -1
  99. nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +1 -1
  100. nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +1 -1
  101. nuitka/build/include/nuitka/helper/operations_binary_lshift.h +1 -1
  102. nuitka/build/include/nuitka/helper/operations_binary_matmult.h +1 -1
  103. nuitka/build/include/nuitka/helper/operations_binary_mod.h +1 -1
  104. nuitka/build/include/nuitka/helper/operations_binary_mult.h +1 -1
  105. nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +1 -1
  106. nuitka/build/include/nuitka/helper/operations_binary_pow.h +1 -1
  107. nuitka/build/include/nuitka/helper/operations_binary_rshift.h +1 -1
  108. nuitka/build/include/nuitka/helper/operations_binary_sub.h +1 -1
  109. nuitka/build/include/nuitka/helper/operations_binary_truediv.h +1 -1
  110. nuitka/build/include/nuitka/helper/operations_builtin_types.h +1 -1
  111. nuitka/build/include/nuitka/helper/operations_inplace_add.h +1 -1
  112. nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +1 -1
  113. nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +1 -1
  114. nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +1 -1
  115. nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +1 -1
  116. nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +1 -1
  117. nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +1 -1
  118. nuitka/build/include/nuitka/helper/operations_inplace_mod.h +1 -1
  119. nuitka/build/include/nuitka/helper/operations_inplace_mult.h +1 -1
  120. nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +1 -1
  121. nuitka/build/include/nuitka/helper/operations_inplace_pow.h +1 -1
  122. nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +1 -1
  123. nuitka/build/include/nuitka/helper/operations_inplace_sub.h +1 -1
  124. nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +1 -1
  125. nuitka/build/include/nuitka/helper/raising.h +1 -1
  126. nuitka/build/include/nuitka/helper/rangeobjects.h +1 -1
  127. nuitka/build/include/nuitka/helper/richcomparisons.h +1 -1
  128. nuitka/build/include/nuitka/helper/sequences.h +1 -1
  129. nuitka/build/include/nuitka/helper/sets.h +1 -1
  130. nuitka/build/include/nuitka/helper/slices.h +1 -1
  131. nuitka/build/include/nuitka/helper/strings.h +1 -1
  132. nuitka/build/include/nuitka/helper/subscripts.h +1 -1
  133. nuitka/build/include/nuitka/helper/tuples.h +1 -1
  134. nuitka/build/include/nuitka/helpers.h +1 -43
  135. nuitka/build/include/nuitka/importing.h +1 -1
  136. nuitka/build/include/nuitka/jit_sources.h +1 -1
  137. nuitka/build/include/nuitka/prelude.h +10 -10
  138. nuitka/build/include/nuitka/printing.h +1 -1
  139. nuitka/build/include/nuitka/python_pgo.h +1 -1
  140. nuitka/build/include/nuitka/safe_string_ops.h +1 -1
  141. nuitka/build/include/nuitka/threading.h +1 -1
  142. nuitka/build/include/nuitka/tracing.h +1 -1
  143. nuitka/build/include/nuitka/type_aliases.h +1 -1
  144. nuitka/build/include/nuitka/unfreezing.h +1 -1
  145. nuitka/build/inline_copy/pefile/LICENSE.txt +21 -0
  146. nuitka/build/inline_copy/pefile/pefile.py +8034 -0
  147. nuitka/build/static_src/CompiledAsyncgenType.c +85 -71
  148. nuitka/build/static_src/CompiledCellType.c +2 -1
  149. nuitka/build/static_src/CompiledCodeHelpers.c +6 -26
  150. nuitka/build/static_src/CompiledCoroutineType.c +32 -34
  151. nuitka/build/static_src/CompiledFrameType.c +63 -5
  152. nuitka/build/static_src/CompiledFunctionType.c +11 -13
  153. nuitka/build/static_src/CompiledGeneratorType.c +64 -11
  154. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +1 -1
  155. nuitka/build/static_src/CompiledMethodType.c +2 -1
  156. nuitka/build/static_src/GenerateHeadersMain.c +30 -0
  157. nuitka/build/static_src/HelpersAllocator.c +1 -1
  158. nuitka/build/static_src/HelpersAttributes.c +5 -2
  159. nuitka/build/static_src/HelpersBuiltin.c +1 -1
  160. nuitka/build/static_src/HelpersBuiltinTypeMethods.c +1 -1
  161. nuitka/build/static_src/HelpersBytes.c +1 -1
  162. nuitka/build/static_src/HelpersCalling.c +1 -1
  163. nuitka/build/static_src/HelpersCallingGenerated.c +6 -16
  164. nuitka/build/static_src/HelpersChecksumTools.c +1 -1
  165. nuitka/build/static_src/HelpersClasses.c +1 -1
  166. nuitka/build/static_src/HelpersComparisonDualEq.c +1 -1
  167. nuitka/build/static_src/HelpersComparisonDualGe.c +1 -1
  168. nuitka/build/static_src/HelpersComparisonDualGt.c +1 -1
  169. nuitka/build/static_src/HelpersComparisonDualLe.c +1 -1
  170. nuitka/build/static_src/HelpersComparisonDualLt.c +1 -1
  171. nuitka/build/static_src/HelpersComparisonDualNe.c +1 -1
  172. nuitka/build/static_src/HelpersComparisonEq.c +1 -1
  173. nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -1
  174. nuitka/build/static_src/HelpersComparisonGe.c +1 -1
  175. nuitka/build/static_src/HelpersComparisonGt.c +1 -1
  176. nuitka/build/static_src/HelpersComparisonLe.c +1 -1
  177. nuitka/build/static_src/HelpersComparisonLt.c +1 -1
  178. nuitka/build/static_src/HelpersComparisonNe.c +1 -1
  179. nuitka/build/static_src/HelpersConsole.c +1 -1
  180. nuitka/build/static_src/HelpersConstantsBlob.c +199 -50
  181. nuitka/build/static_src/HelpersDeepcopy.c +3 -1
  182. nuitka/build/static_src/HelpersDictionaries.c +1 -1
  183. nuitka/build/static_src/HelpersDictionariesGenerated.c +1 -1
  184. nuitka/build/static_src/HelpersDumpBacktraces.c +1 -1
  185. nuitka/build/static_src/HelpersEnvironmentVariables.c +1 -1
  186. nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +1 -1
  187. nuitka/build/static_src/HelpersExceptions.c +1 -1
  188. nuitka/build/static_src/HelpersFiles.c +18 -10
  189. nuitka/build/static_src/HelpersFilesystemPaths.c +36 -16
  190. nuitka/build/static_src/HelpersFloats.c +1 -1
  191. nuitka/build/static_src/HelpersHeapStorage.c +1 -1
  192. nuitka/build/static_src/HelpersImport.c +1 -1
  193. nuitka/build/static_src/HelpersImportHard.c +1 -1
  194. nuitka/build/static_src/HelpersJitSources.c +1 -1
  195. nuitka/build/static_src/HelpersLists.c +2 -1
  196. nuitka/build/static_src/HelpersListsGenerated.c +1 -1
  197. nuitka/build/static_src/HelpersMappings.c +1 -1
  198. nuitka/build/static_src/HelpersMatching.c +1 -1
  199. nuitka/build/static_src/HelpersOperationBinaryAdd.c +1 -1
  200. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +1 -1
  201. nuitka/build/static_src/HelpersOperationBinaryBitand.c +1 -1
  202. nuitka/build/static_src/HelpersOperationBinaryBitor.c +1 -1
  203. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +1 -1
  204. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +1 -1
  205. nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +1 -1
  206. nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +1 -1
  207. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +1 -1
  208. nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +1 -1
  209. nuitka/build/static_src/HelpersOperationBinaryLshift.c +1 -1
  210. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -1
  211. nuitka/build/static_src/HelpersOperationBinaryMod.c +1 -1
  212. nuitka/build/static_src/HelpersOperationBinaryMult.c +1 -1
  213. nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +1 -1
  214. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +1 -1
  215. nuitka/build/static_src/HelpersOperationBinaryPow.c +1 -1
  216. nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +1 -1
  217. nuitka/build/static_src/HelpersOperationBinaryRshift.c +1 -1
  218. nuitka/build/static_src/HelpersOperationBinarySub.c +1 -1
  219. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +1 -1
  220. nuitka/build/static_src/HelpersOperationInplaceAdd.c +1 -1
  221. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -1
  222. nuitka/build/static_src/HelpersOperationInplaceBitand.c +1 -1
  223. nuitka/build/static_src/HelpersOperationInplaceBitor.c +1 -1
  224. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1 -1
  225. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +1 -1
  226. nuitka/build/static_src/HelpersOperationInplaceLshift.c +1 -1
  227. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -1
  228. nuitka/build/static_src/HelpersOperationInplaceMod.c +1 -1
  229. nuitka/build/static_src/HelpersOperationInplaceMult.c +1 -1
  230. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +1 -1
  231. nuitka/build/static_src/HelpersOperationInplacePow.c +1 -1
  232. nuitka/build/static_src/HelpersOperationInplaceRshift.c +1 -1
  233. nuitka/build/static_src/HelpersOperationInplaceSub.c +1 -1
  234. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +1 -1
  235. nuitka/build/static_src/HelpersProfiling.c +1 -1
  236. nuitka/build/static_src/HelpersPythonPgo.c +5 -2
  237. nuitka/build/static_src/HelpersRaising.c +1 -1
  238. nuitka/build/static_src/HelpersSafeStrings.c +1 -1
  239. nuitka/build/static_src/HelpersSequences.c +1 -1
  240. nuitka/build/static_src/HelpersSlices.c +1 -1
  241. nuitka/build/static_src/HelpersStrings.c +1 -1
  242. nuitka/build/static_src/HelpersTuples.c +1 -1
  243. nuitka/build/static_src/HelpersTypes.c +1 -1
  244. nuitka/build/static_src/InspectPatcher.c +2 -1
  245. nuitka/build/static_src/MainProgram.c +6 -6
  246. nuitka/build/static_src/MetaPathBasedLoader.c +2 -1
  247. nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +1 -1
  248. nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +1 -1
  249. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -4
  250. nuitka/build/static_src/OnefileBootstrap.c +3 -3
  251. nuitka/build/static_src/OnefileSplashScreen.cpp +1 -1
  252. nuitka/code_generation/AsyncgenCodes.py +5 -6
  253. nuitka/code_generation/AttributeCodes.py +1 -1
  254. nuitka/code_generation/BinaryOperationHelperDefinitions.py +1 -1
  255. nuitka/code_generation/BranchCodes.py +1 -1
  256. nuitka/code_generation/BuiltinCodes.py +15 -5
  257. nuitka/code_generation/CallCodes.py +1 -1
  258. nuitka/code_generation/ClassCodes.py +1 -1
  259. nuitka/code_generation/CodeGeneration.py +23 -17
  260. nuitka/code_generation/CodeHelperSelection.py +1 -1
  261. nuitka/code_generation/CodeHelpers.py +1 -1
  262. nuitka/code_generation/CodeObjectCodes.py +19 -2
  263. nuitka/code_generation/ComparisonCodes.py +1 -1
  264. nuitka/code_generation/ComparisonHelperDefinitions.py +1 -1
  265. nuitka/code_generation/ConditionalCodes.py +1 -1
  266. nuitka/code_generation/ConstantCodes.py +1 -1
  267. nuitka/code_generation/Contexts.py +52 -39
  268. nuitka/code_generation/CoroutineCodes.py +4 -5
  269. nuitka/code_generation/CtypesCodes.py +1 -1
  270. nuitka/code_generation/DictCodes.py +1 -1
  271. nuitka/code_generation/Emission.py +1 -1
  272. nuitka/code_generation/ErrorCodes.py +1 -1
  273. nuitka/code_generation/EvalCodes.py +1 -1
  274. nuitka/code_generation/ExceptionCodes.py +1 -1
  275. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +1 -1
  276. nuitka/code_generation/ExpressionCodes.py +1 -1
  277. nuitka/code_generation/FrameCodes.py +26 -17
  278. nuitka/code_generation/FunctionCodes.py +9 -15
  279. nuitka/code_generation/GeneratorCodes.py +9 -10
  280. nuitka/code_generation/GlobalConstants.py +6 -4
  281. nuitka/code_generation/GlobalsLocalsCodes.py +1 -1
  282. nuitka/code_generation/IdCodes.py +1 -1
  283. nuitka/code_generation/ImportCodes.py +1 -1
  284. nuitka/code_generation/Indentation.py +1 -1
  285. nuitka/code_generation/IndexCodes.py +1 -1
  286. nuitka/code_generation/InjectCCodes.py +1 -1
  287. nuitka/code_generation/IntegerCodes.py +1 -1
  288. nuitka/code_generation/IteratorCodes.py +1 -1
  289. nuitka/code_generation/JitCodes.py +1 -1
  290. nuitka/code_generation/LabelCodes.py +1 -1
  291. nuitka/code_generation/LineNumberCodes.py +1 -1
  292. nuitka/code_generation/ListCodes.py +1 -1
  293. nuitka/code_generation/LoaderCodes.py +1 -1
  294. nuitka/code_generation/LocalsDictCodes.py +1 -1
  295. nuitka/code_generation/LoopCodes.py +1 -1
  296. nuitka/code_generation/MatchCodes.py +1 -1
  297. nuitka/code_generation/ModuleCodes.py +31 -4
  298. nuitka/code_generation/Namify.py +4 -1
  299. nuitka/code_generation/NetworkxCodes.py +1 -1
  300. nuitka/code_generation/OperationCodes.py +1 -1
  301. nuitka/code_generation/PackageResourceCodes.py +4 -10
  302. nuitka/code_generation/PrintCodes.py +1 -1
  303. nuitka/code_generation/PythonAPICodes.py +1 -1
  304. nuitka/code_generation/RaisingCodes.py +1 -1
  305. nuitka/code_generation/Reports.py +1 -1
  306. nuitka/code_generation/ReturnCodes.py +1 -1
  307. nuitka/code_generation/SetCodes.py +1 -1
  308. nuitka/code_generation/SliceCodes.py +1 -1
  309. nuitka/code_generation/StringCodes.py +1 -1
  310. nuitka/code_generation/SubscriptCodes.py +1 -1
  311. nuitka/code_generation/TensorflowCodes.py +1 -1
  312. nuitka/code_generation/TryCodes.py +1 -1
  313. nuitka/code_generation/TupleCodes.py +1 -1
  314. nuitka/code_generation/TypeAliasCodes.py +1 -1
  315. nuitka/code_generation/VariableCodes.py +1 -1
  316. nuitka/code_generation/VariableDeclarations.py +1 -1
  317. nuitka/code_generation/YieldCodes.py +1 -1
  318. nuitka/code_generation/__init__.py +1 -1
  319. nuitka/code_generation/c_types/CTypeBases.py +1 -1
  320. nuitka/code_generation/c_types/CTypeBooleans.py +1 -1
  321. nuitka/code_generation/c_types/CTypeCFloats.py +1 -1
  322. nuitka/code_generation/c_types/CTypeCLongs.py +1 -1
  323. nuitka/code_generation/c_types/CTypeModuleDictVariables.py +1 -1
  324. nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +1 -1
  325. nuitka/code_generation/c_types/CTypeNuitkaInts.py +1 -1
  326. nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
  327. nuitka/code_generation/c_types/CTypePyObjectPointers.py +1 -1
  328. nuitka/code_generation/c_types/CTypeVoids.py +1 -1
  329. nuitka/code_generation/c_types/__init__.py +1 -1
  330. nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +1 -1
  331. nuitka/code_generation/templates/CodeTemplatesConstants.py +2 -2
  332. nuitka/code_generation/templates/CodeTemplatesCoroutines.py +1 -1
  333. nuitka/code_generation/templates/CodeTemplatesExceptions.py +1 -1
  334. nuitka/code_generation/templates/CodeTemplatesFrames.py +21 -25
  335. nuitka/code_generation/templates/CodeTemplatesFunction.py +1 -1
  336. nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +3 -3
  337. nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -1
  338. nuitka/code_generation/templates/CodeTemplatesLoader.py +26 -3
  339. nuitka/code_generation/templates/CodeTemplatesModules.py +21 -8
  340. nuitka/code_generation/templates/CodeTemplatesVariables.py +1 -1
  341. nuitka/code_generation/templates/TemplateDebugWrapper.py +1 -1
  342. nuitka/code_generation/templates/__init__.py +1 -1
  343. nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +1 -1
  344. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +1 -1
  345. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +1 -1
  346. nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +21 -1
  347. nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +1 -1
  348. nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +1 -1
  349. nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +1 -1
  350. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +1 -1
  351. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -1
  352. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
  353. nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +1 -1
  354. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +1 -1
  355. nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +1 -1
  356. nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +1 -1
  357. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +1 -1
  358. nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +1 -1
  359. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
  360. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
  361. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +1 -1
  362. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +1 -1
  363. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +1 -1
  364. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +1 -1
  365. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +1 -1
  366. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
  367. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
  368. nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +1 -1
  369. nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +1 -1
  370. nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +1 -1
  371. nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +1 -1
  372. nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +1 -1
  373. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
  374. nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +1 -1
  375. nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +1 -1
  376. nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +1 -1
  377. nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +1 -1
  378. nuitka/containers/Namedtuples.py +1 -1
  379. nuitka/containers/OrderedSetsFallback.py +1 -1
  380. nuitka/containers/__init__.py +1 -1
  381. nuitka/distutils/Build.py +1 -1
  382. nuitka/distutils/DistutilCommands.py +2 -2
  383. nuitka/distutils/__init__.py +1 -1
  384. nuitka/finalizations/Finalization.py +1 -1
  385. nuitka/finalizations/FinalizeMarkups.py +1 -1
  386. nuitka/finalizations/__init__.py +1 -1
  387. nuitka/freezer/DependsExe.py +2 -1
  388. nuitka/freezer/DllDependenciesCommon.py +1 -1
  389. nuitka/freezer/DllDependenciesMacOS.py +1 -1
  390. nuitka/freezer/DllDependenciesPosix.py +1 -1
  391. nuitka/freezer/DllDependenciesWin32.py +111 -25
  392. nuitka/freezer/ImportDetection.py +1 -1
  393. nuitka/freezer/IncludedDataFiles.py +1 -1
  394. nuitka/freezer/IncludedEntryPoints.py +1 -1
  395. nuitka/freezer/Onefile.py +13 -15
  396. nuitka/freezer/Standalone.py +6 -3
  397. nuitka/freezer/__init__.py +1 -1
  398. nuitka/importing/IgnoreListing.py +1 -1
  399. nuitka/importing/ImportCache.py +1 -1
  400. nuitka/importing/ImportResolving.py +1 -1
  401. nuitka/importing/Importing.py +4 -3
  402. nuitka/importing/PreloadedPackages.py +1 -1
  403. nuitka/importing/Recursion.py +37 -12
  404. nuitka/importing/StandardLibrary.py +1 -1
  405. nuitka/importing/__init__.py +1 -1
  406. nuitka/nodes/AsyncgenNodes.py +1 -1
  407. nuitka/nodes/AttributeLookupNodes.py +1 -1
  408. nuitka/nodes/AttributeNodes.py +1 -1
  409. nuitka/nodes/AttributeNodesGenerated.py +1 -1
  410. nuitka/nodes/BuiltinAllNodes.py +1 -1
  411. nuitka/nodes/BuiltinAnyNodes.py +1 -1
  412. nuitka/nodes/BuiltinComplexNodes.py +1 -1
  413. nuitka/nodes/BuiltinDecodingNodes.py +1 -1
  414. nuitka/nodes/BuiltinDecoratorNodes.py +1 -1
  415. nuitka/nodes/BuiltinDictNodes.py +1 -1
  416. nuitka/nodes/BuiltinFormatNodes.py +1 -1
  417. nuitka/nodes/BuiltinHashNodes.py +1 -1
  418. nuitka/nodes/BuiltinInputNodes.py +1 -1
  419. nuitka/nodes/BuiltinIntegerNodes.py +1 -1
  420. nuitka/nodes/BuiltinIteratorNodes.py +1 -1
  421. nuitka/nodes/BuiltinLenNodes.py +1 -1
  422. nuitka/nodes/BuiltinNextNodes.py +1 -1
  423. nuitka/nodes/BuiltinOpenNodes.py +1 -1
  424. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +1 -1
  425. nuitka/nodes/BuiltinRangeNodes.py +1 -1
  426. nuitka/nodes/BuiltinRefNodes.py +1 -1
  427. nuitka/nodes/BuiltinSumNodes.py +1 -1
  428. nuitka/nodes/BuiltinTypeNodes.py +1 -1
  429. nuitka/nodes/BuiltinVarsNodes.py +1 -1
  430. nuitka/nodes/BytesNodes.py +1 -1
  431. nuitka/nodes/CallNodes.py +1 -1
  432. nuitka/nodes/Checkers.py +1 -1
  433. nuitka/nodes/ChildrenHavingMixins.py +227 -3
  434. nuitka/nodes/ClassNodes.py +1 -1
  435. nuitka/nodes/CodeObjectSpecs.py +4 -4
  436. nuitka/nodes/ComparisonNodes.py +1 -1
  437. nuitka/nodes/ConditionalNodes.py +1 -1
  438. nuitka/nodes/ConstantRefNodes.py +1 -1
  439. nuitka/nodes/ContainerMakingNodes.py +1 -1
  440. nuitka/nodes/ContainerOperationNodes.py +1 -1
  441. nuitka/nodes/CoroutineNodes.py +1 -1
  442. nuitka/nodes/CtypesNodes.py +1 -1
  443. nuitka/nodes/DictionaryNodes.py +1 -1
  444. nuitka/nodes/ExceptionNodes.py +1 -1
  445. nuitka/nodes/ExecEvalNodes.py +1 -1
  446. nuitka/nodes/ExpressionBases.py +1 -1
  447. nuitka/nodes/ExpressionBasesGenerated.py +1 -1
  448. nuitka/nodes/ExpressionShapeMixins.py +1 -1
  449. nuitka/nodes/FrameNodes.py +19 -7
  450. nuitka/nodes/FunctionAttributeNodes.py +1 -1
  451. nuitka/nodes/FunctionNodes.py +1 -1
  452. nuitka/nodes/FutureSpecs.py +34 -2
  453. nuitka/nodes/GeneratorNodes.py +1 -1
  454. nuitka/nodes/GlobalsLocalsNodes.py +1 -1
  455. nuitka/nodes/HardImportNodesGenerated.py +140 -56
  456. nuitka/nodes/ImportHardNodes.py +1 -1
  457. nuitka/nodes/ImportNodes.py +1 -1
  458. nuitka/nodes/IndicatorMixins.py +1 -1
  459. nuitka/nodes/InjectCNodes.py +1 -1
  460. nuitka/nodes/IterationHandles.py +1 -1
  461. nuitka/nodes/KeyValuePairNodes.py +1 -1
  462. nuitka/nodes/ListOperationNodes.py +1 -1
  463. nuitka/nodes/LocalsDictNodes.py +1 -1
  464. nuitka/nodes/LocalsScopes.py +1 -1
  465. nuitka/nodes/LoopNodes.py +1 -1
  466. nuitka/nodes/MatchNodes.py +1 -1
  467. nuitka/nodes/ModuleAttributeNodes.py +1 -1
  468. nuitka/nodes/ModuleNodes.py +2 -2
  469. nuitka/nodes/NetworkxNodes.py +1 -1
  470. nuitka/nodes/NodeBases.py +1 -1
  471. nuitka/nodes/NodeMakingHelpers.py +1 -1
  472. nuitka/nodes/NodeMetaClasses.py +1 -1
  473. nuitka/nodes/OperatorNodes.py +1 -1
  474. nuitka/nodes/OperatorNodesUnary.py +1 -1
  475. nuitka/nodes/OsSysNodes.py +1 -1
  476. nuitka/nodes/OutlineNodes.py +1 -1
  477. nuitka/nodes/PackageMetadataNodes.py +1 -1
  478. nuitka/nodes/PackageResourceNodes.py +42 -7
  479. nuitka/nodes/PrintNodes.py +1 -1
  480. nuitka/nodes/ReturnNodes.py +1 -1
  481. nuitka/nodes/SideEffectNodes.py +1 -1
  482. nuitka/nodes/SliceNodes.py +1 -1
  483. nuitka/nodes/StatementBasesGenerated.py +1 -1
  484. nuitka/nodes/StatementNodes.py +1 -1
  485. nuitka/nodes/StrNodes.py +1 -1
  486. nuitka/nodes/StringConcatenationNodes.py +1 -1
  487. nuitka/nodes/SubscriptNodes.py +1 -1
  488. nuitka/nodes/TensorflowNodes.py +1 -1
  489. nuitka/nodes/TryNodes.py +1 -1
  490. nuitka/nodes/TypeMatchNodes.py +1 -1
  491. nuitka/nodes/TypeNodes.py +1 -1
  492. nuitka/nodes/VariableAssignNodes.py +1 -1
  493. nuitka/nodes/VariableDelNodes.py +1 -1
  494. nuitka/nodes/VariableNameNodes.py +1 -1
  495. nuitka/nodes/VariableRefNodes.py +1 -1
  496. nuitka/nodes/VariableReleaseNodes.py +1 -1
  497. nuitka/nodes/YieldNodes.py +1 -1
  498. nuitka/nodes/__init__.py +1 -1
  499. nuitka/nodes/shapes/BuiltinTypeShapes.py +1 -1
  500. nuitka/nodes/shapes/ControlFlowDescriptions.py +1 -1
  501. nuitka/nodes/shapes/IteratorShapes.py +1 -1
  502. nuitka/nodes/shapes/ShapeMixins.py +1 -1
  503. nuitka/nodes/shapes/StandardShapes.py +1 -1
  504. nuitka/nodes/shapes/__init__.py +1 -1
  505. nuitka/optimizations/BytecodeDemotion.py +1 -1
  506. nuitka/optimizations/FunctionInlining.py +1 -1
  507. nuitka/optimizations/Graphs.py +1 -1
  508. nuitka/optimizations/Optimization.py +1 -1
  509. nuitka/optimizations/OptimizeBuiltinCalls.py +1 -1
  510. nuitka/optimizations/Tags.py +1 -1
  511. nuitka/optimizations/TraceCollections.py +1 -1
  512. nuitka/optimizations/ValueTraces.py +1 -1
  513. nuitka/optimizations/__init__.py +1 -1
  514. nuitka/pgo/PGO.py +1 -1
  515. nuitka/pgo/__init__.py +1 -1
  516. nuitka/plugins/PluginBase.py +24 -3
  517. nuitka/plugins/Plugins.py +57 -14
  518. nuitka/plugins/YamlPluginBase.py +1 -1
  519. nuitka/plugins/__init__.py +1 -1
  520. nuitka/plugins/standard/AntiBloatPlugin.py +2 -1
  521. nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +2 -1
  522. nuitka/plugins/standard/DataFilesPlugin.py +2 -2
  523. nuitka/plugins/standard/DelvewheelPlugin.py +2 -1
  524. nuitka/plugins/standard/DillPlugin/DillPlugin.c +1 -1
  525. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +1 -1
  526. nuitka/plugins/standard/DillPlugin.py +2 -2
  527. nuitka/plugins/standard/DllFilesPlugin.py +2 -12
  528. nuitka/plugins/standard/EnumPlugin.py +2 -2
  529. nuitka/plugins/standard/EventletPlugin.py +2 -1
  530. nuitka/plugins/standard/GeventPlugin.py +2 -1
  531. nuitka/plugins/standard/GiPlugin.py +2 -1
  532. nuitka/plugins/standard/GlfwPlugin.py +2 -1
  533. nuitka/plugins/standard/ImplicitImports.py +4 -4
  534. nuitka/plugins/standard/KivyPlugin.py +2 -1
  535. nuitka/plugins/standard/MatplotlibPlugin.py +2 -1
  536. nuitka/plugins/standard/MultiprocessingPlugin.py +2 -1
  537. nuitka/plugins/standard/NumpyPlugin.py +2 -1
  538. nuitka/plugins/standard/OptionsNannyPlugin.py +2 -2
  539. nuitka/plugins/standard/PbrPlugin.py +2 -2
  540. nuitka/plugins/standard/PkgResourcesPlugin.py +2 -1
  541. nuitka/plugins/standard/PlaywrightPlugin.py +10 -15
  542. nuitka/plugins/standard/PmwPlugin.py +2 -1
  543. nuitka/plugins/standard/PySidePyQtPlugin.py +12 -15
  544. nuitka/plugins/standard/PywebViewPlugin.py +2 -1
  545. nuitka/plugins/standard/SpacyPlugin.py +2 -1
  546. nuitka/plugins/standard/TensorflowPlugin.py +2 -1
  547. nuitka/plugins/standard/TkinterPlugin.py +15 -2
  548. nuitka/plugins/standard/TorchPlugin.py +2 -1
  549. nuitka/plugins/standard/TransformersPlugin.py +2 -2
  550. nuitka/plugins/standard/TrioPlugin.py +2 -1
  551. nuitka/plugins/standard/UpxPlugin.py +2 -1
  552. nuitka/plugins/standard/__init__.py +1 -1
  553. nuitka/plugins/standard/standard.nuitka-package.config.yml +108 -38
  554. nuitka/reports/CompilationReportReader.py +5 -1
  555. nuitka/reports/LicenseReport.rst.j2 +1 -1
  556. nuitka/reports/Reports.py +5 -1
  557. nuitka/reports/__init__.py +1 -1
  558. nuitka/specs/BuiltinBytesOperationSpecs.py +1 -1
  559. nuitka/specs/BuiltinDictOperationSpecs.py +1 -1
  560. nuitka/specs/BuiltinListOperationSpecs.py +1 -1
  561. nuitka/specs/BuiltinParameterSpecs.py +1 -1
  562. nuitka/specs/BuiltinStrOperationSpecs.py +1 -1
  563. nuitka/specs/BuiltinTypeOperationSpecs.py +1 -1
  564. nuitka/specs/BuiltinUnicodeOperationSpecs.py +1 -1
  565. nuitka/specs/HardImportSpecs.py +10 -2
  566. nuitka/specs/ParameterSpecs.py +17 -2
  567. nuitka/specs/__init__.py +1 -1
  568. nuitka/tools/Basics.py +1 -1
  569. nuitka/tools/__init__.py +1 -1
  570. nuitka/tools/commercial/__init__.py +1 -1
  571. nuitka/tools/data_composer/DataComposer.py +125 -1
  572. nuitka/tools/data_composer/__init__.py +1 -1
  573. nuitka/tools/data_composer/__main__.py +1 -1
  574. nuitka/tools/environments/CreateEnvironment.py +1 -1
  575. nuitka/tools/environments/Virtualenv.py +1 -1
  576. nuitka/tools/environments/__init__.py +1 -1
  577. nuitka/tools/general/__init__.py +1 -1
  578. nuitka/tools/general/dll_report/__init__.py +1 -1
  579. nuitka/tools/general/dll_report/__main__.py +1 -1
  580. nuitka/tools/general/find_module/FindModuleCode.py +2 -2
  581. nuitka/tools/general/find_module/__init__.py +1 -1
  582. nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
  583. nuitka/tools/general/generate_header/__init__.py +19 -0
  584. nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
  585. nuitka/tools/onefile_compressor/__init__.py +1 -1
  586. nuitka/tools/onefile_compressor/__main__.py +1 -1
  587. nuitka/tools/podman/Podman.py +1 -1
  588. nuitka/tools/podman/__init__.py +1 -1
  589. nuitka/tools/podman/__main__.py +4 -2
  590. nuitka/tools/profiler/__init__.py +1 -1
  591. nuitka/tools/profiler/__main__.py +1 -1
  592. nuitka/tools/scanning/DisplayPackageDLLs.py +43 -20
  593. nuitka/tools/scanning/DisplayPackageData.py +1 -1
  594. nuitka/tools/scanning/__init__.py +1 -1
  595. nuitka/tools/specialize/CTypeDescriptions.py +1 -1
  596. nuitka/tools/specialize/Common.py +1 -1
  597. nuitka/tools/specialize/SpecializeC.py +1 -1
  598. nuitka/tools/specialize/SpecializePython.py +7 -3
  599. nuitka/tools/specialize/__init__.py +1 -1
  600. nuitka/tools/testing/Common.py +140 -19
  601. nuitka/tools/testing/Constructs.py +1 -1
  602. nuitka/tools/testing/OutputComparison.py +5 -4
  603. nuitka/tools/testing/Pythons.py +1 -1
  604. nuitka/tools/testing/RuntimeTracing.py +1 -1
  605. nuitka/tools/testing/SearchModes.py +1 -1
  606. nuitka/tools/testing/Valgrind.py +1 -1
  607. nuitka/tools/testing/__init__.py +1 -1
  608. nuitka/tools/testing/check_reference_counts/__init__.py +1 -1
  609. nuitka/tools/testing/check_reference_counts/__main__.py +6 -2
  610. nuitka/tools/testing/compare_with_cpython/__init__.py +1 -1
  611. nuitka/tools/testing/compare_with_cpython/__main__.py +51 -14
  612. nuitka/tools/testing/find_sxs_modules/__init__.py +1 -1
  613. nuitka/tools/testing/find_sxs_modules/__main__.py +1 -1
  614. nuitka/tools/testing/measure_construct_performance/__init__.py +1 -1
  615. nuitka/tools/testing/measure_construct_performance/__main__.py +1 -1
  616. nuitka/tools/testing/run_nuitka_tests/__init__.py +1 -1
  617. nuitka/tools/testing/run_nuitka_tests/__main__.py +1 -1
  618. nuitka/tools/watch/AutoStage.py +1 -1
  619. nuitka/tools/watch/Common.py +55 -0
  620. nuitka/tools/watch/Conda.py +125 -0
  621. nuitka/tools/watch/GitHub.py +1 -1
  622. nuitka/tools/watch/Pacman.py +73 -0
  623. nuitka/tools/watch/Pipenv.py +143 -0
  624. nuitka/tools/watch/__init__.py +1 -1
  625. nuitka/tools/watch/__main__.py +117 -264
  626. nuitka/tree/Building.py +1 -1
  627. nuitka/tree/ComplexCallHelperFunctions.py +1 -1
  628. nuitka/tree/Extractions.py +1 -1
  629. nuitka/tree/InternalModule.py +1 -1
  630. nuitka/tree/Operations.py +1 -1
  631. nuitka/tree/ReformulationAssertStatements.py +1 -1
  632. nuitka/tree/ReformulationAssignmentStatements.py +1 -1
  633. nuitka/tree/ReformulationBooleanExpressions.py +1 -1
  634. nuitka/tree/ReformulationCallExpressions.py +1 -1
  635. nuitka/tree/ReformulationClasses.py +1 -1
  636. nuitka/tree/ReformulationClasses3.py +1 -1
  637. nuitka/tree/ReformulationComparisonExpressions.py +1 -1
  638. nuitka/tree/ReformulationContractionExpressions.py +3 -1
  639. nuitka/tree/ReformulationDictionaryCreation.py +1 -1
  640. nuitka/tree/ReformulationExecStatements.py +1 -1
  641. nuitka/tree/ReformulationForLoopStatements.py +1 -1
  642. nuitka/tree/ReformulationFunctionStatements.py +1 -1
  643. nuitka/tree/ReformulationImportStatements.py +1 -1
  644. nuitka/tree/ReformulationLambdaExpressions.py +2 -1
  645. nuitka/tree/ReformulationMatchStatements.py +1 -1
  646. nuitka/tree/ReformulationMultidist.py +1 -1
  647. nuitka/tree/ReformulationNamespacePackages.py +1 -1
  648. nuitka/tree/ReformulationPrintStatements.py +1 -1
  649. nuitka/tree/ReformulationSequenceCreation.py +1 -1
  650. nuitka/tree/ReformulationSubscriptExpressions.py +1 -1
  651. nuitka/tree/ReformulationTryExceptStatements.py +1 -1
  652. nuitka/tree/ReformulationTryFinallyStatements.py +1 -1
  653. nuitka/tree/ReformulationWhileLoopStatements.py +1 -1
  654. nuitka/tree/ReformulationWithStatements.py +1 -1
  655. nuitka/tree/ReformulationYieldExpressions.py +1 -1
  656. nuitka/tree/SourceHandling.py +1 -1
  657. nuitka/tree/SyntaxErrors.py +1 -1
  658. nuitka/tree/TreeHelpers.py +24 -10
  659. nuitka/tree/VariableClosure.py +1 -1
  660. nuitka/tree/__init__.py +1 -1
  661. nuitka/utils/AppDirs.py +5 -2
  662. nuitka/utils/CStrings.py +1 -1
  663. nuitka/utils/CommandLineOptions.py +2 -2
  664. nuitka/utils/Distributions.py +177 -15
  665. nuitka/utils/Download.py +14 -6
  666. nuitka/utils/Execution.py +43 -14
  667. nuitka/utils/FileOperations.py +25 -4
  668. nuitka/utils/Hashing.py +1 -1
  669. nuitka/utils/Images.py +8 -2
  670. nuitka/utils/Importing.py +1 -1
  671. nuitka/utils/InlineCopies.py +1 -1
  672. nuitka/utils/InstalledPythons.py +1 -1
  673. nuitka/utils/InstanceCounters.py +1 -1
  674. nuitka/utils/Jinja2.py +1 -1
  675. nuitka/utils/Json.py +2 -2
  676. nuitka/utils/MacOSApp.py +4 -3
  677. nuitka/utils/MemoryUsage.py +1 -1
  678. nuitka/utils/ModuleNames.py +1 -1
  679. nuitka/utils/PackageResources.py +1 -1
  680. nuitka/utils/ReExecute.py +1 -1
  681. nuitka/utils/Rest.py +1 -1
  682. nuitka/utils/SharedLibraries.py +52 -7
  683. nuitka/utils/Shebang.py +1 -1
  684. nuitka/utils/Signing.py +2 -4
  685. nuitka/utils/SlotMetaClasses.py +1 -1
  686. nuitka/utils/StaticLibraries.py +25 -1
  687. nuitka/utils/ThreadedExecutor.py +1 -1
  688. nuitka/utils/Timing.py +1 -1
  689. nuitka/utils/Utils.py +1 -1
  690. nuitka/utils/WindowsFileUsage.py +1 -1
  691. nuitka/utils/WindowsResources.py +3 -1
  692. nuitka/utils/Yaml.py +1 -1
  693. nuitka/utils/__init__.py +1 -1
  694. Nuitka_winsvc-2.5.6.dist-info/RECORD +0 -978
  695. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.dist-info}/LICENSE.txt +0 -0
  696. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.dist-info}/entry_points.txt +0 -0
  697. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Integer related codes, long and int.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Iteration related codes.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for JIT specific stuff, preserving source code for runtime. """
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ C labels, small helpers.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Generate code that updates the source code line.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for lists.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code to generate and interact with module loaders.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for locals dict handling.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Loop codes.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for match statement helpers.
@@ -1,13 +1,16 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code to generate and interact with compiled module objects.
5
5
 
6
6
  """
7
7
 
8
+ import os
9
+
8
10
  from nuitka import Options
9
11
  from nuitka.__past__ import iterItems
10
12
  from nuitka.code_generation import Emission
13
+ from nuitka.PythonVersions import python_version
11
14
  from nuitka.utils.CStrings import encodePythonStringToC
12
15
  from nuitka.Version import getNuitkaVersion, getNuitkaVersionYear
13
16
 
@@ -42,7 +45,7 @@ def getModuleCode(
42
45
  module, function_decl_codes, function_body_codes, module_const_blob_name, context
43
46
  ):
44
47
  # For the module code, lots of arguments and attributes come together.
45
- # pylint: disable=too-many-locals
48
+ # pylint: disable=too-many-branches,too-many-locals,too-many-statements
46
49
 
47
50
  # Temporary variable initializations
48
51
  # TODO: Move that to a place outside of functions.
@@ -116,6 +119,24 @@ def getModuleCode(
116
119
  module_code_objects_decl = getCodeObjectsDeclCode(context)
117
120
  module_code_objects_init = getCodeObjectsInitCode(context)
118
121
 
122
+ module_init_codes = context.getModuleInitCodes()
123
+
124
+ if Options.isExperimental("new-code-objects"):
125
+ # Create the always identical, but dynamic filename first thing.
126
+ module_filename = module.getRunTimeFilename()
127
+
128
+ # We do not care about release of this object, as code object live
129
+ # forever anyway.
130
+ if Options.getFileReferenceMode() == "frozen" or os.path.isabs(module_filename):
131
+ module_filename_obj_code = context.getConstantCode(constant=module_filename)
132
+ else:
133
+ module_filename_obj_code = (
134
+ "MAKE_RELATIVE_PATH(%s);"
135
+ % context.getConstantCode(constant=module_filename)
136
+ )
137
+
138
+ module_init_codes.append("module_filename_obj = %s;" % module_filename_obj_code)
139
+
119
140
  is_dunder_main = module.isMainModule()
120
141
 
121
142
  dunder_main_package = context.getConstantCode(
@@ -129,7 +150,13 @@ def getModuleCode(
129
150
  try:
130
151
  module_dll_entry_point = module_name.encode("ascii")
131
152
  module_dll_entry_point_prefix = "PyInit_"
132
- module_def_size = -1
153
+
154
+ # Where possible, we default to 2-phase loading, the -1 means the
155
+ # old single phase loading.
156
+ if python_version >= 0x350:
157
+ module_def_size = 0
158
+ else:
159
+ module_def_size = -1
133
160
  except UnicodeEncodeError:
134
161
  module_dll_entry_point = module_name.encode("punycode")
135
162
  module_dll_entry_point_prefix = "PyInitU_"
@@ -172,7 +199,7 @@ def getModuleCode(
172
199
  "temps_decl": indented(local_var_inits),
173
200
  "module_variable_accessors": indented(module_variable_accessor_codes, 0),
174
201
  "module_variable_accessors_count": len(module_variable_accessor_codes),
175
- "module_init_codes": indented(context.getModuleInitCodes()),
202
+ "module_init_codes": indented(module_init_codes),
176
203
  "module_codes": indented(module_codes.codes),
177
204
  "module_exit": module_exit,
178
205
  "module_code_objects_decl": indented(module_code_objects_decl, 0),
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Namify constants.
@@ -16,6 +16,7 @@ from types import BuiltinFunctionType
16
16
 
17
17
  from nuitka.__past__ import GenericAlias, UnionType, long, md5, unicode, xrange
18
18
  from nuitka.Builtins import builtin_anon_values, builtin_named_values_list
19
+ from nuitka.nodes.CodeObjectSpecs import CodeObjectSpec
19
20
  from nuitka.Tracing import general
20
21
 
21
22
 
@@ -162,6 +163,8 @@ def namifyConstant(constant):
162
163
  return "builtin_%s" % constant.__name__
163
164
  elif constant is NotImplemented:
164
165
  return "type_notimplemented"
166
+ elif constant_type is CodeObjectSpec:
167
+ return "codeobj_" + constant.getHash()
165
168
  elif constant_type is GenericAlias:
166
169
  return "genalias_%s_%s" % (
167
170
  namifyConstant(constant.__origin__),
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for networkx module specific stuff. """
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Codes for operations.
@@ -1,10 +1,11 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """Code generation for package resources access."""
5
5
 
6
6
  from nuitka.Options import shallMakeModule
7
7
 
8
+ from .BuiltinCodes import getBuiltinCallViaSpecCode
8
9
  from .CallCodes import (
9
10
  getCallCodeKwPairs,
10
11
  getCallCodeKwSplit,
@@ -694,13 +695,6 @@ def generateImportlibResourcesReadBinaryCallCode(to_name, expression, emit, cont
694
695
 
695
696
 
696
697
  def generateImportlibResourcesReadTextCallCode(to_name, expression, emit, context):
697
- (
698
- package_name,
699
- resource_name,
700
- encoding_name,
701
- errors_name,
702
- ) = generateChildExpressionsCode(expression=expression, emit=emit, context=context)
703
-
704
698
  with withObjectCodeTemporaryAssignment(
705
699
  to_name, "read_text_value", expression, emit, context
706
700
  ) as result_name:
@@ -715,11 +709,11 @@ def generateImportlibResourcesReadTextCallCode(to_name, expression, emit, contex
715
709
  context=context,
716
710
  )
717
711
 
718
- getCallCodePosArgsQuick(
712
+ getBuiltinCallViaSpecCode(
713
+ spec=expression.spec,
719
714
  to_name=result_name,
720
715
  called_name=read_text_function,
721
716
  expression=expression,
722
- arg_names=(package_name, resource_name, encoding_name, errors_name),
723
717
  emit=emit,
724
718
  context=context,
725
719
  )
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Print related codes.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for standard CPython/API calls.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for implicit and explicit exception raises.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Reports about code generation.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Return codes
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for sets.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for slicing.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ String related codes, str and unicode.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Subscript related code generation.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for tensorflow module specific stuff. """
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Try statement and related code generation.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Tuple codes
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code generation for type alias statement helpers.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Low level variable code generation.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Variable declarations
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Yield related codes.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Dummy file to make this directory a package. """
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Base class for all C types.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for C bool, this cannot represent unassigned, nor indicate exception.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for C "float" (double), (used in conjunction with PyFloatObject *)
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for C "long", and C "digit" (used in conjunction with PyLongObject *)
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Pseudo CType for module variables, object values contained in a dictionary.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for nuitka_bool, an enum to represent True, False, unassigned.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for nuitka_ilong, a struct to represent long values.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType enum class for void, a special value to represent discarding stuff.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for PyObject *, PyObject **, and struct Nuitka_CellObject *
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ CType classes for C void, this cannot represent unassigned, nor indicate exception.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Dummy file to make this directory a package. """
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Async generator (await/async + yield) related templates.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Templates for the constants handling.
@@ -8,7 +8,7 @@ spell-checker: ignore structseq
8
8
 
9
9
  template_constants_reading = r"""
10
10
  #include "nuitka/prelude.h"
11
- #include "structseq.h"
11
+ #include <structseq.h>
12
12
 
13
13
  #include "build_definitions.h"
14
14
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Coroutines function (await/async) related templates.
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Templates for handling exceptions.
@@ -1,11 +1,11 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Code templates for frames of all kinds.
5
5
 
6
6
  """
7
7
 
8
- # This uses STORE_ASYNCGEN_EXCEPTION
8
+ # This uses STORE_GENERATOR_EXCEPTION,STORE_COROUTINE_EXCEPTION,STORE_ASYNCGEN_EXCEPTION
9
9
 
10
10
  template_frame_guard_normal_main_block = """\
11
11
  {% if frame_cache_identifier %}
@@ -176,47 +176,43 @@ goto %(return_exit)s;
176
176
 
177
177
 
178
178
  template_frame_guard_generator_exception_handler = """\
179
- %(frame_exception_exit)s:;
179
+ {{frame_exception_exit}}:;
180
180
 
181
181
  // If it's not an exit exception, consider and create a traceback for it.
182
- if (!EXCEPTION_STATE_MATCH_GENERATOR(tstate, &%(exception_state_name)s)) {
183
- PyTracebackObject *exception_tb = GET_EXCEPTION_STATE_TRACEBACK(&%(exception_state_name)s);
182
+ if (!EXCEPTION_STATE_MATCH_GENERATOR(tstate, &{{exception_state_name}})) {
183
+ PyTracebackObject *exception_tb = GET_EXCEPTION_STATE_TRACEBACK(&{{exception_state_name}});
184
184
  if (exception_tb == NULL) {
185
- exception_tb = %(tb_making)s;
186
- SET_EXCEPTION_STATE_TRACEBACK(&%(exception_state_name)s, exception_tb);
187
- } else if ((%(exception_lineno)s != 0) && (exception_tb->tb_frame != &%(frame_identifier)s->m_frame)) {
188
- exception_tb = ADD_TRACEBACK(exception_tb, %(frame_identifier)s, %(exception_lineno)s);
189
- SET_EXCEPTION_STATE_TRACEBACK(&%(exception_state_name)s, exception_tb);
185
+ exception_tb = {{tb_making}};
186
+ SET_EXCEPTION_STATE_TRACEBACK(&{{exception_state_name}}, exception_tb);
187
+ } else if (({{exception_lineno}} != 0) && (exception_tb->tb_frame != &{{frame_identifier}}->m_frame)) {
188
+ exception_tb = ADD_TRACEBACK(exception_tb, {{frame_identifier}}, {{exception_lineno}});
189
+ SET_EXCEPTION_STATE_TRACEBACK(&{{exception_state_name}}, exception_tb);
190
190
  }
191
191
 
192
- %(attach_locals)s
192
+ {{attach_locals}}
193
193
 
194
194
  // Release cached frame if used for exception.
195
- if (%(frame_identifier)s == %(frame_cache_identifier)s) {
195
+ if ({{frame_identifier}} == {{frame_cache_identifier}}) {
196
196
  #if _DEBUG_REFCOUNTS
197
197
  count_active_frame_cache_instances -= 1;
198
198
  count_released_frame_cache_instances += 1;
199
199
  #endif
200
200
 
201
- Py_DECREF(%(frame_cache_identifier)s);
202
- %(frame_cache_identifier)s = NULL;
201
+ Py_DECREF({{frame_cache_identifier}});
202
+ {{frame_cache_identifier}} = NULL;
203
203
  }
204
204
 
205
- assertFrameObject(%(frame_identifier)s);
205
+ assertFrameObject({{frame_identifier}});
206
206
  }
207
207
 
208
- #if PYTHON_VERSION >= 0x300
209
- #if PYTHON_VERSION < 0x3b0
210
- Py_CLEAR(EXC_TYPE_F(%(context_identifier)s));
211
- #endif
212
- Py_CLEAR(EXC_VALUE_F(%(context_identifier)s));
213
- #if PYTHON_VERSION < 0x3b0
214
- Py_CLEAR(EXC_TRACEBACK_F(%(context_identifier)s));
215
- #endif
216
- #endif
208
+ {% if is_python3 %}
209
+ // Release exception attached to the frame
210
+ DROP_{{context_identifier.upper()}}_EXCEPTION({{context_identifier}});
211
+
212
+ {% endif %}
217
213
 
218
214
  // Return the error.
219
- goto %(parent_exception_exit)s;
215
+ goto {{parent_exception_exit}};
220
216
  """
221
217
 
222
218
  from . import TemplateDebugWrapper # isort:skip
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Normal function (no generator, not yielding) related templates.
@@ -1,15 +1,15 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Generator function (with yield) related templates.
5
5
 
6
6
  """
7
7
 
8
- template_genfunc_yielder_maker_decl = """\
8
+ template_generator_context_maker_decl = """\
9
9
  static PyObject *%(generator_maker_identifier)s(%(generator_creation_args)s);
10
10
  """
11
11
 
12
- template_genfunc_yielder_body_template = """
12
+ template_generator_context_body_template = """
13
13
  #if %(has_heap_declaration)s
14
14
  struct %(function_identifier)s_locals {
15
15
  %(function_local_types)s
@@ -1,4 +1,4 @@
1
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
1
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
2
 
3
3
 
4
4
  """ Templates for the iterator handling.