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
nuitka/PostProcessing.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
  """ Postprocessing tasks for create binaries or modules.
@@ -12,10 +12,12 @@ import sys
12
12
  from nuitka import Options, OutputDirectories
13
13
  from nuitka.build.DataComposerInterface import getConstantBlobFilename
14
14
  from nuitka.ModuleRegistry import getImportedModuleNames
15
+ from nuitka.PythonFlavors import isSelfCompiledPythonUninstalled
15
16
  from nuitka.PythonVersions import getTargetPythonDLLPath, python_version
16
17
  from nuitka.Tracing import postprocessing_logger
17
18
  from nuitka.utils.Execution import wrapCommandForDebuggerForExec
18
19
  from nuitka.utils.FileOperations import (
20
+ addFileExecutablePermission,
19
21
  getFileContents,
20
22
  getFileSize,
21
23
  hasFilenameExtension,
@@ -205,6 +207,76 @@ def _addWindowsIconFromIcons(onefile):
205
207
  )
206
208
 
207
209
 
210
+ def createScriptFileForExecution(result_filename):
211
+ script_filename = OutputDirectories.getResultRunFilename(onefile=False)
212
+
213
+ # TODO: This is probably a prefix kind that should be used more often, e.g.
214
+ # in reporting.
215
+ if isSelfCompiledPythonUninstalled():
216
+ sys_prefix = os.path.dirname(sys.executable)
217
+ else:
218
+ sys_prefix = sys.prefix
219
+
220
+ python_home = makeFilesystemEncodable(sys_prefix)
221
+ python_path = os.pathsep.join(makeFilesystemEncodable(e) for e in sys.path)
222
+
223
+ debugger_call = (
224
+ (" ".join(wrapCommandForDebuggerForExec(command=())) + " ")
225
+ if Options.shallRunInDebugger()
226
+ else ""
227
+ )
228
+ exe_filename = os.path.basename(makeFilesystemEncodable(result_filename))
229
+
230
+ if isWin32Windows():
231
+ script_contents = """
232
+ @echo off
233
+ rem This script was created by Nuitka to execute '%(exe_filename)s' with Python DLL being found.
234
+ set PATH=%(dll_directory)s;%%PATH%%
235
+ set PYTHONHOME=%(python_home)s
236
+ set NUITKA_PYTHONPATH=%(python_path)s
237
+ %(debugger_call)s"%%~dp0%(exe_filename)s" %%*
238
+ """ % {
239
+ "debugger_call": debugger_call,
240
+ "dll_directory": makeFilesystemEncodable(
241
+ os.path.dirname(getTargetPythonDLLPath())
242
+ ),
243
+ "python_home": python_home,
244
+ "python_path": python_path,
245
+ "exe_filename": exe_filename,
246
+ }
247
+ else:
248
+ # TODO: Setting PYTHONPATH should not be needed, but it fails to work
249
+ # unlike on Windows for unknown reasons.
250
+
251
+ script_contents = """\
252
+ #!/bin/sh
253
+ # Absolute path to this script, e.g. /home/user/bin/foo.sh
254
+ SCRIPT=$(readlink -f "$0")
255
+ # Absolute path this script is in, thus /home/user/bin
256
+ SCRIPT_PATH=$(dirname "$SCRIPT")
257
+
258
+ PYTHONHOME=%(python_home)s
259
+ export PYTHONHOME
260
+ NUITKA_PYTHONPATH="%(python_path)s"
261
+ export NUITKA_PYTHONPATH
262
+ PYTHONPATH="%(python_path)s"
263
+ export PYTHONPATH
264
+
265
+ %(debugger_call)s"$SCRIPT_PATH/%(exe_filename)s" $@
266
+
267
+ """ % {
268
+ "debugger_call": debugger_call,
269
+ "python_home": python_home,
270
+ "python_path": python_path,
271
+ "exe_filename": exe_filename,
272
+ }
273
+
274
+ putTextFileContents(script_filename, script_contents)
275
+
276
+ if not isWin32Windows():
277
+ addFileExecutablePermission(script_filename)
278
+
279
+
208
280
  def executePostProcessingResources(manifest, onefile):
209
281
  """Adding Windows resources to the binary.
