Nuitka-winsvc 2.5.6__cp311-cp311-win_amd64.whl → 2.6.5__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 (701) hide show
  1. {Nuitka_winsvc-2.5.6.data → Nuitka_winsvc-2.6.5.data}/scripts/nuitka-run.cmd +1 -1
  2. {Nuitka_winsvc-2.5.6.data → Nuitka_winsvc-2.6.5.data}/scripts/nuitka.cmd +1 -1
  3. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/METADATA +36 -24
  4. Nuitka_winsvc-2.6.5.dist-info/RECORD +992 -0
  5. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/WHEEL +1 -1
  6. nuitka/Builtins.py +1 -1
  7. nuitka/BytecodeCaching.py +15 -4
  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 +19 -4
  15. nuitka/OptionParsing.py +86 -17
  16. nuitka/Options.py +230 -106
  17. nuitka/OutputDirectories.py +5 -3
  18. nuitka/PostProcessing.py +76 -27
  19. nuitka/Progress.py +1 -1
  20. nuitka/PythonFlavors.py +24 -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 +57 -35
  39. nuitka/build/SconsHacks.py +3 -3
  40. nuitka/build/SconsInterface.py +86 -58
  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 +6 -13
  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 +2 -2
  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 +2 -2
  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/ordlookup/__init__.py +41 -0
  147. nuitka/build/inline_copy/pefile/ordlookup/oleaut32.py +400 -0
  148. nuitka/build/inline_copy/pefile/ordlookup/ws2_32.py +120 -0
  149. nuitka/build/inline_copy/pefile/pefile.py +8034 -0
  150. nuitka/build/static_src/CompiledAsyncgenType.c +80 -75
  151. nuitka/build/static_src/CompiledCellType.c +2 -1
  152. nuitka/build/static_src/CompiledCodeHelpers.c +10 -28
  153. nuitka/build/static_src/CompiledCoroutineType.c +30 -40
  154. nuitka/build/static_src/CompiledFrameType.c +63 -5
  155. nuitka/build/static_src/CompiledFunctionType.c +11 -13
  156. nuitka/build/static_src/CompiledGeneratorType.c +56 -13
  157. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +1 -1
  158. nuitka/build/static_src/CompiledMethodType.c +2 -1
  159. nuitka/build/static_src/GenerateHeadersMain.c +30 -0
  160. nuitka/build/static_src/HelpersAllocator.c +1 -1
  161. nuitka/build/static_src/HelpersAttributes.c +5 -2
  162. nuitka/build/static_src/HelpersBuiltin.c +1 -1
  163. nuitka/build/static_src/HelpersBuiltinTypeMethods.c +1 -1
  164. nuitka/build/static_src/HelpersBytes.c +1 -1
  165. nuitka/build/static_src/HelpersCalling.c +1 -1
  166. nuitka/build/static_src/HelpersCallingGenerated.c +6 -16
  167. nuitka/build/static_src/HelpersChecksumTools.c +1 -1
  168. nuitka/build/static_src/HelpersClasses.c +1 -1
  169. nuitka/build/static_src/HelpersComparisonDualEq.c +1 -1
  170. nuitka/build/static_src/HelpersComparisonDualGe.c +1 -1
  171. nuitka/build/static_src/HelpersComparisonDualGt.c +1 -1
  172. nuitka/build/static_src/HelpersComparisonDualLe.c +1 -1
  173. nuitka/build/static_src/HelpersComparisonDualLt.c +1 -1
  174. nuitka/build/static_src/HelpersComparisonDualNe.c +1 -1
  175. nuitka/build/static_src/HelpersComparisonEq.c +1 -1
  176. nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -1
  177. nuitka/build/static_src/HelpersComparisonGe.c +1 -1
  178. nuitka/build/static_src/HelpersComparisonGt.c +1 -1
  179. nuitka/build/static_src/HelpersComparisonLe.c +1 -1
  180. nuitka/build/static_src/HelpersComparisonLt.c +1 -1
  181. nuitka/build/static_src/HelpersComparisonNe.c +1 -1
  182. nuitka/build/static_src/HelpersConsole.c +2 -2
  183. nuitka/build/static_src/HelpersConstantsBlob.c +199 -50
  184. nuitka/build/static_src/HelpersDeepcopy.c +3 -1
  185. nuitka/build/static_src/HelpersDictionaries.c +1 -1
  186. nuitka/build/static_src/HelpersDictionariesGenerated.c +1 -1
  187. nuitka/build/static_src/HelpersDumpBacktraces.c +1 -1
  188. nuitka/build/static_src/HelpersEnvironmentVariables.c +1 -1
  189. nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +1 -1
  190. nuitka/build/static_src/HelpersExceptions.c +1 -1
  191. nuitka/build/static_src/HelpersFiles.c +18 -10
  192. nuitka/build/static_src/HelpersFilesystemPaths.c +36 -16
  193. nuitka/build/static_src/HelpersFloats.c +1 -1
  194. nuitka/build/static_src/HelpersHeapStorage.c +1 -1
  195. nuitka/build/static_src/HelpersImport.c +1 -1
  196. nuitka/build/static_src/HelpersImportHard.c +1 -1
  197. nuitka/build/static_src/HelpersJitSources.c +1 -1
  198. nuitka/build/static_src/HelpersLists.c +2 -1
  199. nuitka/build/static_src/HelpersListsGenerated.c +1 -1
  200. nuitka/build/static_src/HelpersMappings.c +1 -1
  201. nuitka/build/static_src/HelpersMatching.c +1 -1
  202. nuitka/build/static_src/HelpersOperationBinaryAdd.c +1 -1
  203. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +1 -1
  204. nuitka/build/static_src/HelpersOperationBinaryBitand.c +1 -1
  205. nuitka/build/static_src/HelpersOperationBinaryBitor.c +1 -1
  206. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +1 -1
  207. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +1 -1
  208. nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +1 -1
  209. nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +1 -1
  210. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +1 -1
  211. nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +1 -1
  212. nuitka/build/static_src/HelpersOperationBinaryLshift.c +1 -1
  213. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -1
  214. nuitka/build/static_src/HelpersOperationBinaryMod.c +1 -1
  215. nuitka/build/static_src/HelpersOperationBinaryMult.c +1 -1
  216. nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +1 -1
  217. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +1 -1
  218. nuitka/build/static_src/HelpersOperationBinaryPow.c +1 -1
  219. nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +1 -1
  220. nuitka/build/static_src/HelpersOperationBinaryRshift.c +1 -1
  221. nuitka/build/static_src/HelpersOperationBinarySub.c +1 -1
  222. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +1 -1
  223. nuitka/build/static_src/HelpersOperationInplaceAdd.c +1 -1
  224. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -1
  225. nuitka/build/static_src/HelpersOperationInplaceBitand.c +1 -1
  226. nuitka/build/static_src/HelpersOperationInplaceBitor.c +1 -1
  227. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1 -1
  228. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +1 -1
  229. nuitka/build/static_src/HelpersOperationInplaceLshift.c +1 -1
  230. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -1
  231. nuitka/build/static_src/HelpersOperationInplaceMod.c +1 -1
  232. nuitka/build/static_src/HelpersOperationInplaceMult.c +1 -1
  233. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +1 -1
  234. nuitka/build/static_src/HelpersOperationInplacePow.c +1 -1
  235. nuitka/build/static_src/HelpersOperationInplaceRshift.c +1 -1
  236. nuitka/build/static_src/HelpersOperationInplaceSub.c +1 -1
  237. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +1 -1
  238. nuitka/build/static_src/HelpersProfiling.c +1 -1
  239. nuitka/build/static_src/HelpersPythonPgo.c +5 -2
  240. nuitka/build/static_src/HelpersRaising.c +1 -1
  241. nuitka/build/static_src/HelpersSafeStrings.c +1 -1
  242. nuitka/build/static_src/HelpersSequences.c +1 -1
  243. nuitka/build/static_src/HelpersSlices.c +1 -1
  244. nuitka/build/static_src/HelpersStrings.c +1 -1
  245. nuitka/build/static_src/HelpersTuples.c +1 -1
  246. nuitka/build/static_src/HelpersTypes.c +5 -5
  247. nuitka/build/static_src/InspectPatcher.c +2 -1
  248. nuitka/build/static_src/MainProgram.c +30 -6
  249. nuitka/build/static_src/MetaPathBasedLoader.c +19 -11
  250. nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +1 -1
  251. nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +1 -1
  252. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -4
  253. nuitka/build/static_src/OnefileBootstrap.c +6 -4
  254. nuitka/build/static_src/OnefileSplashScreen.cpp +1 -1
  255. nuitka/code_generation/AsyncgenCodes.py +5 -6
  256. nuitka/code_generation/AttributeCodes.py +1 -1
  257. nuitka/code_generation/BinaryOperationHelperDefinitions.py +1 -1
  258. nuitka/code_generation/BranchCodes.py +1 -1
  259. nuitka/code_generation/BuiltinCodes.py +15 -5
  260. nuitka/code_generation/CallCodes.py +1 -1
  261. nuitka/code_generation/ClassCodes.py +1 -1
  262. nuitka/code_generation/CodeGeneration.py +23 -17
  263. nuitka/code_generation/CodeHelperSelection.py +1 -1
  264. nuitka/code_generation/CodeHelpers.py +1 -1
  265. nuitka/code_generation/CodeObjectCodes.py +19 -2
  266. nuitka/code_generation/ComparisonCodes.py +1 -1
  267. nuitka/code_generation/ComparisonHelperDefinitions.py +1 -1
  268. nuitka/code_generation/ConditionalCodes.py +1 -1
  269. nuitka/code_generation/ConstantCodes.py +1 -1
  270. nuitka/code_generation/Contexts.py +52 -39
  271. nuitka/code_generation/CoroutineCodes.py +4 -5
  272. nuitka/code_generation/CtypesCodes.py +1 -1
  273. nuitka/code_generation/DictCodes.py +1 -1
  274. nuitka/code_generation/Emission.py +1 -1
  275. nuitka/code_generation/ErrorCodes.py +1 -1
  276. nuitka/code_generation/EvalCodes.py +1 -1
  277. nuitka/code_generation/ExceptionCodes.py +1 -1
  278. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +1 -1
  279. nuitka/code_generation/ExpressionCodes.py +1 -1
  280. nuitka/code_generation/FrameCodes.py +26 -17
  281. nuitka/code_generation/FunctionCodes.py +9 -15
  282. nuitka/code_generation/GeneratorCodes.py +9 -10
  283. nuitka/code_generation/GlobalConstants.py +6 -4
  284. nuitka/code_generation/GlobalsLocalsCodes.py +1 -1
  285. nuitka/code_generation/IdCodes.py +1 -1
  286. nuitka/code_generation/ImportCodes.py +1 -1
  287. nuitka/code_generation/Indentation.py +1 -1
  288. nuitka/code_generation/IndexCodes.py +1 -1
  289. nuitka/code_generation/InjectCCodes.py +1 -1
  290. nuitka/code_generation/IntegerCodes.py +1 -1
  291. nuitka/code_generation/IteratorCodes.py +1 -1
  292. nuitka/code_generation/JitCodes.py +1 -1
  293. nuitka/code_generation/LabelCodes.py +1 -1
  294. nuitka/code_generation/LineNumberCodes.py +1 -1
  295. nuitka/code_generation/ListCodes.py +1 -1
  296. nuitka/code_generation/LoaderCodes.py +1 -1
  297. nuitka/code_generation/LocalsDictCodes.py +1 -1
  298. nuitka/code_generation/LoopCodes.py +1 -1
  299. nuitka/code_generation/MatchCodes.py +1 -1
  300. nuitka/code_generation/ModuleCodes.py +31 -4
  301. nuitka/code_generation/Namify.py +4 -1
  302. nuitka/code_generation/NetworkxCodes.py +1 -1
  303. nuitka/code_generation/OperationCodes.py +1 -1
  304. nuitka/code_generation/PackageResourceCodes.py +4 -10
  305. nuitka/code_generation/PrintCodes.py +1 -1
  306. nuitka/code_generation/PythonAPICodes.py +1 -1
  307. nuitka/code_generation/RaisingCodes.py +1 -1
  308. nuitka/code_generation/Reports.py +1 -1
  309. nuitka/code_generation/ReturnCodes.py +1 -1
  310. nuitka/code_generation/SetCodes.py +1 -1
  311. nuitka/code_generation/SliceCodes.py +1 -1
  312. nuitka/code_generation/StringCodes.py +1 -1
  313. nuitka/code_generation/SubscriptCodes.py +1 -1
  314. nuitka/code_generation/TensorflowCodes.py +1 -1
  315. nuitka/code_generation/TryCodes.py +1 -1
  316. nuitka/code_generation/TupleCodes.py +1 -1
  317. nuitka/code_generation/TypeAliasCodes.py +4 -3
  318. nuitka/code_generation/VariableCodes.py +1 -1
  319. nuitka/code_generation/VariableDeclarations.py +1 -1
  320. nuitka/code_generation/YieldCodes.py +1 -1
  321. nuitka/code_generation/__init__.py +1 -1
  322. nuitka/code_generation/c_types/CTypeBases.py +1 -1
  323. nuitka/code_generation/c_types/CTypeBooleans.py +1 -1
  324. nuitka/code_generation/c_types/CTypeCFloats.py +1 -1
  325. nuitka/code_generation/c_types/CTypeCLongs.py +1 -1
  326. nuitka/code_generation/c_types/CTypeModuleDictVariables.py +1 -1
  327. nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +1 -1
  328. nuitka/code_generation/c_types/CTypeNuitkaInts.py +1 -1
  329. nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
  330. nuitka/code_generation/c_types/CTypePyObjectPointers.py +1 -1
  331. nuitka/code_generation/c_types/CTypeVoids.py +1 -1
  332. nuitka/code_generation/c_types/__init__.py +1 -1
  333. nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +1 -1
  334. nuitka/code_generation/templates/CodeTemplatesConstants.py +2 -2
  335. nuitka/code_generation/templates/CodeTemplatesCoroutines.py +1 -1
  336. nuitka/code_generation/templates/CodeTemplatesExceptions.py +1 -1
  337. nuitka/code_generation/templates/CodeTemplatesFrames.py +21 -25
  338. nuitka/code_generation/templates/CodeTemplatesFunction.py +1 -1
  339. nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +3 -3
  340. nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -1
  341. nuitka/code_generation/templates/CodeTemplatesLoader.py +26 -3
  342. nuitka/code_generation/templates/CodeTemplatesModules.py +21 -8
  343. nuitka/code_generation/templates/CodeTemplatesVariables.py +1 -1
  344. nuitka/code_generation/templates/TemplateDebugWrapper.py +1 -1
  345. nuitka/code_generation/templates/__init__.py +1 -1
  346. nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +1 -1
  347. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +1 -1
  348. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +1 -1
  349. nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +21 -1
  350. nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +1 -1
  351. nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +1 -1
  352. nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +1 -1
  353. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +1 -1
  354. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -1
  355. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
  356. nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +1 -1
  357. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +1 -1
  358. nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +1 -1
  359. nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +1 -1
  360. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +1 -1
  361. nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +1 -1
  362. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
  363. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
  364. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +1 -1
  365. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +1 -1
  366. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +1 -1
  367. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +1 -1
  368. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +1 -1
  369. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
  370. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
  371. nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +1 -1
  372. nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +1 -1
  373. nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +1 -1
  374. nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +1 -1
  375. nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +1 -1
  376. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
  377. nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +1 -1
  378. nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +1 -1
  379. nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +1 -1
  380. nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +1 -1
  381. nuitka/containers/Namedtuples.py +1 -1
  382. nuitka/containers/OrderedSetsFallback.py +1 -1
  383. nuitka/containers/__init__.py +1 -1
  384. nuitka/distutils/Build.py +1 -1
  385. nuitka/distutils/DistutilCommands.py +2 -2
  386. nuitka/distutils/__init__.py +1 -1
  387. nuitka/finalizations/Finalization.py +1 -1
  388. nuitka/finalizations/FinalizeMarkups.py +1 -1
  389. nuitka/finalizations/__init__.py +1 -1
  390. nuitka/freezer/DependsExe.py +2 -1
  391. nuitka/freezer/DllDependenciesCommon.py +1 -1
  392. nuitka/freezer/DllDependenciesMacOS.py +8 -3
  393. nuitka/freezer/DllDependenciesPosix.py +23 -4
  394. nuitka/freezer/DllDependenciesWin32.py +112 -25
  395. nuitka/freezer/ImportDetection.py +1 -1
  396. nuitka/freezer/IncludedDataFiles.py +2 -2
  397. nuitka/freezer/IncludedEntryPoints.py +9 -1
  398. nuitka/freezer/Onefile.py +13 -15
  399. nuitka/freezer/Standalone.py +16 -4
  400. nuitka/freezer/__init__.py +1 -1
  401. nuitka/importing/IgnoreListing.py +1 -1
  402. nuitka/importing/ImportCache.py +1 -1
  403. nuitka/importing/ImportResolving.py +1 -1
  404. nuitka/importing/Importing.py +6 -4
  405. nuitka/importing/PreloadedPackages.py +1 -1
  406. nuitka/importing/Recursion.py +37 -12
  407. nuitka/importing/StandardLibrary.py +1 -1
  408. nuitka/importing/__init__.py +1 -1
  409. nuitka/nodes/AsyncgenNodes.py +1 -1
  410. nuitka/nodes/AttributeLookupNodes.py +1 -1
  411. nuitka/nodes/AttributeNodes.py +1 -1
  412. nuitka/nodes/AttributeNodesGenerated.py +1 -1
  413. nuitka/nodes/BuiltinAllNodes.py +1 -1
  414. nuitka/nodes/BuiltinAnyNodes.py +1 -1
  415. nuitka/nodes/BuiltinComplexNodes.py +1 -1
  416. nuitka/nodes/BuiltinDecodingNodes.py +1 -1
  417. nuitka/nodes/BuiltinDecoratorNodes.py +1 -1
  418. nuitka/nodes/BuiltinDictNodes.py +1 -1
  419. nuitka/nodes/BuiltinFormatNodes.py +1 -1
  420. nuitka/nodes/BuiltinHashNodes.py +1 -1
  421. nuitka/nodes/BuiltinInputNodes.py +1 -1
  422. nuitka/nodes/BuiltinIntegerNodes.py +1 -1
  423. nuitka/nodes/BuiltinIteratorNodes.py +1 -1
  424. nuitka/nodes/BuiltinLenNodes.py +1 -1
  425. nuitka/nodes/BuiltinNextNodes.py +1 -1
  426. nuitka/nodes/BuiltinOpenNodes.py +1 -1
  427. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +1 -1
  428. nuitka/nodes/BuiltinRangeNodes.py +1 -1
  429. nuitka/nodes/BuiltinRefNodes.py +1 -1
  430. nuitka/nodes/BuiltinSumNodes.py +1 -1
  431. nuitka/nodes/BuiltinTypeNodes.py +1 -1
  432. nuitka/nodes/BuiltinVarsNodes.py +1 -1
  433. nuitka/nodes/BytesNodes.py +1 -1
  434. nuitka/nodes/CallNodes.py +1 -1
  435. nuitka/nodes/Checkers.py +1 -1
  436. nuitka/nodes/ChildrenHavingMixins.py +240 -16
  437. nuitka/nodes/ClassNodes.py +1 -1
  438. nuitka/nodes/CodeObjectSpecs.py +4 -4
  439. nuitka/nodes/ComparisonNodes.py +1 -1
  440. nuitka/nodes/ConditionalNodes.py +1 -1
  441. nuitka/nodes/ConstantRefNodes.py +1 -1
  442. nuitka/nodes/ContainerMakingNodes.py +1 -1
  443. nuitka/nodes/ContainerOperationNodes.py +1 -1
  444. nuitka/nodes/CoroutineNodes.py +1 -1
  445. nuitka/nodes/CtypesNodes.py +1 -1
  446. nuitka/nodes/DictionaryNodes.py +1 -1
  447. nuitka/nodes/ExceptionNodes.py +1 -1
  448. nuitka/nodes/ExecEvalNodes.py +1 -1
  449. nuitka/nodes/ExpressionBases.py +1 -1
  450. nuitka/nodes/ExpressionBasesGenerated.py +1 -1
  451. nuitka/nodes/ExpressionShapeMixins.py +1 -1
  452. nuitka/nodes/FrameNodes.py +19 -7
  453. nuitka/nodes/FunctionAttributeNodes.py +1 -1
  454. nuitka/nodes/FunctionNodes.py +8 -1
  455. nuitka/nodes/FutureSpecs.py +34 -2
  456. nuitka/nodes/GeneratorNodes.py +1 -1
  457. nuitka/nodes/GlobalsLocalsNodes.py +1 -1
  458. nuitka/nodes/HardImportNodesGenerated.py +140 -56
  459. nuitka/nodes/ImportHardNodes.py +1 -1
  460. nuitka/nodes/ImportNodes.py +1 -1
  461. nuitka/nodes/IndicatorMixins.py +1 -1
  462. nuitka/nodes/InjectCNodes.py +1 -1
  463. nuitka/nodes/IterationHandles.py +1 -1
  464. nuitka/nodes/KeyValuePairNodes.py +1 -1
  465. nuitka/nodes/ListOperationNodes.py +1 -1
  466. nuitka/nodes/LocalsDictNodes.py +1 -1
  467. nuitka/nodes/LocalsScopes.py +1 -1
  468. nuitka/nodes/LoopNodes.py +1 -1
  469. nuitka/nodes/MatchNodes.py +1 -1
  470. nuitka/nodes/ModuleAttributeNodes.py +1 -1
  471. nuitka/nodes/ModuleNodes.py +23 -9
  472. nuitka/nodes/NetworkxNodes.py +1 -1
  473. nuitka/nodes/NodeBases.py +1 -1
  474. nuitka/nodes/NodeMakingHelpers.py +1 -1
  475. nuitka/nodes/NodeMetaClasses.py +1 -1
  476. nuitka/nodes/OperatorNodes.py +1 -1
  477. nuitka/nodes/OperatorNodesUnary.py +1 -1
  478. nuitka/nodes/OsSysNodes.py +1 -1
  479. nuitka/nodes/OutlineNodes.py +1 -1
  480. nuitka/nodes/PackageMetadataNodes.py +4 -2
  481. nuitka/nodes/PackageResourceNodes.py +42 -7
  482. nuitka/nodes/PrintNodes.py +1 -1
  483. nuitka/nodes/ReturnNodes.py +1 -1
  484. nuitka/nodes/SideEffectNodes.py +1 -1
  485. nuitka/nodes/SliceNodes.py +1 -1
  486. nuitka/nodes/StatementBasesGenerated.py +1 -1
  487. nuitka/nodes/StatementNodes.py +1 -1
  488. nuitka/nodes/StrNodes.py +1 -1
  489. nuitka/nodes/StringConcatenationNodes.py +1 -1
  490. nuitka/nodes/SubscriptNodes.py +1 -1
  491. nuitka/nodes/TensorflowNodes.py +1 -1
  492. nuitka/nodes/TryNodes.py +1 -1
  493. nuitka/nodes/TypeMatchNodes.py +1 -1
  494. nuitka/nodes/TypeNodes.py +4 -4
  495. nuitka/nodes/VariableAssignNodes.py +1 -1
  496. nuitka/nodes/VariableDelNodes.py +1 -1
  497. nuitka/nodes/VariableNameNodes.py +1 -1
  498. nuitka/nodes/VariableRefNodes.py +1 -1
  499. nuitka/nodes/VariableReleaseNodes.py +1 -1
  500. nuitka/nodes/YieldNodes.py +1 -1
  501. nuitka/nodes/__init__.py +1 -1
  502. nuitka/nodes/shapes/BuiltinTypeShapes.py +1 -1
  503. nuitka/nodes/shapes/ControlFlowDescriptions.py +1 -1
  504. nuitka/nodes/shapes/IteratorShapes.py +1 -1
  505. nuitka/nodes/shapes/ShapeMixins.py +1 -1
  506. nuitka/nodes/shapes/StandardShapes.py +1 -1
  507. nuitka/nodes/shapes/__init__.py +1 -1
  508. nuitka/optimizations/BytecodeDemotion.py +1 -1
  509. nuitka/optimizations/FunctionInlining.py +1 -1
  510. nuitka/optimizations/Graphs.py +1 -1
  511. nuitka/optimizations/Optimization.py +1 -1
  512. nuitka/optimizations/OptimizeBuiltinCalls.py +1 -1
  513. nuitka/optimizations/Tags.py +1 -1
  514. nuitka/optimizations/TraceCollections.py +1 -1
  515. nuitka/optimizations/ValueTraces.py +1 -1
  516. nuitka/optimizations/__init__.py +1 -1
  517. nuitka/pgo/PGO.py +1 -1
  518. nuitka/pgo/__init__.py +1 -1
  519. nuitka/plugins/PluginBase.py +91 -16
  520. nuitka/plugins/Plugins.py +58 -15
  521. nuitka/plugins/YamlPluginBase.py +1 -1
  522. nuitka/plugins/__init__.py +1 -1
  523. nuitka/plugins/standard/AntiBloatPlugin.py +138 -66
  524. nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +2 -1
  525. nuitka/plugins/standard/DataFilesPlugin.py +2 -2
  526. nuitka/plugins/standard/DelvewheelPlugin.py +2 -1
  527. nuitka/plugins/standard/DillPlugin/DillPlugin.c +1 -1
  528. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +1 -1
  529. nuitka/plugins/standard/DillPlugin.py +2 -2
  530. nuitka/plugins/standard/DllFilesPlugin.py +2 -12
  531. nuitka/plugins/standard/EnumPlugin.py +2 -2
  532. nuitka/plugins/standard/EventletPlugin.py +2 -1
  533. nuitka/plugins/standard/GeventPlugin.py +2 -1
  534. nuitka/plugins/standard/GiPlugin.py +2 -1
  535. nuitka/plugins/standard/GlfwPlugin.py +2 -1
  536. nuitka/plugins/standard/ImplicitImports.py +7 -6
  537. nuitka/plugins/standard/KivyPlugin.py +2 -1
  538. nuitka/plugins/standard/MatplotlibPlugin.py +2 -1
  539. nuitka/plugins/standard/MultiprocessingPlugin.py +2 -1
  540. nuitka/plugins/standard/NumpyPlugin.py +2 -1
  541. nuitka/plugins/standard/OptionsNannyPlugin.py +2 -2
  542. nuitka/plugins/standard/PbrPlugin.py +2 -2
  543. nuitka/plugins/standard/PkgResourcesPlugin.py +2 -1
  544. nuitka/plugins/standard/PlaywrightPlugin.py +10 -15
  545. nuitka/plugins/standard/PmwPlugin.py +2 -1
  546. nuitka/plugins/standard/PySidePyQtPlugin.py +25 -15
  547. nuitka/plugins/standard/PywebViewPlugin.py +2 -1
  548. nuitka/plugins/standard/SpacyPlugin.py +2 -1
  549. nuitka/plugins/standard/TensorflowPlugin.py +2 -1
  550. nuitka/plugins/standard/TkinterPlugin.py +15 -2
  551. nuitka/plugins/standard/TorchPlugin.py +2 -1
  552. nuitka/plugins/standard/TransformersPlugin.py +2 -2
  553. nuitka/plugins/standard/TrioPlugin.py +2 -1
  554. nuitka/plugins/standard/UpxPlugin.py +2 -1
  555. nuitka/plugins/standard/__init__.py +1 -1
  556. nuitka/plugins/standard/standard.nuitka-package.config.yml +257 -89
  557. nuitka/reports/CompilationReportReader.py +5 -1
  558. nuitka/reports/LicenseReport.rst.j2 +1 -1
  559. nuitka/reports/Reports.py +30 -3
  560. nuitka/reports/__init__.py +1 -1
  561. nuitka/specs/BuiltinBytesOperationSpecs.py +1 -1
  562. nuitka/specs/BuiltinDictOperationSpecs.py +1 -1
  563. nuitka/specs/BuiltinListOperationSpecs.py +1 -1
  564. nuitka/specs/BuiltinParameterSpecs.py +1 -1
  565. nuitka/specs/BuiltinStrOperationSpecs.py +1 -1
  566. nuitka/specs/BuiltinTypeOperationSpecs.py +1 -1
  567. nuitka/specs/BuiltinUnicodeOperationSpecs.py +1 -1
  568. nuitka/specs/HardImportSpecs.py +10 -2
  569. nuitka/specs/ParameterSpecs.py +17 -2
  570. nuitka/specs/__init__.py +1 -1
  571. nuitka/tools/Basics.py +1 -1
  572. nuitka/tools/__init__.py +1 -1
  573. nuitka/tools/commercial/__init__.py +1 -1
  574. nuitka/tools/data_composer/DataComposer.py +125 -1
  575. nuitka/tools/data_composer/__init__.py +1 -1
  576. nuitka/tools/data_composer/__main__.py +1 -1
  577. nuitka/tools/environments/CreateEnvironment.py +1 -1
  578. nuitka/tools/environments/Virtualenv.py +1 -1
  579. nuitka/tools/environments/__init__.py +1 -1
  580. nuitka/tools/general/__init__.py +1 -1
  581. nuitka/tools/general/dll_report/__init__.py +1 -1
  582. nuitka/tools/general/dll_report/__main__.py +1 -1
  583. nuitka/tools/general/find_module/FindModuleCode.py +6 -3
  584. nuitka/tools/general/find_module/__init__.py +1 -1
  585. nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
  586. nuitka/tools/general/generate_header/__init__.py +19 -0
  587. nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
  588. nuitka/tools/onefile_compressor/__init__.py +1 -1
  589. nuitka/tools/onefile_compressor/__main__.py +1 -1
  590. nuitka/tools/podman/Podman.py +1 -1
  591. nuitka/tools/podman/__init__.py +1 -1
  592. nuitka/tools/podman/__main__.py +4 -2
  593. nuitka/tools/profiler/__init__.py +1 -1
  594. nuitka/tools/profiler/__main__.py +1 -1
  595. nuitka/tools/scanning/DisplayPackageDLLs.py +42 -20
  596. nuitka/tools/scanning/DisplayPackageData.py +1 -1
  597. nuitka/tools/scanning/__init__.py +1 -1
  598. nuitka/tools/specialize/CTypeDescriptions.py +1 -1
  599. nuitka/tools/specialize/Common.py +1 -1
  600. nuitka/tools/specialize/SpecializeC.py +1 -1
  601. nuitka/tools/specialize/SpecializePython.py +7 -3
  602. nuitka/tools/specialize/__init__.py +1 -1
  603. nuitka/tools/testing/Common.py +140 -19
  604. nuitka/tools/testing/Constructs.py +1 -1
  605. nuitka/tools/testing/OutputComparison.py +5 -4
  606. nuitka/tools/testing/Pythons.py +1 -1
  607. nuitka/tools/testing/RuntimeTracing.py +1 -1
  608. nuitka/tools/testing/SearchModes.py +1 -1
  609. nuitka/tools/testing/Valgrind.py +1 -1
  610. nuitka/tools/testing/__init__.py +1 -1
  611. nuitka/tools/testing/check_reference_counts/__init__.py +1 -1
  612. nuitka/tools/testing/check_reference_counts/__main__.py +6 -2
  613. nuitka/tools/testing/compare_with_cpython/__init__.py +1 -1
  614. nuitka/tools/testing/compare_with_cpython/__main__.py +51 -14
  615. nuitka/tools/testing/find_sxs_modules/__init__.py +1 -1
  616. nuitka/tools/testing/find_sxs_modules/__main__.py +1 -1
  617. nuitka/tools/testing/measure_construct_performance/__init__.py +1 -1
  618. nuitka/tools/testing/measure_construct_performance/__main__.py +1 -1
  619. nuitka/tools/testing/run_nuitka_tests/__init__.py +1 -1
  620. nuitka/tools/testing/run_nuitka_tests/__main__.py +1 -1
  621. nuitka/tools/watch/AutoStage.py +1 -1
  622. nuitka/tools/watch/Common.py +55 -0
  623. nuitka/tools/watch/Conda.py +125 -0
  624. nuitka/tools/watch/GitHub.py +1 -1
  625. nuitka/tools/watch/Pacman.py +73 -0
  626. nuitka/tools/watch/Pipenv.py +143 -0
  627. nuitka/tools/watch/__init__.py +1 -1
  628. nuitka/tools/watch/__main__.py +124 -266
  629. nuitka/tree/Building.py +5 -7
  630. nuitka/tree/ComplexCallHelperFunctions.py +1 -1
  631. nuitka/tree/Extractions.py +1 -1
  632. nuitka/tree/FutureSpecState.py +71 -0
  633. nuitka/tree/InternalModule.py +1 -1
  634. nuitka/tree/Operations.py +1 -1
  635. nuitka/tree/ReformulationAssertStatements.py +1 -1
  636. nuitka/tree/ReformulationAssignmentStatements.py +3 -3
  637. nuitka/tree/ReformulationBooleanExpressions.py +1 -1
  638. nuitka/tree/ReformulationCallExpressions.py +1 -1
  639. nuitka/tree/ReformulationClasses.py +1 -1
  640. nuitka/tree/ReformulationClasses3.py +1 -1
  641. nuitka/tree/ReformulationComparisonExpressions.py +1 -1
  642. nuitka/tree/ReformulationContractionExpressions.py +3 -1
  643. nuitka/tree/ReformulationDictionaryCreation.py +3 -3
  644. nuitka/tree/ReformulationExecStatements.py +1 -1
  645. nuitka/tree/ReformulationForLoopStatements.py +1 -1
  646. nuitka/tree/ReformulationFunctionStatements.py +2 -2
  647. nuitka/tree/ReformulationImportStatements.py +5 -52
  648. nuitka/tree/ReformulationLambdaExpressions.py +2 -1
  649. nuitka/tree/ReformulationMatchStatements.py +1 -1
  650. nuitka/tree/ReformulationMultidist.py +2 -2
  651. nuitka/tree/ReformulationNamespacePackages.py +28 -6
  652. nuitka/tree/ReformulationPrintStatements.py +1 -1
  653. nuitka/tree/ReformulationSequenceCreation.py +1 -1
  654. nuitka/tree/ReformulationSubscriptExpressions.py +1 -1
  655. nuitka/tree/ReformulationTryExceptStatements.py +1 -1
  656. nuitka/tree/ReformulationTryFinallyStatements.py +1 -1
  657. nuitka/tree/ReformulationWhileLoopStatements.py +1 -1
  658. nuitka/tree/ReformulationWithStatements.py +1 -1
  659. nuitka/tree/ReformulationYieldExpressions.py +1 -1
  660. nuitka/tree/SourceHandling.py +57 -18
  661. nuitka/tree/SyntaxErrors.py +1 -1
  662. nuitka/tree/TreeHelpers.py +24 -10
  663. nuitka/tree/VariableClosure.py +1 -1
  664. nuitka/tree/__init__.py +1 -1
  665. nuitka/utils/AppDirs.py +5 -2
  666. nuitka/utils/CStrings.py +1 -1
  667. nuitka/utils/CommandLineOptions.py +2 -2
  668. nuitka/utils/Distributions.py +197 -15
  669. nuitka/utils/Download.py +14 -6
  670. nuitka/utils/Execution.py +43 -14
  671. nuitka/utils/FileOperations.py +43 -10
  672. nuitka/utils/Hashing.py +1 -1
  673. nuitka/utils/Images.py +8 -2
  674. nuitka/utils/Importing.py +1 -1
  675. nuitka/utils/InlineCopies.py +1 -1
  676. nuitka/utils/InstalledPythons.py +1 -1
  677. nuitka/utils/InstanceCounters.py +1 -1
  678. nuitka/utils/Jinja2.py +1 -1
  679. nuitka/utils/Json.py +2 -2
  680. nuitka/utils/MacOSApp.py +4 -3
  681. nuitka/utils/MemoryUsage.py +1 -1
  682. nuitka/utils/ModuleNames.py +1 -1
  683. nuitka/utils/PackageResources.py +1 -1
  684. nuitka/utils/ReExecute.py +1 -1
  685. nuitka/utils/Rest.py +1 -1
  686. nuitka/utils/SharedLibraries.py +52 -7
  687. nuitka/utils/Shebang.py +1 -1
  688. nuitka/utils/Signing.py +2 -4
  689. nuitka/utils/SlotMetaClasses.py +1 -1
  690. nuitka/utils/StaticLibraries.py +29 -1
  691. nuitka/utils/ThreadedExecutor.py +1 -1
  692. nuitka/utils/Timing.py +1 -1
  693. nuitka/utils/Utils.py +1 -1
  694. nuitka/utils/WindowsFileUsage.py +1 -1
  695. nuitka/utils/WindowsResources.py +3 -1
  696. nuitka/utils/Yaml.py +1 -1
  697. nuitka/utils/__init__.py +1 -1
  698. Nuitka_winsvc-2.5.6.dist-info/RECORD +0 -978
  699. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/LICENSE.txt +0 -0
  700. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/entry_points.txt +0 -0
  701. {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.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
  # We are not avoiding these in generated code at all
@@ -13025,7 +13025,7 @@ class ChildrenHavingPackageResourceEncodingOptionalErrorsOptionalMixin(object):
13025
13025
  # ExpressionImportlibResourcesBackportReadText
13026
13026
  # ExpressionImportlibResourcesBackportReadTextCall
13027
13027
  # ExpressionImportlibResourcesReadText
13028
- # ExpressionImportlibResourcesReadTextCall
13028
+ # ExpressionImportlibResourcesReadTextBefore313Call
13029
13029
 
13030
13030
  def __init__(
13031
13031
  self,
@@ -13216,11 +13216,235 @@ ChildrenExpressionImportlibResourcesBackportReadTextCallMixin = (
13216
13216
  ChildrenExpressionImportlibResourcesReadTextMixin = (
13217
13217
  ChildrenHavingPackageResourceEncodingOptionalErrorsOptionalMixin
13218
13218
  )
13219
- ChildrenExpressionImportlibResourcesReadTextCallMixin = (
13219
+ ChildrenExpressionImportlibResourcesReadTextBefore313CallMixin = (
13220
13220
  ChildrenHavingPackageResourceEncodingOptionalErrorsOptionalMixin
13221
13221
  )
13222
13222
 
13223
13223
 
13224
+ class ChildrenHavingPackageOptionalResourcesTupleEncodingOptionalErrorsOptionalMixin(
13225
+ object
13226
+ ):
13227
+ # Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
13228
+ __slots__ = ()
13229
+
13230
+ # This is generated for use in
13231
+ # ExpressionImportlibResourcesReadText
13232
+ # ExpressionImportlibResourcesReadTextSince313Call
13233
+
13234
+ def __init__(
13235
+ self,
13236
+ package,
13237
+ resources,
13238
+ encoding,
13239
+ errors,
13240
+ ):
13241
+ if package is not None:
13242
+ package.parent = self
13243
+
13244
+ self.subnode_package = package
13245
+
13246
+ assert type(resources) is tuple
13247
+
13248
+ for val in resources:
13249
+ val.parent = self
13250
+
13251
+ self.subnode_resources = resources
13252
+
13253
+ if encoding is not None:
13254
+ encoding.parent = self
13255
+
13256
+ self.subnode_encoding = encoding
13257
+
13258
+ if errors is not None:
13259
+ errors.parent = self
13260
+
13261
+ self.subnode_errors = errors
13262
+
13263
+ def getVisitableNodes(self):
13264
+ """The visitable nodes, with tuple values flattened."""
13265
+
13266
+ result = []
13267
+ value = self.subnode_package
13268
+ if value is None:
13269
+ pass
13270
+ else:
13271
+ result.append(value)
13272
+ result.extend(self.subnode_resources)
13273
+ value = self.subnode_encoding
13274
+ if value is None:
13275
+ pass
13276
+ else:
13277
+ result.append(value)
13278
+ value = self.subnode_errors
13279
+ if value is None:
13280
+ pass
13281
+ else:
13282
+ result.append(value)
13283
+ return tuple(result)
13284
+
13285
+ def getVisitableNodesNamed(self):
13286
+ """Named children dictionary.
13287
+
13288
+ For use in cloning nodes, debugging and XML output.
13289
+ """
13290
+
13291
+ return (
13292
+ ("package", self.subnode_package),
13293
+ ("resources", self.subnode_resources),
13294
+ ("encoding", self.subnode_encoding),
13295
+ ("errors", self.subnode_errors),
13296
+ )
13297
+
13298
+ def replaceChild(self, old_node, new_node):
13299
+ value = self.subnode_package
13300
+ if old_node is value:
13301
+ if new_node is not None:
13302
+ new_node.parent = self
13303
+
13304
+ self.subnode_package = new_node
13305
+
13306
+ return
13307
+
13308
+ value = self.subnode_resources
13309
+ if old_node in value:
13310
+ if new_node is not None:
13311
+ new_node.parent = self
13312
+
13313
+ self.subnode_resources = tuple(
13314
+ (val if val is not old_node else new_node) for val in value
13315
+ )
13316
+ else:
13317
+ self.subnode_resources = tuple(
13318
+ val for val in value if val is not old_node
13319
+ )
13320
+
13321
+ return
13322
+
13323
+ value = self.subnode_encoding
13324
+ if old_node is value:
13325
+ if new_node is not None:
13326
+ new_node.parent = self
13327
+
13328
+ self.subnode_encoding = new_node
13329
+
13330
+ return
13331
+
13332
+ value = self.subnode_errors
13333
+ if old_node is value:
13334
+ if new_node is not None:
13335
+ new_node.parent = self
13336
+
13337
+ self.subnode_errors = new_node
13338
+
13339
+ return
13340
+
13341
+ raise AssertionError("Didn't find child", old_node, "in", self)
13342
+
13343
+ def getCloneArgs(self):
13344
+ """Get clones of all children to pass for a new node.
13345
+
13346
+ Needs to make clones of child nodes too.
13347
+ """
13348
+
13349
+ values = {
13350
+ "package": (
13351
+ self.subnode_package.makeClone()
13352
+ if self.subnode_package is not None
13353
+ else None
13354
+ ),
13355
+ "resources": tuple(v.makeClone() for v in self.subnode_resources),
13356
+ "encoding": (
13357
+ self.subnode_encoding.makeClone()
13358
+ if self.subnode_encoding is not None
13359
+ else None
13360
+ ),
13361
+ "errors": (
13362
+ self.subnode_errors.makeClone()
13363
+ if self.subnode_errors is not None
13364
+ else None
13365
+ ),
13366
+ }
13367
+
13368
+ values.update(self.getDetails())
13369
+
13370
+ return values
13371
+
13372
+ def finalize(self):
13373
+ del self.parent
13374
+
13375
+ if self.subnode_package is not None:
13376
+ self.subnode_package.finalize()
13377
+ del self.subnode_package
13378
+ for c in self.subnode_resources:
13379
+ c.finalize()
13380
+ del self.subnode_resources
13381
+ if self.subnode_encoding is not None:
13382
+ self.subnode_encoding.finalize()
13383
+ del self.subnode_encoding
13384
+ if self.subnode_errors is not None:
13385
+ self.subnode_errors.finalize()
13386
+ del self.subnode_errors
13387
+
13388
+ def computeExpressionRaw(self, trace_collection):
13389
+ """Compute an expression.
13390
+
13391
+ Default behavior is to just visit the child expressions first, and
13392
+ then the node "computeExpression". For a few cases this needs to
13393
+ be overloaded, e.g. conditional expressions.
13394
+ """
13395
+
13396
+ # First apply the sub-expressions, as they are evaluated before
13397
+ # the actual operation.
13398
+ for count, sub_expression in enumerate(self.getVisitableNodes()):
13399
+ expression = trace_collection.onExpression(sub_expression)
13400
+
13401
+ if expression.willRaiseAnyException():
13402
+ sub_expressions = self.getVisitableNodes()
13403
+
13404
+ wrapped_expression = wrapExpressionWithSideEffects(
13405
+ side_effects=sub_expressions[:count],
13406
+ old_node=sub_expression,
13407
+ new_node=expression,
13408
+ )
13409
+
13410
+ return (
13411
+ wrapped_expression,
13412
+ "new_raise",
13413
+ lambda: "For '%s' the child expression '%s' will raise."
13414
+ % (self.getChildNameNice(), expression.getChildNameNice()),
13415
+ )
13416
+
13417
+ # Then ask ourselves to work on it.
13418
+ return self.computeExpression(trace_collection)
13419
+
13420
+ def collectVariableAccesses(self, emit_read, emit_write):
13421
+ """Collect variable reads and writes of child nodes."""
13422
+
13423
+ subnode_package = self.subnode_package
13424
+
13425
+ if subnode_package is not None:
13426
+ self.subnode_package.collectVariableAccesses(emit_read, emit_write)
13427
+ for element in self.subnode_resources:
13428
+ element.collectVariableAccesses(emit_read, emit_write)
13429
+ subnode_encoding = self.subnode_encoding
13430
+
13431
+ if subnode_encoding is not None:
13432
+ self.subnode_encoding.collectVariableAccesses(emit_read, emit_write)
13433
+ subnode_errors = self.subnode_errors
13434
+
13435
+ if subnode_errors is not None:
13436
+ self.subnode_errors.collectVariableAccesses(emit_read, emit_write)
13437
+
13438
+
13439
+ # Assign the names that are easier to import with a stable name.
13440
+ ChildrenExpressionImportlibResourcesReadTextMixin = (
13441
+ ChildrenHavingPackageOptionalResourcesTupleEncodingOptionalErrorsOptionalMixin
13442
+ )
13443
+ ChildrenExpressionImportlibResourcesReadTextSince313CallMixin = (
13444
+ ChildrenHavingPackageOptionalResourcesTupleEncodingOptionalErrorsOptionalMixin
13445
+ )
13446
+
13447
+
13224
13448
  class ChildrenHavingPackageOrRequirementResourceNameMixin(object):
13225
13449
  # Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
13226
13450
  __slots__ = ()
@@ -20320,7 +20544,7 @@ class ChildHavingTypeParamsMixin(object):
20320
20544
  ChildrenExpressionTypeMakeGenericMixin = ChildHavingTypeParamsMixin
20321
20545
 
20322
20546
 
20323
- class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20547
+ class ChildrenHavingTypeParamsTupleValueMixin(object):
20324
20548
  # Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
20325
20549
  __slots__ = ()
20326
20550
 
@@ -20330,7 +20554,7 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20330
20554
  def __init__(
20331
20555
  self,
20332
20556
  type_params,
20333
- compute_value,
20557
+ value,
20334
20558
  ):
20335
20559
  assert type(type_params) is tuple
20336
20560
 
@@ -20339,16 +20563,16 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20339
20563
 
20340
20564
  self.subnode_type_params = type_params
20341
20565
 
20342
- compute_value.parent = self
20566
+ value.parent = self
20343
20567
 
20344
- self.subnode_compute_value = compute_value
20568
+ self.subnode_value = value
20345
20569
 
20346
20570
  def getVisitableNodes(self):
20347
20571
  """The visitable nodes, with tuple values flattened."""
20348
20572
 
20349
20573
  result = []
20350
20574
  result.extend(self.subnode_type_params)
20351
- result.append(self.subnode_compute_value)
20575
+ result.append(self.subnode_value)
20352
20576
  return tuple(result)
20353
20577
 
20354
20578
  def getVisitableNodesNamed(self):
@@ -20359,7 +20583,7 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20359
20583
 
20360
20584
  return (
20361
20585
  ("type_params", self.subnode_type_params),
20362
- ("compute_value", self.subnode_compute_value),
20586
+ ("value", self.subnode_value),
20363
20587
  )
20364
20588
 
20365
20589
  def replaceChild(self, old_node, new_node):
@@ -20378,11 +20602,11 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20378
20602
 
20379
20603
  return
20380
20604
 
20381
- value = self.subnode_compute_value
20605
+ value = self.subnode_value
20382
20606
  if old_node is value:
20383
20607
  new_node.parent = self
20384
20608
 
20385
- self.subnode_compute_value = new_node
20609
+ self.subnode_value = new_node
20386
20610
 
20387
20611
  return
20388
20612
 
@@ -20396,7 +20620,7 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20396
20620
 
20397
20621
  values = {
20398
20622
  "type_params": tuple(v.makeClone() for v in self.subnode_type_params),
20399
- "compute_value": self.subnode_compute_value.makeClone(),
20623
+ "value": self.subnode_value.makeClone(),
20400
20624
  }
20401
20625
 
20402
20626
  values.update(self.getDetails())
@@ -20409,8 +20633,8 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20409
20633
  for c in self.subnode_type_params:
20410
20634
  c.finalize()
20411
20635
  del self.subnode_type_params
20412
- self.subnode_compute_value.finalize()
20413
- del self.subnode_compute_value
20636
+ self.subnode_value.finalize()
20637
+ del self.subnode_value
20414
20638
 
20415
20639
  def computeExpressionRaw(self, trace_collection):
20416
20640
  """Compute an expression.
@@ -20449,11 +20673,11 @@ class ChildrenHavingTypeParamsTupleComputeValueMixin(object):
20449
20673
 
20450
20674
  for element in self.subnode_type_params:
20451
20675
  element.collectVariableAccesses(emit_read, emit_write)
20452
- self.subnode_compute_value.collectVariableAccesses(emit_read, emit_write)
20676
+ self.subnode_value.collectVariableAccesses(emit_read, emit_write)
20453
20677
 
20454
20678
 
20455
20679
  # Assign the names that are easier to import with a stable name.
20456
- ChildrenExpressionTypeAliasMixin = ChildrenHavingTypeParamsTupleComputeValueMixin
20680
+ ChildrenExpressionTypeAliasMixin = ChildrenHavingTypeParamsTupleValueMixin
20457
20681
 
20458
20682
 
20459
20683
  class ChildHavingValueMixin(object):
@@ -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
  """ Nodes for classes and their creations.
@@ -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 object specifications.
@@ -97,9 +97,9 @@ class CodeObjectSpec(object):
97
97
  self.filename = co_filename
98
98
  self.line_number = int(co_lineno)
99
99
 
100
- if type(co_has_starlist) is not bool:
100
+ if type(co_new_locals) is not bool:
101
101
  co_new_locals = co_new_locals != "False"
102
- if type(co_has_starlist) is not bool:
102
+ if type(co_is_optimized) is not bool:
103
103
  co_is_optimized = co_is_optimized != "False"
104
104
 
105
105
  self.new_locals = co_new_locals
@@ -111,7 +111,7 @@ class CodeObjectSpec(object):
111
111
  def __repr__(self):
112
112
  return (
113
113
  """\
114
- <CodeObjectSpec %(co_kind)s '%(co_name)s' with %(co_varnames)r>"""
114
+ <CodeObjectSpec %(co_kind)s '%(co_name)s' with var_names %(co_varnames)r>"""
115
115
  % self.getDetails()
116
116
  )
117
117
 
@@ -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
  """ Nodes for comparisons.
@@ -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
  """ Conditional nodes.
@@ -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
  """ Node for constant expressions. Can be all common built-in 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
  """ Nodes that build containers.
@@ -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
  """ Operations on Containers.
@@ -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
  """ Nodes for coroutine objects and their creations.
@@ -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
  """ Nodes for all things "ctypes" stdlib module.
@@ -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
  """ Nodes that build and operate on dictionaries.
@@ -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
  """ Nodes related to raising and making exceptions.
@@ -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
  """ Nodes concern with exec and eval builtins.
@@ -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
  """ Expression base classes.
@@ -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
  # We are not avoiding these in generated code at all
@@ -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
  """Mixins for expressions that have specific shapes.
@@ -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
  """ Frame nodes.
@@ -37,17 +37,19 @@ def checkFrameStatements(value):
37
37
  class StatementsFrameBase(StatementsSequenceMixin, StatementsSequenceBase):
38
38
  checkers = {"statements": checkFrameStatements}
39
39
 
40
- __slots__ = ("code_object", "needs_frame_exception_preserve")
40
+ __slots__ = ("code_object", "owner_code_name", "needs_frame_exception_preserve")
41
41
 
42
42
  named_children = ("statements|tuple+setter",)
43
43
 
44
- def __init__(self, statements, code_object, source_ref):
44
+ def __init__(self, statements, code_object, owner_code_name, source_ref):
45
45
  StatementsSequenceBase.__init__(
46
46
  self, statements=statements, source_ref=source_ref
47
47
  )
48
48
 
49
49
  self.code_object = code_object
50
50
 
51
+ self.owner_code_name = owner_code_name
52
+
51
53
  self.needs_frame_exception_preserve = False
52
54
 
53
55
  @staticmethod
@@ -276,15 +278,20 @@ class StatementsFrameBase(StatementsSequenceMixin, StatementsSequenceBase):
276
278
  def getStatementNiceName():
277
279
  return "frame statements sequence"
278
280
 
281
+ # TODO: Proper names for all of them?
282
+ def getFrameCodeName(self):
283
+ return "frame_" + self.owner_code_name
284
+
279
285
 
280
286
  class StatementsFrameModule(StatementsFrameBase):
281
287
  kind = "STATEMENTS_FRAME_MODULE"
282
288
 
283
- def __init__(self, statements, code_object, source_ref):
289
+ def __init__(self, statements, code_object, owner_code_name, source_ref):
284
290
  StatementsFrameBase.__init__(
285
291
  self,
286
292
  statements=statements,
287
293
  code_object=code_object,
294
+ owner_code_name=owner_code_name,
288
295
  source_ref=source_ref,
289
296
  )
290
297
 
@@ -296,11 +303,12 @@ class StatementsFrameModule(StatementsFrameBase):
296
303
  class StatementsFrameFunction(StatementsFrameBase):
297
304
  kind = "STATEMENTS_FRAME_FUNCTION"
298
305
 
299
- def __init__(self, statements, code_object, source_ref):
306
+ def __init__(self, statements, code_object, owner_code_name, source_ref):
300
307
  StatementsFrameBase.__init__(
301
308
  self,
302
309
  statements=statements,
303
310
  code_object=code_object,
311
+ owner_code_name=owner_code_name,
304
312
  source_ref=source_ref,
305
313
  )
306
314
 
@@ -314,11 +322,14 @@ class StatementsFrameClass(StatementsFrameBase):
314
322
 
315
323
  __slots__ = ("locals_scope",)
316
324
 
317
- def __init__(self, statements, code_object, locals_scope, source_ref):
325
+ def __init__(
326
+ self, statements, code_object, owner_code_name, locals_scope, source_ref
327
+ ):
318
328
  StatementsFrameBase.__init__(
319
329
  self,
320
330
  statements=statements,
321
331
  code_object=code_object,
332
+ owner_code_name=owner_code_name,
322
333
  source_ref=source_ref,
323
334
  )
324
335
 
@@ -333,11 +344,12 @@ class StatementsFrameClass(StatementsFrameBase):
333
344
 
334
345
 
335
346
  class StatementsFrameGeneratorBase(StatementsFrameBase):
336
- def __init__(self, statements, code_object, source_ref):
347
+ def __init__(self, statements, code_object, owner_code_name, source_ref):
337
348
  StatementsFrameBase.__init__(
338
349
  self,
339
350
  statements=statements,
340
351
  code_object=code_object,
352
+ owner_code_name=owner_code_name,
341
353
  source_ref=source_ref,
342
354
  )
343
355
 
@@ -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
  """ Function attribute nodes
@@ -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
  """ Nodes for functions and their creations.
@@ -1229,6 +1229,9 @@ class ExpressionFunctionCall(ChildrenHavingFunctionValuesTupleMixin, ExpressionB
1229
1229
 
1230
1230
  values = self.subnode_values
1231
1231
 
1232
+ for value in values:
1233
+ value.onContentEscapes(trace_collection)
1234
+
1232
1235
  # Ask for function for its cost.
1233
1236
  cost = function_body.getFunctionInlineCost(values)
1234
1237
 
@@ -1279,6 +1282,10 @@ class ExpressionFunctionCall(ChildrenHavingFunctionValuesTupleMixin, ExpressionB
1279
1282
  def getClosureVariableVersions(self):
1280
1283
  return self.variable_closure_traces
1281
1284
 
1285
+ def onContentEscapes(self, trace_collection):
1286
+ for value in self.subnode_values:
1287
+ value.onContentEscapes(trace_collection)
1288
+
1282
1289
 
1283
1290
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
1284
1291
  # integrates with CPython, but also works on its own.
@@ -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
  """ Specification record for future flags.
@@ -9,6 +9,8 @@ in-lining of "exec" statements with their own future imports, or in-lining of
9
9
  code from other modules.
10
10
  """
11
11
 
12
+ from nuitka.containers.OrderedDicts import OrderedDict
13
+ from nuitka.containers.OrderedSets import OrderedSet
12
14
  from nuitka.PythonVersions import python_version
13
15
  from nuitka.utils.InstanceCounters import (
14
16
  counted_del,
@@ -32,7 +34,7 @@ class FutureSpec(object):
32
34
  "unicode_literals",
33
35
  "absolute_import",
34
36
  "future_print",
35
- "barry_bdfl",
37
+ "barry_bdfl", # spell-checker: ignore bdfl
36
38
  "generator_stop",
37
39
  "future_annotations",
38
40
  "use_annotations",
@@ -141,6 +143,10 @@ class FutureSpec(object):
141
143
 
142
144
  return tuple(result)
143
145
 
146
+ def encode(self):
147
+ # TODO: Maybe asFlags becomes unnecessary.
148
+ return _encodeFlags(self.asFlags())
149
+
144
150
 
145
151
  def fromFlags(flags):
146
152
  flags = flags.split(",")
@@ -176,6 +182,32 @@ def fromFlags(flags):
176
182
  return result
177
183
 
178
184
 
185
+ # Relevance of future flags.
186
+ _future_version_specific_flags = OrderedDict(
187
+ (
188
+ ("CO_FUTURE_DIVISION", python_version < 0x300),
189
+ ("CO_FUTURE_UNICODE_LITERALS", True),
190
+ ("CO_FUTURE_PRINT_FUNCTION", python_version < 0x300),
191
+ ("CO_FUTURE_ABSOLUTE_IMPORT", python_version < 0x300),
192
+ ("CO_FUTURE_GENERATOR_STOP", 0x350 <= python_version < 0x370),
193
+ ("CO_FUTURE_ANNOTATIONS", python_version >= 0x370),
194
+ ("CO_FUTURE_BARRY_AS_BDFL", python_version >= 0x300),
195
+ )
196
+ )
197
+
198
+ _future_version_specific_flags = OrderedSet(
199
+ key for (key, value) in _future_version_specific_flags.items() if value
200
+ )
201
+
202
+
203
+ def _encodeFlags(flags):
204
+ result = 0
205
+ for bit, flag in enumerate(_future_version_specific_flags):
206
+ if flag in flags:
207
+ result |= 1 << bit
208
+ return result
209
+
210
+
179
211
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
180
212
  # integrates with CPython, but also works on its own.
181
213
  #
@@ -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
  """ Nodes for generator objects and their creations.
@@ -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
  """ Globals/locals/single arg dir nodes