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/OptionParsing.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
  """ Command line options of Nuitka.
@@ -43,10 +43,33 @@ if _nuitka_binary_name == "__main__.py":
43
43
  is_nuitka_run = _nuitka_binary_name.lower().endswith("-run")
44
44
 
45
45
  if not is_nuitka_run:
46
- usage_template = "usage: %s [--module] [--run] [options] main_module.py"
46
+ usage_template = (
47
+ "usage: %s [--mode=compilation_mode] [--run] [options] main_module.py"
48
+ )
47
49
  else:
48
- usage_template = "usage: %s [options] main_module.py"
50
+ usage_template = "usage: %s [--mode=compilation_mode] [options] main_module.py"
51
+
52
+
53
+ def _handleHelpModes():
54
+ result = False
55
+ for count, arg in enumerate(sys.argv[1:], start=1):
56
+ if arg == "--":
57
+ break
58
+ if arg in ("--help-all", "--help-plugin", "--help-plugins"):
59
+ result = True
60
+ sys.argv[count] = "--help"
61
+ break
62
+ return result
63
+
49
64
 
65
+ plugin_help_mode = _handleHelpModes()
66
+
67
+
68
+ if not plugin_help_mode:
69
+ usage_template += """\n
70
+ Note: For general plugin help (they often have their own
71
+ command line options too), consider the output of
72
+ '--help-plugins'."""
50
73
 
51
74
  parser = makeOptionsParser(usage=usage_template % _nuitka_binary_name)
52
75
 
@@ -65,6 +88,7 @@ parser.add_option(
65
88
  action="store_true",
66
89
  dest="module_mode",
67
90
  default=False,
91
+ github_action=False,
68
92
  help="""\
69
93
  Create an importable binary extension module executable instead of a program. Defaults to off.""",
70
94
  )
@@ -74,14 +98,17 @@ parser.add_option(
74
98
  action="store",
75
99
  dest="compilation_mode",
76
100
  metavar="COMPILATION_MODE",
77
- choices=("app", "onefile", "standalone", "accelerated", "module"),
101
+ choices=("app", "onefile", "standalone", "accelerated", "module", "package"),
78
102
  default=None,
103
+ github_action_default="app",
79
104
  help="""\
80
105
  Mode in which to compile. Accelerated runs in your Python
81
106
  installation and depends on it. Standalone creates a folder
82
107
  with an executable contained to run it. Onefile creates a
83
108
  single executable to deploy. App is onefile except on macOS
84
- where it's not to be used. Default is 'accelerated'.""",
109
+ where it's not to be used. Module makes a module, and
110
+ package includes also all sub-modules and sub-packages.
111
+ Default is 'accelerated'.""",
85
112
  )
86
113
 
87
114
  parser.add_option(
@@ -89,6 +116,7 @@ parser.add_option(
89
116
  action="store_true",
90
117
  dest="is_standalone",
91
118
  default=False,
119
+ github_action=False,
92
120
  help="""\
93
121
  Enable standalone mode for output. This allows you to transfer the created binary
94
122
  to other machines without it using an existing Python installation. This also
