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
  """ Nuitka watch main part.
@@ -8,7 +8,6 @@ of Nuitka changes on PyPI packages.
8
8
  """
9
9
 
10
10
  import os
11
- import subprocess
12
11
  import sys
13
12
  from optparse import OptionParser
14
13
 
@@ -21,14 +20,13 @@ from nuitka.TreeXML import fromFile
21
20
  from nuitka.utils.Execution import (
22
21
  check_call,
23
22
  executeProcess,
24
- executeToolChecked,
25
23
  withEnvironmentVarOverridden,
26
24
  )
27
25
  from nuitka.utils.FileOperations import (
28
- changeTextFileContents,
29
26
  deleteFile,
30
27
  getFileContents,
31
28
  getFileList,
29
+ getNormalizedPath,
32
30
  listDir,
33
31
  makePath,
34
32
  putTextFileContents,
@@ -41,7 +39,14 @@ from nuitka.utils.Utils import isLinux, isMacOS, isWin32Windows
41
39
  from nuitka.utils.Yaml import parseYaml
42
40
  from nuitka.Version import parseNuitkaVersionToTuple
43
41
 
42
+ from .Conda import (
43
+ getCondaRunCommand,
44
+ updateCondaEnvironmentFile,
45
+ updateCondaEnvironmentLockFile,
46
+ )
44
47
  from .GitHub import createNuitkaWatchPR
48
+ from .Pacman import updatePacmanFile, updatePacmanLockFile
49
+ from .Pipenv import updatePipenvFile, updatePipenvLockFile
45
50
 
46
51
  watch_logger = OurLogger("", base_style="blue")
47
52
 
@@ -89,217 +94,52 @@ def selectPythons(python_version_req, anaconda, msys2_mingw64):
89
94
 
90
95
 
91
96
  def selectOS(os_values):
92
- # return driven, pylint: disable=too-many-return-statements
97
+ # Need to move the Anaconda/MSYS2 handling into options of installed Pythons
98
+ # return driven, pylint: disable=too-many-branches,too-many-return-statements
93
99
 
94
100
  for value in os_values:
95
- if value not in ("Linux", "Win32", "macOS", "Win32-MSYS2", "Win32-Anaconda"):
101
+ if value not in (
102
+ "Linux",
103
+ "Win32",
104
+ "macOS",
105
+ "Win32-MSYS2",
106
+ "Win32-Anaconda",
107
+ "Linux-Anaconda",
108
+ "macOS-Anaconda",
109
+ ):
96
110
  watch_logger.sysexit("Illegal value for OS: %s" % value)
97
111
 
98
- if isLinux() and "Linux" in os_values:
99
- return "Linux"
112
+ # TODO: Once installed python detects MSYS2 and Anaconda, we should remove
113
+ # this in favor of passed options that allow flavors or not.
114
+ if isLinux():
115
+ if isAnacondaPython():
116
+ if "Linux-Anaconda" in os_values:
117
+ return "Linux-Anaconda"
118
+
119
+ return None
120
+ elif "Linux" in os_values:
121
+ return "Linux"
100
122
  if isWin32Windows():
101
123
  if isMSYS2MingwPython():
102
124
  if "Win32-MSYS2" in os_values:
103
125
  return "Win32-MSYS2"
104
126
 
105
127
  return None
106
- if isAnacondaPython():
128
+ elif isAnacondaPython():
107
129
  if "Win32-Anaconda" in os_values:
108
130
  return "Win32-Anaconda"
109
-
110
- return None
111
- if "Win32" in os_values:
131
+ elif "Win32" in os_values:
112
132
  return "Win32"
113
- if isMacOS() and "macOS" in os_values:
114
- return "macOS"
133
+ if isMacOS():
134
+ if isAnacondaPython():
135
+ if "macOS-Anaconda" in os_values:
136
+ return "macOS-Anaconda"
137
+ elif "macOS" in os_values:
138
+ return "macOS"
115
139
 
116
140
  return None
117
141
 
118
142
 
119
- def getPlatformRequirements(installed_python, case_data):
120
- requirements = list(case_data["requirements"])
121
-
122
- # Nuitka house keeping, these are from setup.py but we ignore onefile needs
123
- # as that is not currently covered in watches.
124
- # spell-checker: ignore orderedset,imageio
125
- needs_onefile = False
126
-
127
- if installed_python.getHexVersion() >= 0x370:
128
- requirements.append("ordered-set >= 4.1.0")
129
- if installed_python.getHexVersion() < 0x300:
130
- requirements.append("subprocess32")
131
- if needs_onefile and installed_python.getHexVersion() >= 0x370:
132
- requirements.append("zstandard >= 0.15")
133
- if (
134
- os.name != "nt"
135
- and sys.platform != "darwin"
136
- and installed_python.getHexVersion() < 0x370
137
- ):
138
- requirements.append("orderedset >= 2.0.3")
139
- if sys.platform == "darwin" and installed_python.getHexVersion() < 0x370:
140
- requirements.append("orderedset >= 2.0.3")
141
-
142
- # For icon conversion.
143
- if case_data.get("icons", "no") == "yes":
144
- requirements.append("imageio")
145
-
146
- return requirements
147
-
148
-
149
- def _updatePipenvFile(installed_python, case_data, dry_run, result_path):
150
- pipenv_filename = os.path.join(result_path, "Pipfile")
151
- pipenv_package_requirements = []
152
-
153
- for requirement in getPlatformRequirements(
154
- installed_python=installed_python, case_data=case_data
155
- ):
156
- # Ignore spaces in requirements.
157
- requirement = requirement.replace(" ", "")
158
-
159
- if all(char not in requirement for char in "=><"):
160
- pipenv_package_requirements.append('"%s" = "*"' % requirement)
161
- else:
162
- operator_index = min(
163
- requirement.find(char) for char in "=><" if char in requirement
164
- )
165
-
166
- pipenv_package_requirements.append(
167
- '"%s" = "%s"'
168
- % (requirement[:operator_index], requirement[operator_index:])
169
- )
170
-
171
- # TODO: Other indexes, e.g. nvidia might be needed too
172
- changed_pipenv_file = changeTextFileContents(
173
- pipenv_filename,
174
- """\
175
- [[source]]
176
- name = "pypi"
177
- url = "https://pypi.org/simple"
178
- verify_ssl = true
179
-
180
- [requires]
181
- python_version = "%(python_version)s"
182
-
183
- [packages]
184
- %(pipenv_package_requirements)s
185
- """
186
- % {
187
- "pipenv_package_requirements": "\n".join(pipenv_package_requirements),
188
- "python_version": installed_python.getPythonVersion(),
189
- },
190
- compare_only=dry_run,
191
- )
192
-
193
- return changed_pipenv_file, pipenv_filename
194
-
195
-
196
- def _updatePacmanFile(installed_python, case_data, dry_run, result_path):
197
- pipenv_filename = os.path.join(result_path, "Pacman.txt")
198
- pipenv_package_requirements = []
199
-
200
- for requirement in getPlatformRequirements(
201
- installed_python=installed_python, case_data=case_data
202
- ):
203
- # Ignore spaces in requirements.
204
- requirement = requirement.replace(" ", "")
205
-
206
- # TODO: Other indexes, e.g. nvidia might be needed too
207
- changed_pipenv_file = changeTextFileContents(
208
- pipenv_filename,
209
- """\
210
- [python]
211
- %(python_version)s
212
- [packages]
213
- %(pipenv_package_requirements)s
214
- """
215
- % {
216
- "pipenv_package_requirements": "\n".join(pipenv_package_requirements),
217
- "python_version": installed_python.getPythonVersion(),
218
- },
219
- compare_only=dry_run,
220
- )
221
-
222
- return changed_pipenv_file, pipenv_filename
223
-
224
-
225
- def _execPipenvCommand(installed_python, command, retry=False):
226
- try:
227
- check_call(
228
- [
229
- installed_python.getPythonExe(),
230
- "-m",
231
- "pipenv",
232
- command,
233
- "--python",
234
- installed_python.getPythonExe(),
235
- ],
236
- logger=watch_logger,
237
- )
238
- except subprocess.CalledProcessError:
239
- if command in ("install", "update") and not retry:
240
- _execPipenvCommand(installed_python, "--rm")
241
- _execPipenvCommand(installed_python, command)
242
-
243
- else:
244
- raise
245
-
246
-
247
- def _updatePipenvLockFile(
248
- installed_python, dry_run, pipenv_filename_full, no_pipenv_update
249
- ):
250
- if os.path.exists("Pipfile.lock"):
251
- if no_pipenv_update:
252
- watch_logger.info(
253
- "Keeping existing lock file with pipenv file '%s'."
254
- % pipenv_filename_full
255
- )
256
-
257
- _execPipenvCommand(installed_python, "install")
258
-
259
- elif not dry_run:
260
- watch_logger.info(
261
- "Working with pipenv file '%s' to update virtualenv, may take a while."
262
- % pipenv_filename_full
263
- )
264
-
265
- _execPipenvCommand(installed_python, "update")
266
- else:
267
- watch_logger.info(
268
- "Working with pipenv file '%s' to install virtualenv, may take a while."
269
- % pipenv_filename_full
270
- )
271
-
272
- check_call(
273
- [
274
- installed_python.getPythonExe(),
275
- "-m",
276
- "pipenv",
277
- "install",
278
- "--python",
279
- installed_python.getPythonExe(),
280
- ]
281
- )
282
-
283
- return "Pipfile.lock"
284
-
285
-
286
- def _updatePacmanLockFile():
287
- pacman_lock_filename = "Pacman.lock"
288
-
289
- pacman_output = executeToolChecked(
290
- logger=watch_logger,
291
- command=["pacman", "-Q"],
292
- absence_message="needs pacman to query package status on MSYS2",
293
- )
294
-
295
- if str is not bytes:
296
- pacman_output = pacman_output.decode("utf8")
297
-
298
- changeTextFileContents(filename=pacman_lock_filename, contents=pacman_output)
299
-
300
- return pacman_lock_filename
301
-
302
-
303
143
  def _compileCase(case_data, case_dir, installed_python, lock_filename, jobs):
304
144
  preferred_package_type = installed_python.getPreferredPackageType()
305
145
 
@@ -319,8 +159,12 @@ def _compileCase(case_data, case_dir, installed_python, lock_filename, jobs):
319
159
  run_command = ["python"]
320
160
 
321
161
  extra_options.append("--disable-ccache")
162
+ elif preferred_package_type == "conda":
163
+ run_command = getCondaRunCommand(
164
+ installed_python=installed_python, case_data=case_data
165
+ )
322
166
  else:
323
- assert False
167
+ assert False, preferred_package_type
324
168
 
325
169
  if jobs is not None:
326
170
  extra_options.append("--jobs=%s" % jobs)
@@ -336,7 +180,8 @@ def _compileCase(case_data, case_dir, installed_python, lock_filename, jobs):
336
180
  "--report-user-provided=pipenv_hash=%s"
337
181
  % getFileContentsHash(lock_filename),
338
182
  ]