210
282
 
@@ -280,7 +352,7 @@ def executePostProcessing():
280
352
  """
281
353
 
282
354
  # Lots of cases to deal with,
283
- # pylint: disable=too-many-branches,too-many-locals,too-many-statements
355
+ # pylint: disable=too-many-branches,too-many-statements
284
356
 
285
357
  result_filename = OutputDirectories.getResultFullpath(onefile=False)
286
358
 
@@ -372,31 +444,8 @@ Error, expected 'libpython dependency not found. Please report the bug."""
372
444
  cleanupHeaderForAndroid(result_filename)
373
445
 
374
446
  # Might have to create a CMD file, potentially with debugger run.
375
- if Options.shallCreateCmdFileForExecution():
376
- cmd_filename = OutputDirectories.getResultRunFilename(onefile=False)
377
-
378
- cmd_contents = """
379
- @echo off
380
- rem This script was created by Nuitka to execute '%(exe_filename)s' with Python DLL being found.
381
- set PATH=%(dll_directory)s;%%PATH%%
382
- set PYTHONHOME=%(python_home)s
383
- set NUITKA_PYTHONPATH=%(python_path)s
384
- %(debugger_call)s"%%~dp0%(exe_filename)s" %%*
385
- """ % {
386
- "debugger_call": (
387
- (" ".join(wrapCommandForDebuggerForExec()) + " ")
388
- if Options.shallRunInDebugger()
389
- else ""
390
- ),
391
- "dll_directory": makeFilesystemEncodable(
392
- os.path.dirname(getTargetPythonDLLPath())
393
- ),
394
- "python_home": makeFilesystemEncodable(sys.prefix),
395
- "python_path": ";".join(makeFilesystemEncodable(e) for e in sys.path),
396
- "exe_filename": os.path.basename(makeFilesystemEncodable(result_filename)),
397
- }
398
-
399
- putTextFileContents(cmd_filename, cmd_contents)
447
+ if Options.shallCreateScriptFileForExecution():
448
+ createScriptFileForExecution(result_filename=result_filename)
400
449
 
401
450
  # Create a ".pyi" file for created modules
402
451
  if Options.shallMakeModule() and Options.shallCreatePyiFile():
nuitka/Progress.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
  """ Progress bars in Nuitka.
nuitka/PythonFlavors.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
  """ Python flavors specifics.
@@ -99,6 +99,9 @@ def isHomebrewPython():
99
99
  if not isMacOS():
100
100
  return False
101
101
 
102
+ if isGithubActionsPython():
103
+ return True
104
+
102
105
  candidate = os.path.join(
103
106
  getSystemPrefixPath(), "lib", "python" + python_version_str, "sitecustomize.py"
104
107
  )
@@ -177,6 +180,9 @@ def isUninstalledPython():
177
180
  if isDebianPackagePython():
178
181
  return False
179
182
 
183
+ if isSelfCompiledPythonUninstalled():
184
+ return True
185
+
180
186
  if isStaticallyLinkedPython():
181
187
  return False
182
188
 
@@ -364,6 +370,8 @@ def getPythonFlavorName():
364
370
  return "Arch Python"
365
371
  elif isAlpinePackagePython():
366
372
  return "Alpine Python"
373
+ elif isGithubActionsPython():
374
+ return "GitHub Actions Python"
367
375
  elif isHomebrewPython():
368
376
  return "Homebrew Python"
369
377
  elif isRyePython():
@@ -382,8 +390,6 @@ def getPythonFlavorName():
382
390
  return "CPython Official"
383
391
  elif isSelfCompiledPythonUninstalled():
384
392
  return "Self Compiled Uninstalled"
385
- elif isGithubActionsPython():
386
- return "GitHub Actions Python"
387
393
  elif isManyLinuxPython():