@@ -110,7 +138,7 @@ parser.add_option(
110
138
  action="store_true",
111
139
  dest="is_onefile",
112
140
  default=False,
113
- github_action_default=True,
141
+ github_action=False,
114
142
  help="""\
115
143
  On top of standalone mode, enable onefile mode. This means not a folder,
116
144
  but a compressed executable is created and used. Defaults to off.""",
@@ -400,13 +428,14 @@ This will only include non-DLL, non-extension modules, i.e. actual data
400
428
  files. After a ":" optionally a filename pattern can be given as
401
429
  well, selecting only matching files. Examples:
402
430
  "--include-package-data=package_name" (all files)
403
- "--include-package-data=package_name=*.txt" (only certain type)
404
- "--include-package-data=package_name=some_filename.dat (concrete file)
431
+ "--include-package-data=package_name:*.txt" (only certain type)
432
+ "--include-package-data=package_name:some_filename.dat (concrete file)
405
433
  Default empty.""",
406
434
  )
407
435
 
408
436
  data_group.add_option(
409
437
  "--include-data-files",
438
+ "--include-data-file",
410
439
  action="append",
411
440
  dest="data_files",
412
441
  metavar="DESC",
@@ -450,6 +479,7 @@ whole directory simply use 'package_name'. Default empty.""",
450
479
 
451
480
  data_group.add_option(
452
481
  "--include-onefile-external-data",
482
+ "--include-data-files-external",
453
483
  action="append",
454
484
  dest="data_files_external",
455
485
  metavar="PATTERN",
@@ -531,6 +561,17 @@ dll_group.add_option(
531
561
  Output the DLLs found for a given package name. Default not done.""",
532
562
  )
533
563
 
564
+ dll_group.add_option(
565
+ "--list-package-exe",
566
+ action="store",
567
+ dest="list_package_exe",
568
+ default="",
569
+ require_compiling=False,
570
+ help="""\
571
+ Output the EXEs found for a given package name. Default not done.""",
572
+ )
573
+
574
+
534
575
  del dll_group
535
576
 
536
577
  warnings_group = parser.add_option_group("Control the warnings to be given by Nuitka")
@@ -603,8 +644,9 @@ execute_group.add_option(
603
644
  dest="debugger",
604
645
  default=False,
605
646
  help="""\
606
- Execute inside a debugger, e.g. "gdb" or "lldb" to automatically get a stack trace.
607
- Defaults to off.""",
647
+ Execute inside a debugger, e.g. "gdb" or "lldb" to automatically get a stack trace. The
648
+ debugger is automatically chosen unless specified by name with the NUITKA_DEBUGGER_CHOICE
649
+ environment variable. Defaults to off.""",
608
650
  )
609
651
 
610
652
  del execute_group
@@ -962,6 +1004,15 @@ Create graph of optimization process internals, do not use for whole programs, b
962
1004
  for small test cases. Defaults to off.""",
963
1005
  )
964
1006
 
1007
+ development_group.add_option(
1008
+ "--devel-generate-ming64-header",
1009
+ action="store_true",
1010
+ dest="generate_mingw64_header",
1011
+ default=False,
1012
+ require_compiling=False,
1013
+ github_action=False,
1014
+ help=SUPPRESS_HELP,
1015
+ )
965
1016
 
966
1017
  del development_group
967
1018
 
@@ -1004,7 +1055,7 @@ c_compiler_group.add_option(
1004
1055
  "--mingw64",
1005
1056
  action="store_true",
1006
1057
  dest="mingw64",
1007
- default=False,
1058
+ default=None,
1008
1059
  help="""\
1009
1060
  Enforce the use of MinGW64 on Windows. Defaults to off unless MSYS2 with MinGW Python is used.""",
1010
1061
  )
@@ -1565,7 +1616,8 @@ macos_group.add_option(
1565
1616
  "--macos-create-app-bundle",
1566
1617
  action="store_true",
1567
1618
  dest="macos_create_bundle",
1568
- default=False,
1619
+ default=None,
1620
+ github_action=False,
1569
1621
  help="""\
1570
1622
  When compiling for macOS, create a bundle rather than a plain binary
1571
1623
  application. This is the only way to unlock the disabling of console,
@@ -1625,7 +1677,7 @@ macos_group.add_option(
1625
1677
  dest="macos_app_mode",
1626
1678
  metavar="APP_MODE",
1627
1679
  choices=("gui", "background", "ui-element"),
1628
- default="gui",
1680
+ default=None,
1629
1681
  help="""\
1630
1682
  Mode of application for the application bundle. When launching a Window, and appearing
1631
1683
  in Docker is desired, default value "gui" is a good fit. Without a Window ever, the
@@ -1639,7 +1691,7 @@ macos_group.add_option(
1639
1691
  action="store",
1640
1692
  dest="macos_sign_identity",
1641
1693
  metavar="MACOS_APP_VERSION",
1642
- default="ad-hoc",
1694
+ default=None,
1643
1695
  help="""\
1644
1696
  When signing on macOS, by default an ad-hoc identify will be used, but with this
1645
1697
  option your get to specify another identity to use. The signing of code is now
@@ -1651,7 +1703,7 @@ macos_group.add_option(
1651
1703
  "--macos-sign-notarization",
1652
1704
  action="store_true",
1653
1705
  dest="macos_sign_notarization",
1654
- default=False,
1706
+ default=None,
1655
1707
  help="""\
1656
1708
  When signing for notarization, using a proper TeamID identity from Apple, use
1657
1709
  the required runtime signing option, such that it can be accepted.""",
@@ -1900,7 +1952,9 @@ def _considerPluginOptions(logger):
1900
1952
  addUserPluginCommandLineOptions,
1901
1953
  )
1902
1954
 
1903
- addStandardPluginCommandLineOptions(parser=parser)
1955
+ addStandardPluginCommandLineOptions(
1956
+ parser=parser, plugin_help_mode=plugin_help_mode
1957
+ )
1904
1958
 
1905
1959
  for arg in sys.argv[1:]:
1906
1960
  if arg.startswith(
@@ -1916,6 +1970,7 @@ def _considerPluginOptions(logger):
1916
1970
  addPluginCommandLineOptions(
1917
1971
  parser=parser,
1918
1972
  plugin_names=plugin_names.split(","),
1973
+ plugin_help_mode=plugin_help_mode,
1919
1974
  )
1920
1975
 
1921
1976
  if arg.startswith("--user-plugin="):
@@ -2222,7 +2277,7 @@ def parseOptions(logger):
2222
2277
  if arg.startswith(("--main=", "--script-name=")):
2223
2278
  filename_args.append(arg.split("=", 1)[1])
2224
2279
 
2225
- if arg == "--module":
2280
+ if arg in ("--mode=module", "--mode=module", "--module=package"):
2226
2281
  module_mode = True
2227
2282
 
2228
2283
  if arg[0] != "-":
@@ -2281,6 +2336,12 @@ def runSpecialCommandsFromOptions(options):
2281
2336
  displayDLLs(options.list_package_dlls)
2282
2337
  sys.exit(0)
2283
2338
 
2339
+ if options.list_package_exe:
2340
+ from nuitka.tools.scanning.DisplayPackageDLLs import displayEXEs
2341
+
2342
+ displayEXEs(options.list_package_exe)
2343
+ sys.exit(0)
2344
+
2284
2345
  if options.list_package_data:
2285
2346
  from nuitka.tools.scanning.DisplayPackageData import displayPackageData
2286
2347
 
@@ -2308,6 +2369,14 @@ def runSpecialCommandsFromOptions(options):
2308
2369
  )
2309
2370
  sys.exit(0)
2310
2371
 
2372
+ if options.generate_mingw64_header:
2373
+ from nuitka.tools.general.generate_header.GenerateHeader import (
2374
+ generateHeader,
2375
+ )
2376
+
2377
+ generateHeader()
2378
+ sys.exit(0)
2379
+
2311
2380
 
2312
2381
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
2313
2382
  # integrates with CPython, but also works on its own.
nuitka/Options.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
  """ Options module
@@ -51,6 +51,7 @@ from nuitka.PythonVersions import (
51
51
  getSupportedPythonVersions,
52
52
  isDebugPython,
53
53
  isPythonWithGil,
54
+ isStaticallyLinkedPython,
54
55
  python_version,
55
56
  python_version_str,
56
57
  )
@@ -230,12 +231,12 @@ Absolute run time paths of '%s' can only be at the start of \
230
231
 
231
232
  if candidate == value:
232
233
  Tracing.options_logger.sysexit(
233
- """Cannot use general system folder %s, may only be the \
234
+ """Cannot use folder %s, may only be the \
234
235
  start of '%s=%s', using that alone is not allowed."""
235
236
  % (candidate, arg_name, value)
236
237
  )
237
238
 
238
- if value.startswith(candidate):
239
+ if value.startswith(candidate) and candidate != "{PROGRAM_BASE}":
239
240
  if value[len(candidate)] != os.path.sep:
240
241
  Tracing.options_logger.sysexit(
241
242
  """Cannot use general system folder %s, without a path \
@@ -331,15 +332,15 @@ def printVersionInformation():
331
332
 
332
333
  from nuitka.build.SconsInterface import (
333
334
  asBoolStr,
335
+ getCommonSconsOptions,
334
336
  runScons,
335
- setCommonSconsOptions,
336
337
  )
337
338
 
338
- scons_options = {"compiler_version_mode": asBoolStr("true")}
339
- env_values = setCommonSconsOptions(options=scons_options)
339
+ scons_options, env_values = getCommonSconsOptions()
340
+ scons_options["compiler_version_mode"] = asBoolStr("true")
340
341
 
341
342
  runScons(
342
- options=scons_options,
343
+ scons_options=scons_options,
343
344
  env_values=env_values,
344
345
  scons_filename="CCompilerVersion.scons",
345
346
  )
@@ -347,12 +348,36 @@ def printVersionInformation():
347
348
 
348
349
  def _warnOnefileOnlyOption(option_name):
349
350
  if not options.is_onefile:
350
- Tracing.options_logger.warning(
351
- """\
352
- Using onefile specific option '%s' has no effect \
353
- when '--onefile' is not specified."""
354
- % option_name
355
- )
351
+ if options.github_workflow_options and isMacOS() and shallCreateAppBundle():
352
+ Tracing.options_logger.info(
353
+ """\
354
+ Note: Using onefile mode specific option '%s' has no effect \
355
+ with macOS app bundles."""
356
+ % option_name
357
+ )
358
+ else:
359
+ Tracing.options_logger.warning(
360
+ """\
361
+ Using onefile mode specific option '%s' has no effect \
362
+ when '--mode=onefile' is not specified."""
363
+ % option_name
364
+ )
365
+
366
+
367
+ def _warnOSSpecificOption(option_name, *supported_os):
368
+ if getOS() not in supported_os:
369
+ if options.github_workflow_options:
370
+ Tracing.options_logger.info(
371
+ """\
372
+ Note: Using OS specific option '%s' has no effect on %s."""
373
+ % (option_name, getOS())
374
+ )
375
+ else:
376
+ Tracing.options_logger.warning(
377
+ """\
378
+ Using OS specific option '%s' has no effect on %s."""
379
+ % (option_name, getOS())
380
+ )
356
381
 
357
382
 
358
383
  def _checkDataDirOptionValue(data_dir, option_name):
@@ -509,6 +534,8 @@ Error, the Python from Windows app store is not supported.""",
509
534
  options.is_standalone = True
510
535
  elif options.compilation_mode == "module":
511
536
  options.module_mode = True
537
+ elif options.compilation_mode == "package":
538
+ options.module_mode = True
512
539
  elif options.compilation_mode == "app":
513
540
  if isMacOS():
514
541
  options.macos_create_bundle = True
@@ -1028,24 +1055,40 @@ and recommended only for use in Nuitka development and testing."""
1028
1055
  % default_mode_name_mode
1029
1056
  )
1030
1057
 
1031
- # TODO: Not all of these are usable with MSYS2 really, split those off.
1032
- if not isWin32OrPosixWindows():
1033
- # Too many Windows specific options clearly
1034
- if (
1035
- getWindowsIconExecutablePath()
1036
- or shallAskForWindowsAdminRights()
1037
- or shallAskForWindowsUIAccessRights()
1038
- or getWindowsSplashScreen()
1039
- or isWindowsServiceMode()
1040
- ):
1041
- Tracing.options_logger.warning(
1042
- "Using Windows specific options has no effect on other platforms."
1043
- )
1044
-
1045
- if options.mingw64 or options.msvc_version:
1046
- Tracing.options_logger.warning(
1047
- "Requesting Windows specific compilers has no effect on other platforms."
1048
- )
1058
+ # TODO: This could be done via a generic option attribute and iterating over
1059
+ # them all, but maybe that's too inflexible long term.
1060
+ if getWindowsIconExecutablePath():
1061
+ _warnOSSpecificOption("--windows-icon-from-exe", "Windows")
1062
+ if shallAskForWindowsAdminRights():
1063
+ _warnOSSpecificOption("--windows-uac-admin", "Windows")
1064
+ if shallAskForWindowsUIAccessRights():
1065
+ _warnOSSpecificOption("--windows-uac-uiaccess", "Windows")
1066
+ if getWindowsSplashScreen():
1067
+ _warnOSSpecificOption("--onefile-windows-splash-screen-image", "Windows")
1068
+ if isWindowsServiceMode():
1069
+ _warnOSSpecificOption("--windows-service", "Windows")
1070
+ if options.mingw64 is not None:
1071
+ _warnOSSpecificOption("--mingw64", "Windows")
1072
+ if options.msvc_version is not None:
1073
+ _warnOSSpecificOption("--msvc", "Windows")
1074
+ if options.macos_target_arch is not None:
1075
+ _warnOSSpecificOption("--macos-target-arch", "Darwin")
1076
+ if options.macos_create_bundle is not None:
1077
+ _warnOSSpecificOption("--macos-create-app-bundle", "Darwin")
1078
+ if options.macos_sign_identity is not None:
1079
+ _warnOSSpecificOption("--macos-sign-identity", "Darwin")
1080
+ if options.macos_sign_notarization is not None:
1081
+ _warnOSSpecificOption("--macos-sign-notarization", "Darwin")
1082
+ if getMacOSAppName():
1083
+ _warnOSSpecificOption("--macos-app-name", "Darwin")
1084
+ if getMacOSSignedAppName():
1085
+ _warnOSSpecificOption("--macos-signed-app-name", "Darwin")
1086
+ if getMacOSAppVersion():
1087
+ _warnOSSpecificOption("--macos-app-version", "Darwin")
1088
+ if getMacOSAppProtectedResourcesAccesses():
1089
+ _warnOSSpecificOption("--macos-app-protected-resource", "Darwin")
1090
+ if options.macos_app_mode is not None:
1091
+ _warnOSSpecificOption("--macos-app-mode", "Darwin")
1049
1092
 
1050
1093
  if options.msvc_version:
1051
1094
  if isMSYS2MingwPython() or isPosixWindows():
@@ -1061,7 +1104,7 @@ and recommended only for use in Nuitka development and testing."""
1061
1104
  x.isdigit() for x in getMsvcVersion().split(".")
1062
1105
  ):
1063
1106
  Tracing.options_logger.sysexit(
1064
- "For --msvc only values 'latest', 'info', and 'X.Y' values are allowed, but not '%s'."
1107
+ "For '--msvc' only values 'latest', 'info', and 'X.Y' values are allowed, but not '%s'."
1065
1108
  % getMsvcVersion()
1066
1109
  )
1067
1110
 
@@ -1209,11 +1252,12 @@ and not with the non-debug version.
1209
1252
  """
1210
1253
  )
1211
1254
 
1212
- if isMacOS() and shallCreateAppBundle() and not getMacOSIconPaths():
1213
- Tracing.general.warning(
1255
+ if isMacOS() and shallCreateAppBundle() and not options.macos_icon_path:
1256
+ Tracing.options_logger.warning(
1214
1257
  """\
1215
1258
  For application bundles, you ought to specify an icon with '--macos-app-icon'.", \
1216
- otherwise a dock icon may not be present."""
1259
+ otherwise a dock icon may not be present. Specify 'none' value to disable \
1260
+ this warning."""
1217
1261
  )
1218
1262
 
1219
1263
  if (
@@ -1287,6 +1331,18 @@ have any effect anymore on non-Windows."""
1287
1331
  )
1288
1332
  )
1289
1333
 
1334
+ if (
1335
+ isWin32Windows()
1336
+ and getWindowsVersionInfoStrings()
1337
+ and getProductFileVersion() is None
1338
+ ):
1339
+ Tracing.options_logger.sysexit(
1340
+ """\
1341
+ Error, when providing version information on Windows, you must also
1342
+ provide either '--product-version' or '--file-version' as these can
1343
+ not have good defaults, but are forced to be present by the OS."""
1344
+ )
1345
+
1290
1346
 
1291
1347
  def isVerbose():
1292
1348
  """:returns: bool derived from ``--verbose``"""
@@ -1345,10 +1401,15 @@ def getModuleNameMode():
1345
1401
 
1346
1402
 
1347
1403
  def shallMakeModule():
1348
- """:returns: bool derived from ``--module``"""
1404
+ """:returns: bool derived from ``--mode=module|package``."""
1349
1405
  return options is not None and options.module_mode
1350
1406
 
1351
1407
 
1408
+ def shallMakePackage():
1409
+ """:returns: bool derived from ``--mode=package``."""
1410
+ return options is not None and options.compilation_mode == "package"
1411
+
1412
+
1352
1413
  def shallCreatePyiFile():
1353
1414
  """*bool* = **not** ``--no-pyi-file``"""
1354
1415
  return options.pyi_file
@@ -1416,12 +1477,14 @@ def getShallFollowExtraFilePatterns():
1416
1477
 
1417
1478
  def getMustIncludeModules():
1418
1479
  """*list*, items of ``--include-module=``"""
1419
- return sum([_splitShellPattern(x) for x in options.include_modules], [])
1480
+ return OrderedSet(sum([_splitShellPattern(x) for x in options.include_modules], []))
1420
1481
 
1421
1482
 
1422
1483
  def getMustIncludePackages():
1423
1484
  """*list*, items of ``--include-package=``"""
1424
- return sum([_splitShellPattern(x) for x in options.include_packages], [])
1485
+ return OrderedSet(
1486
+ sum([_splitShellPattern(x) for x in options.include_packages], [])
1487
+ )
1425
1488
 
1426
1489
 
1427
1490
  def getShallIncludeDistributionMetadata():
@@ -1492,7 +1555,7 @@ def getShallNotIncludeDataFilePatterns():
1492
1555
 
1493
1556
 
1494
1557
  def getShallIncludeExternallyDataFilePatterns():
1495
- """*list*, items of ``--include-onefile-external-data=``"""
1558
+ """*list*, items of ``--include-data-files-external=``"""
1496
1559
 
1497
1560
  return options.data_files_external
1498
1561
 
@@ -1686,6 +1749,11 @@ added to provide the static link library.""",
1686
1749
  if isArchPackagePython():
1687
1750
  return True, None
1688
1751
 
1752
+ # If not dynamic link library is available, the static link library will
1753
+ # have to do it.
1754
+ if isStaticallyLinkedPython():
1755
+ return True, None
1756
+
1689
1757
  return options.static_libpython == "yes", None
1690
1758
 
1691
1759
 
@@ -1735,13 +1803,15 @@ def shallTreatUninstalledPython():
1735
1803
  return isUninstalledPython()
1736
1804
 
1737
1805
 
1738
- def shallCreateCmdFileForExecution():
1806
+ def shallCreateScriptFileForExecution():
1739
1807
  """*bool* = derived from Python installation and modes
1740
1808
 
1741
- Notes: Mostly for accelerated mode on Windows with uninstalled python, to
1742
- make sure they find their Python DLL.
1809
+ Notes: Mostly for accelerated mode with uninstalled python, to make sure
1810
+ they find their Python DLL and Python packages.
1743
1811
  """
1744
- return isWin32Windows() and shallTreatUninstalledPython()
1812
+
1813
+ # TODO: Are we having a need for both names really?
1814
+ return shallTreatUninstalledPython()
1745
1815
 
1746
1816
 
1747
1817
  def isShowScons():
@@ -1788,7 +1858,7 @@ def isClang():
1788
1858
  def isMingw64():
1789
1859
  """:returns: bool derived from ``--mingw64``, available only on Windows, otherwise false"""
1790
1860
  if isWin32Windows():
1791
- return options.mingw64 or isMSYS2MingwPython()
1861
+ return bool(options.mingw64 or isMSYS2MingwPython())
1792
1862
  else:
1793
1863
  return None
1794
1864
 
@@ -1947,7 +2017,7 @@ def isOnefileMode():
1947
2017
 
1948
2018
 
1949
2019
  def isAcceleratedMode():
1950
- """:returns: bool derived from ``--standalone`` and `--module`"""
2020
+ """:returns: bool derived from ``--mode=accelerated``"""
1951
2021
  return not isStandaloneMode() and not shallMakeModule()
1952
2022
 
1953
2023
 
@@ -2085,7 +2155,11 @@ def getLinuxIconPaths():
2085
2155
 
2086
2156
  def getMacOSIconPaths():
2087
2157
  """*list of str*, values of ``--macos-app-icon``"""
2088
- return _checkIconPaths(options.macos_icon_path)
2158
+ return tuple(
2159
+ _checkIconPaths(
2160
+ icon_path for icon_path in options.macos_icon_path if icon_path != "none"
2161
+ )
2162
+ )
2089
2163
 
2090
2164
 
2091
2165
  def getWindowsIconExecutablePath():
@@ -2259,6 +2333,9 @@ def getMacOSSigningIdentity():
2259
2333
  """*str* value to use as identity for codesign, derived from ``--macos-sign-identity`` value"""
2260
2334
  result = options.macos_sign_identity
2261
2335
 
2336
+ if result is None:
2337
+ result = "ad-hoc"
2338
+
2262
2339
  if result == "ad-hoc":
2263
2340
  result = "-"
2264
2341
 
@@ -2267,7 +2344,7 @@ def getMacOSSigningIdentity():
2267
2344
 
2268
2345
  def shallUseSigningForNotarization():
2269
2346
  """*bool* flag to use for codesign, derived from ``--macos-sign-notarization`` value"""
2270
- return options.macos_sign_notarization
2347
+ return bool(options.macos_sign_notarization)
2271
2348
 
2272
2349
 
2273
2350
  def getMacOSAppName():
@@ -2287,8 +2364,12 @@ def getMacOSAppVersion():
2287
2364
 
2288
2365
  def getMacOSAppProtectedResourcesAccesses():
2289
2366
  """*list* key, value for protected resources of the app to use for bundle"""
2367
+ result = []
2368
+
2290
2369
  for macos_protected_resource in options.macos_protected_resources:
2291
- yield macos_protected_resource.split(":", 1)
2370
+ result.append(macos_protected_resource.split(":", 1))
2371
+
2372
+ return result
2292
2373
 
2293
2374
 
2294
2375
  def isMacOSBackgroundApp():
@@ -2679,6 +2760,23 @@ def getForcedRuntimeEnvironmentVariableValues():
2679
2760
  yield (name, value)
2680
2761
 
2681
2762
 
2763
+ def getCompilationMode():
2764
+ """For reporting only, use shorter specific tests."""
2765
+
2766
+ if isAcceleratedMode():
2767
+ return "accelerated"
2768
+ elif shallMakeModule():
2769
+ return "module"
2770
+ elif shallMakePackage():
2771
+ return "package"
2772
+ elif shallCreateAppBundle():
2773
+ return "app"
2774
+ elif isOnefileMode():
2775
+ return "onefile"
2776
+ elif isStandaloneMode():
2777
+ return "standalone"
2778
+
2779
+
2682
2780
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
2683
2781
  # integrates with CPython, but also works on its own.
2684
2782
  #
@@ -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
  """ Directories and paths to for output of Nuitka.
@@ -150,8 +150,10 @@ def getResultFullpath(onefile):
150
150
  def getResultRunFilename(onefile):
151
151
  result = getResultFullpath(onefile=onefile)
152
152
 
153
- if isWin32Windows() and Options.shallTreatUninstalledPython():
154
- result = getResultBasePath(onefile=onefile) + ".cmd"
153
+ if Options.shallCreateScriptFileForExecution():
154
+ result = getResultBasePath(onefile=onefile) + (
155
+ ".cmd" if isWin32Windows() else ".sh"
156
+ )
155
157
 
156
158
  return result
157
159