339
- + extra_options
183
+ + extra_options,
184
+ logger=watch_logger,
340
185
  )
341
186
 
342
187
  if case_data["interactive"] == "no":
@@ -371,60 +216,81 @@ def _compileCase(case_data, case_dir, installed_python, lock_filename, jobs):
371
216
  )
372
217
 
373
218
 
374
- def _updateCase(
375
- case_dir,
219
+ def _updateCaseLock(
220
+ installed_python,
376
221
  case_data,
377
- dry_run,
222
+ case_dir,
378
223
  no_pipenv_update,
379
- nuitka_update_mode,
380
- installed_python,
381
224
  result_path,
382
- jobs,
383
225
  ):
384
- # Many details and cases due to package method being handled here.
385
- # pylint: disable=too-many-branches,too-many-locals
386
-
387
- # Not good for dry run, but tough life.
388
- makePath(result_path)
389
-
390
226
  # Update the pipenv file in any case, ought to be stable but we follow
391
227
  # global changes this way.
392
228
  preferred_package_type = installed_python.getPreferredPackageType()
393
- if preferred_package_type == "pip":
394
- changed_pipenv_file, pipenv_filename = _updatePipenvFile(
395
- installed_python=installed_python,
396
- case_data=case_data,
397
- dry_run=dry_run,
398
- result_path=result_path,
399
- )
400
229
 
401
- pipenv_filename_full = os.path.join(case_dir, pipenv_filename)
230
+ # Not good for actual dry run, but tough life.
231
+ makePath(result_path)
232
+
233
+ with withDirectoryChange(result_path):
234
+ if preferred_package_type == "pip":
235
+ pipenv_filename = updatePipenvFile(
236
+ installed_python=installed_python,
237
+ case_data=case_data,
238
+ )
402
239
 
403
- if dry_run and changed_pipenv_file:
404
- watch_logger.info("Would create pipenv file '%s'." % pipenv_filename_full)
405
- return
240
+ pipenv_filename_full = os.path.join(case_dir, pipenv_filename)
406
241
 
407
- with withDirectoryChange(result_path):
408
242
  # Update or create lockfile of pipenv.
409
- lock_filename = _updatePipenvLockFile(
243
+ lock_filename = updatePipenvLockFile(
244
+ logger=watch_logger,
410
245
  installed_python=installed_python,
411
- dry_run=dry_run,
412
246
  pipenv_filename_full=pipenv_filename_full,
413
247
  no_pipenv_update=no_pipenv_update,
414
248
  )
415
- elif preferred_package_type == "pacman":
416
- changed_pipenv_file, pipenv_filename = _updatePacmanFile(
417
- installed_python=installed_python,
418
- case_data=case_data,
419
- dry_run=dry_run,
420
- result_path=result_path,
421
- )
249
+ elif preferred_package_type == "pacman":
250
+ updatePacmanFile(
251
+ installed_python=installed_python,
252
+ case_data=case_data,
253
+ )
422
254
 
423
- with withDirectoryChange(result_path):
424
255
  # Update or create lockfile of pipenv.
425
- lock_filename = _updatePacmanLockFile()
426
- else:
427
- assert False, preferred_package_type
256
+ lock_filename = updatePacmanLockFile(logger=watch_logger)
257
+ elif preferred_package_type == "conda":
258
+ updateCondaEnvironmentFile(
259
+ installed_python=installed_python,
260
+ case_data=case_data,
261
+ )
262
+
263
+ # Update or create lockfile of pipenv.
264
+ lock_filename = updateCondaEnvironmentLockFile(
265
+ logger=watch_logger,
266
+ installed_python=installed_python,
267
+ case_data=case_data,
268
+ )
269
+
270
+ lock_filename = os.path.abspath(lock_filename)
271
+
272
+ return lock_filename
273
+
274
+
275
+ def _updateCase(
276
+ case_dir,
277
+ case_data,
278
+ no_pipenv_update,
279
+ nuitka_update_mode,
280
+ installed_python,
281
+ result_path,
282
+ jobs,
283
+ ):
284
+ # Many details and cases due to package method being handled here.
285
+ # pylint: disable=too-many-branches
286
+
287
+ lock_filename = _updateCaseLock(
288
+ installed_python=installed_python,
289
+ case_data=case_data,
290
+ case_dir=case_dir,
291
+ no_pipenv_update=no_pipenv_update,
292
+ result_path=result_path,
293
+ )
428
294
 
429
295
  # Check if compilation is required.
430
296
  with withDirectoryChange(result_path):
@@ -449,7 +315,7 @@ def _updateCase(
449
315
  if existing_hash != old_report_root_hash:
450
316
  watch_logger.info(
451
317
  "Recompilation with identical Nuitka for '%s' due to changed pipfile."
452
- % pipenv_filename_full
318
+ % lock_filename
453
319
  )
454
320
 
455
321
  need_compile = True
@@ -459,7 +325,7 @@ def _updateCase(
459
325
  else:
460
326
  watch_logger.info(
461
327
  "Skipping compilation with identical Nuitka for '%s'."
462
- % pipenv_filename_full
328
+ % lock_filename
463
329
  )
464
330
 
465
331
  need_compile = False
@@ -469,7 +335,7 @@ def _updateCase(
469
335
  % (
470
336
  old_nuitka_version,
471
337
  nuitka_version,
472
- pipenv_filename_full,
338
+ lock_filename,
473
339
  )
474
340
  )
475
341
 
@@ -496,9 +362,7 @@ def _updateCase(
496
362
  )
497
363
 
498
364
 
499
- def updateCase(
500
- case_dir, case_data, dry_run, no_pipenv_update, nuitka_update_mode, jobs
501
- ):
365
+ def updateCase(case_dir, case_data, no_pipenv_update, nuitka_update_mode, jobs):
502
366
  case_name = case_data["case"]
503
367
 
504
368
  watch_logger.info("Consider '%s' ... " % case_name)
@@ -520,7 +384,6 @@ def updateCase(
520
384
 
521
385
  selected_pythons = tuple(
522
386
  selectPythons(
523
- # TODO: Enable Anaconda support through options/detection.
524
387
  anaconda="Anaconda" in os_name,
525
388
  msys2_mingw64="MSYS2" in os_name,
526
389
  python_version_req=case_data.get("python_version_req"),
@@ -533,23 +396,24 @@ def updateCase(
533
396
 
534
397
  # For all relevant Pythons applicable to this case.
535
398
  for installed_python in selectPythons(
536
- # TODO: Enable Anaconda support through options/detection.
537
399
  anaconda="Anaconda" in os_name,
538
400
  msys2_mingw64="MSYS2" in os_name,
539
401
  python_version_req=case_data.get("python_version_req"),
540
402
  ):
541
403
  watch_logger.info("Consider with Python %s." % installed_python)
542
404
 
543
- result_path = "result/%(case_name)s/%(python_version)s-%(os_name)s" % {
544
- "case_name": case_name,
545
- "os_name": os_name,
546
- "python_version": installed_python.getPythonVersion(),
547
- }
405
+ result_path = getNormalizedPath(
406
+ "result/%(case_name)s/%(python_version)s-%(os_name)s"
407
+ % {
408
+ "case_name": case_name,
409
+ "os_name": os_name,
410
+ "python_version": installed_python.getPythonVersion(),
411
+ }
412
+ )
548
413
 
549
414
  _updateCase(
550
415
  case_dir=case_dir,
551
416
  case_data=case_data,
552
- dry_run=dry_run,
553
417
  no_pipenv_update=no_pipenv_update,
554
418
  nuitka_update_mode=nuitka_update_mode,
555
419
  installed_python=installed_python,
@@ -558,12 +422,11 @@ def updateCase(
558
422
  )
559
423
 
560
424
 
561
- def updateCases(case_dir, dry_run, no_pipenv_update, nuitka_update_mode, jobs):
425
+ def updateCases(case_dir, no_pipenv_update, nuitka_update_mode, jobs):
562
426
  for case_data in parseYaml(getFileContents("case.yml", mode="rb")):
563
427
  updateCase(
564
428
  case_dir=case_dir,
565
429
  case_data=case_data,
566
- dry_run=dry_run,
567
430
  no_pipenv_update=no_pipenv_update,
568
431
  nuitka_update_mode=nuitka_update_mode,
569
432
  jobs=jobs,
@@ -611,15 +474,6 @@ Nuitka binary to compile with. Defaults to one near the nuitka-watch usage.""",
611
474
  Do not update the pipenv environment. Best to see only effect of Nuitka update. Default %default.""",
612
475
  )
613
476
 
614
- parser.add_option(
615
- "--dry-run",
616
- action="store_false",
617
- dest="dry_run",
618
- default=False,
619
- help="""\
620
- Do not change anything, just report what would be done. Not yet perfectly true. Default %default.""",
621
- )
622
-
623
477
  parser.add_option(
624
478
  "--nuitka-update-mode",
625
479
  action="store",
@@ -666,7 +520,7 @@ to reserve cores.""",
666
520
  getTestExecutionPythonVersions()
667
521
  ):
668
522
  installed_pythons[python_version] = findPythons(
669
- python_version, module_name="pipenv"
523
+ python_version, module_name=None if isAnacondaPython() else "pipenv"
670
524
  )
671
525
 
672
526
  nuitka_binary = os.path.abspath(os.path.expanduser(options.nuitka_binary))
@@ -697,7 +551,6 @@ to reserve cores.""",
697
551
  with withDirectoryChange(os.path.dirname(case_filename)):
698
552
  updateCases(
699
553
  case_dir=os.path.dirname(case_filename),
700
- dry_run=options.dry_run,
701
554
  no_pipenv_update=options.no_pipenv_update,
702
555
  nuitka_update_mode=options.nuitka_update_mode,
703
556
  jobs=options.jobs,
nuitka/tree/Building.py CHANGED
@@ -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
  """ Build the internal node tree from source code.
@@ -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
  """ This module is providing helper functions for complex call re-formulations.
@@ -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
  """ Extracting visitors.
@@ -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
  """ Internal module
nuitka/tree/Operations.py CHANGED
@@ -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 the tree.
@@ -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
  """ Reformulation of assert statements.
@@ -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
  """ Reformulation of assignment statements.
@@ -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
  """ Reformulation of boolean and/or expressions.
@@ -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
  """ Reformulation of call expressions.
@@ -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
  """ Reformulation of Python2 class statements.
@@ -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
  """ Reformulation of Python3 class statements.
@@ -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
  """ Reformulation of comparison chain expressions.
@@ -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
  """ Reformulation of contraction expressions.
@@ -336,6 +336,7 @@ def buildGeneratorExpressionNode(provider, node, source_ref):
336
336
  statement=frame_node_class(
337
337
  statements=mergeStatements(statements, False),
338
338
  code_object=code_object,
339
+ owner_code_name=code_body.getCodeName(),
339
340
  source_ref=source_ref,
340
341
  )
341
342
  )
@@ -649,6 +650,7 @@ def _buildContractionNode(provider, node, name, emit_class, start_value, source_
649
650
  StatementsFrameGenerator(
650
651
  statements=mergeStatements(statements, False),
651
652
  code_object=code_object,
653
+ owner_code_name=function_body.getCodeName(),
652
654
  source_ref=source_ref,
653
655
  ),
654
656
  )
@@ -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
  """ Reformulation of dictionary 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
  """ Reformulation of "exec" statements
@@ -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
  """ Reformulation of for loop statements.