388
394
  return "Manylinux Python"
389
395
  else:
nuitka/PythonOperators.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
  """ Python operator tables
nuitka/PythonVersions.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
  """ Python version specifics.
@@ -196,14 +196,18 @@ def needsDuplicateArgumentColOffset():
196
196
  return True
197
197
 
198
198
 
199
+ def getRunningPythonDllHandle():
200
+ # We trust ctypes internals here, pylint: disable=protected-access
201
+ # spell-checker: ignore pythonapi
202
+ return ctypes.pythonapi._handle
203
+
204
+
199
205
  def getRunningPythonDLLPath():
200
206
  from nuitka.utils.SharedLibraries import (
201
207
  getWindowsRunningProcessModuleFilename,
202
208
  )
203
209
 
204
- # We trust ctypes internals here, pylint: disable=protected-access
205
- # spell-checker: ignore pythonapi
206
- return getWindowsRunningProcessModuleFilename(ctypes.pythonapi._handle)
210
+ return getWindowsRunningProcessModuleFilename(getRunningPythonDllHandle())
207
211
 
208
212
 
209
213
  def getTargetPythonDLLPath():
nuitka/Serialization.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
  """ Write and read constants data files and provide identifiers.
@@ -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
  """ Source code reference record.
nuitka/Tracing.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
  """ Outputs to the user.
@@ -491,6 +491,7 @@ tools_logger = OurLogger("Nuitka-Tools")
491
491
  wheel_logger = OurLogger("Nuitka-Wheel", base_style="blue")
492
492
  cache_logger = OurLogger("Nuitka-Cache")
493
493
  reports_logger = OurLogger("Nuitka-Reports")
494
+ offsets_logger = OurLogger("Nuitka-Offsets")
494
495
 
495
496
 
496
497
  def queryUser(question, choices, default, default_non_interactive):
nuitka/TreeXML.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
  """ XML node tree handling
nuitka/Variables.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
  """ Variables link the storage and use of a Python variable together.
nuitka/Version.py CHANGED
@@ -20,8 +20,8 @@
20
20
  """
21
21
 
22
22
  version_string = """\
23
- Nuitka V2.5.6
24
- Copyright (C) 2024 Kay Hayen."""
23
+ Nuitka V2.6
24
+ Copyright (C) 2025 Kay Hayen."""
25
25
 
26
26
 
27
27
  def getNuitkaVersion():
nuitka/__init__.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
  """ Dummy file to make this directory a package. """
nuitka/__main__.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
  """
@@ -65,6 +65,9 @@ def main():
65
65
  )
66
66
  sys.exit(1)
67
67
 
68
+ # Make sure this is removed if it exists.
69
+ getLaunchingNuitkaProcessEnvironmentValue("NUITKA_SITE_FILENAME")
70
+
68
71
  nuitka_binary_name = getLaunchingNuitkaProcessEnvironmentValue("NUITKA_BINARY_NAME")
69
72
  if nuitka_binary_name is not None:
70
73
  sys.argv[0] = nuitka_binary_name
nuitka/__past__.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
  """
@@ -1,5 +1,5 @@
1
1
  # -*- python -*-
2
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
3
3
 
4
4
 
5
5
  """
@@ -40,11 +40,8 @@ from nuitka.Tracing import (
40
40
  )
41
41
  from nuitka.utils.FileOperations import (
42
42
  changeFilenameExtension,
43
- deleteFile,
44
43
  getExternalUsePath,
45
44
  getFilenameExtension,
46
- getNormalizedPath,
47
- isFilesystemEncodable,
48
45
  )
49
46
  from nuitka.utils.Json import loadJsonFromFilename
50
47
  from nuitka.utils.Utils import (
@@ -84,6 +81,7 @@ from .SconsUtils import (
84
81
  initScons,
85
82
  isClangName,
86
83
  isGccName,
84
+ makeResultPathFileSystemEncodable,
87
85
  prepareEnvironment,
88
86
  provideStaticSourceFile,
89
87
  raiseNoCompilerFoundErrorExit,
@@ -361,10 +359,12 @@ env = checkWindowsCompilerFound(
361
359
  clang_mode=clang_mode,
362
360
  msvc_version=msvc_version,
363
361
  assume_yes_for_downloads=assume_yes_for_downloads,
362
+ download_ok=True,
364
363
  )
365
364
 
366
365
  env.the_compiler = env["CC"]
367
366
  env.the_cc_name = os.path.normcase(os.path.basename(env.the_compiler))
367
+ env.module_mode = module_mode
368
368
  env.standalone_mode = standalone_mode
369
369
  env.debug_mode = debug_mode
370
370
  env.debugger_mode = debugger_mode
@@ -443,20 +443,6 @@ setupCCompiler(
443
443
 
444
444
  # Avoid them as appearing to be different files. TODO: Find out which
445
445
  # clang version has this, clang-8 does not.
446
- if env.gcc_mode and not env.clang_mode and env.gcc_version >= (8,):
447
- if source_dir != "." and not full_names:
448
- # TODO: This also lies for modules codes.
449
- env.Append(
450
- CCFLAGS=[
451
- "--file-prefix-map=%s=%s" % (os.path.normpath(source_dir), "."),
452
- "--file-prefix-map=%s=%s"
453
- % (
454
- os.path.normpath(os.path.join(env.source_dir, "static_src")),
455
- os.path.normpath(os.path.join(env.nuitka_src, "static_src")),
456
- ),
457
- ]
458
- )
459
-
460
446
  if env.msvc_mode:
461
447
  # With Clang on Windows, there is also an linker to use. spell-checker: ignore bigobj
462
448
  env.Append(
@@ -471,7 +457,7 @@ if env.msvc_mode:
471
457
  # No incremental linking.
472
458
  env.Append(LINKFLAGS=["/INCREMENTAL:NO"])
473
459
 
474
- if module_mode:
460
+ if env.module_mode:
475
461
  # Make sure we handle import library on our own and put it into the
476
462
  # build directory, spell-checker: ignore IMPLIB
477
463
 
@@ -483,8 +469,9 @@ if env.msvc_mode:
483
469
  ]
484
470
  )
485
471
 
486
- if not module_mode:
472
+ if not env.module_mode:
487
473
  enableWindowsStackSize(env=env, target_arch=target_arch)
474
+
488
475
  if env.debug_mode:
489
476
  if env.gcc_mode:
490
477
  # Allow gcc/clang to point out all kinds of inconsistency to us by
@@ -514,6 +501,9 @@ if env.debug_mode:
514
501
  )
515
502
 
516
503
  elif env.msvc_mode:
504
+ if "allow-c-warnings" not in env.experimental_flags and not env.debugger_mode:
505
+ env.Append(CCFLAGS=["/WX"])
506
+
517
507
  # Disable warnings that system headers already show.
518
508
  env.Append(
519
509
  CCFLAGS=[
@@ -525,12 +515,11 @@ if env.debug_mode:
525
515
  "/wd4189",
526
516
  "/wd4211",
527
517
  "/wd4115",
528
- "/WX",
529
518
  ]
530
519
  )
531
520
 
532
521
  # Disable warnings, that CPython headers already show.
533
- if python_version >= (3, 4):
522
+ if python_version >= (3,):
534
523
  env.Append(CCFLAGS=["/wd4512", "/wd4510", "/wd4610"])
535
524
 
536
525
  if python_version >= (3, 13):
@@ -672,15 +661,28 @@ if env.static_libpython and (
672
661
  ):
673
662
  env.Append(CPPDEFINES=["_NUITKA_USE_UNEXPOSED_API"])
674
663
 
664
+ if env.static_libpython and python_version >= (3, 12):
665
+ env.Append(
666
+ CPPPATH=[
667
+ os.path.join(env.nuitka_src, "inline_copy", "python_hacl", "hacl_312"),
668
+ os.path.join(
669
+ env.nuitka_src, "inline_copy", "python_hacl", "hacl_312", "include"
670
+ ),
671
+ ]
672
+ )
673
+
674
+ env.Append(CPPDEFINES=["_NUITKA_INLINE_COPY_HACL"])
675
+
676
+ # Remove it from static link libraries as well, if present, so far they are
677
+ # bugs and do not exist.
678
+ link_module_libs = [
679
+ link_module_lib
680
+ for link_module_lib in link_module_libs
681
+ if "libHacl_Hash_SHA2" not in link_module_libs
682
+ ]
683
+
675
684
  if os.name == "nt":
676
685
  if env.nuitka_python:
677
- env.Append(
678
- LINKFLAGS=[
679
- "/LTCG",
680
- "/USEPROFILE:PGD=" + os.path.join(python_prefix_external, "python.pgd"),
681
- ]
682
- )
683
-
684
686
  link_data = loadJsonFromFilename(
685
687
  os.path.join(python_prefix_external, "link.json")
686
688
  )
@@ -728,7 +730,7 @@ if os.name == "nt":
728
730
 
729
731
  if not env.msys2_mingw_python:
730
732
  addWinLib()
731
- elif not module_mode:
733
+ elif not env.module_mode:
732
734
  # Add the python library path to the library path
733
735
  if env.self_compiled_python_uninstalled:
734
736
  python_lib_path = python_prefix_external
@@ -804,7 +806,7 @@ elif not module_mode:
804
806
  env.Append(LINKFLAGS=["-rpath=" + python_lib_path])
805
807
 
806
808
  if isMacOS():
807
- if module_mode:
809
+ if env.module_mode:
808
810
  # Dynamic lookup needed for extension modules.
809
811
  env.Append(LINKFLAGS=["-undefined", "dynamic_lookup"])
810
812
  else:
@@ -833,20 +835,8 @@ env.Append(
833
835
  ]
834
836
  )
835
837
 
836
- if env.static_libpython and python_version >= (3, 12):
837
- env.Append(
838
- CPPPATH=[
839
- os.path.join(env.nuitka_src, "inline_copy", "python_hacl", "hacl_312"),
840
- os.path.join(
841
- env.nuitka_src, "inline_copy", "python_hacl", "hacl_312", "include"
842
- ),
843
- ]
844
- )
845
-
846
- env.Append(CPPDEFINES=["_NUITKA_INLINE_COPY_HACL"])
847
-
848
838
  # Set load libpython from binary directory default
849
- if env.gcc_mode and not isMacOS() and not os.name == "nt" and not module_mode:
839
+ if env.gcc_mode and not isMacOS() and not os.name == "nt" and not env.module_mode:
850
840
  if env.standalone_mode:
851
841
  rpath = "$$ORIGIN"
852
842
  else:
@@ -872,7 +862,7 @@ addConstantBlobFile(
872
862
  env.Append(CPPDEFINES=["_NUITKA_FROZEN=%d" % frozen_modules])
873
863
 
874
864
  # Tell compiler to create a shared library or program.
875
- if module_mode:
865
+ if env.module_mode:
876
866
  if isGccName(env.the_cc_name):
877
867
  env.Append(CCFLAGS=["-shared"])
878
868
  elif env.clang_mode:
@@ -893,7 +883,7 @@ else:
893
883
  else:
894
884
  env.Append(CCFLAGS=["/MT"]) # Multithreaded, static version of C run time.
895
885
 
896
- if module_mode:
886
+ if env.module_mode:
897
887
  env.Append(CPPDEFINES=["_NUITKA_MODULE"])
898
888
  else:
899
889
  env.Append(CPPDEFINES=["_NUITKA_EXE"])
@@ -915,7 +905,7 @@ def discoverSourceFiles():
915
905
  static_src_filenames = []
916
906
 
917
907
  # Main program, unless of course it's a Python module/package we build.
918
- if not module_mode:
908
+ if not env.module_mode:
919
909
  static_src_filenames.append("MainProgram.c")
920
910
 
921
911
  # Compiled types.
@@ -935,23 +925,13 @@ def discoverSourceFiles():
935
925
 
936
926
  source_files = discoverSourceFiles()
937
927
 
938
- # Remove the target file to avoid cases where it falsely doesn't get rebuild
939
- # and then lingers from previous builds,
940
- deleteFile(result_exe, must_exist=False)
928
+ # Remove the target file to avoid cases where it falsely doesn't get rebuild and
929
+ # then lingers from previous builds, and also workaround for MinGW64 not
930
+ # supporting unicode result paths for "-o" basename.
931
+ result_exe = makeResultPathFileSystemEncodable(env=env, result_exe=result_exe)
941
932
 
942
- # Workaround for MinGW64 not supporting unicode result paths for "-o" basename.
943
- if os.name == "nt" and not isFilesystemEncodable(result_exe):
944
- result_exe = os.path.join(
945
- os.path.dirname(result_exe),
946
- "_nuitka_temp.pyd" if module_mode else "_nuitka_temp.exe",
947
- )
948
-
949
- if not isFilesystemEncodable(result_exe):
950
- result_exe = getNormalizedPath(os.path.relpath(result_exe))
951
-
952
- deleteFile(result_exe, must_exist=False)
953
933
 
954
- if module_mode:
934
+ if env.module_mode:
955
935
  # For Python modules, the standard shared library extension is not what gets
956
936
  # used. spell-checker: ignore SHLIBSUFFIX
957
937
  module_suffix = getFilenameExtension(result_exe)
@@ -1063,7 +1043,7 @@ createBuildDefinitionsFile()
1063
1043
 
1064
1044
  # The meta path based loader might want to respect that, so it does verbose traces in module
1065
1045
  # mode, mostly for debugging purposes only.
1066
- if module_mode and python_sysflag_verbose:
1046
+ if env.module_mode and python_sysflag_verbose:
1067
1047
  env.Append(CPPDEFINES=["_NUITKA_SYSFLAG_VERBOSE=1"])
1068
1048
 
1069
1049
  # Hack to make Scons use tempfile for gcc linking, to avoid line length limits,
@@ -1071,9 +1051,8 @@ if module_mode and python_sysflag_verbose:
1071
1051
  # but useful on other platforms too.
1072
1052
  if env.gcc_mode:
1073
1053
  makeGccUseLinkerFile(
1074
- source_files=source_files,
1075
- module_mode=module_mode,
1076
1054
  env=env,
1055
+ source_files=source_files,
1077
1056
  )
1078
1057
 
1079
1058
  # Plugin contributed C defines should be used too.
@@ -1088,7 +1067,6 @@ env.Append(LIBS=link_libraries)
1088
1067
  # Work around windows bugs and use watchdogs to track progress of compilation.
1089
1068
  enableSpawnMonitoring(
1090
1069
  env=env,
1091
- module_mode=module_mode,
1092
1070
  source_files=source_files,
1093
1071
  )
1094
1072
 
@@ -1,5 +1,5 @@
1
1
  # -*- python -*-
2
- # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+ # Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
3
3
 
4
4
 
5
5
  """
@@ -207,6 +207,7 @@ env = checkWindowsCompilerFound(
207
207
  clang_mode=clang_mode,
208
208
  msvc_version=msvc_version,
209
209
  assume_yes_for_downloads=assume_yes_for_downloads,
210
+ download_ok=False,
210
211
  )
211
212
 
212
213
  env.the_compiler = env["CC"] or env["CXX"]
@@ -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
  """ Interface to data composer
@@ -55,6 +55,7 @@ def _runDataComposer(source_dir):
55
55
 
56
56
  blob_filename = getConstantBlobFilename(source_dir)
57
57
 
58
+ # This ends up being "__constants.txt" right now.
58
59
  stats_filename = changeFilenameExtension(blob_filename, ".txt")
59
60
 
60
61
  with withEnvironmentVarsOverridden(mapping):