Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__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 (704) hide show
  1. Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
  2. Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
  3. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
  4. Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
  5. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
  6. nuitka/Builtins.py +18 -17
  7. nuitka/BytecodeCaching.py +24 -20
  8. nuitka/Bytecodes.py +23 -19
  9. nuitka/CacheCleanup.py +28 -23
  10. nuitka/Constants.py +19 -17
  11. nuitka/Errors.py +23 -17
  12. nuitka/HardImportRegistry.py +400 -0
  13. nuitka/MainControl.py +200 -112
  14. nuitka/ModuleRegistry.py +83 -20
  15. nuitka/OptionParsing.py +368 -175
  16. nuitka/Options.py +632 -213
  17. nuitka/OutputDirectories.py +40 -21
  18. nuitka/PostProcessing.py +73 -50
  19. nuitka/Progress.py +58 -24
  20. nuitka/PythonFlavors.py +141 -32
  21. nuitka/PythonOperators.py +18 -17
  22. nuitka/PythonVersions.py +106 -19
  23. nuitka/Serialization.py +68 -55
  24. nuitka/SourceCodeReferences.py +19 -17
  25. nuitka/Tracing.py +108 -70
  26. nuitka/TreeXML.py +31 -26
  27. nuitka/Variables.py +39 -41
  28. nuitka/Version.py +21 -7
  29. nuitka/__init__.py +5 -4
  30. nuitka/__main__.py +95 -29
  31. nuitka/__past__.py +44 -34
  32. nuitka/build/Backend.scons +202 -140
  33. nuitka/build/CCompilerVersion.scons +39 -31
  34. nuitka/build/DataComposerInterface.py +20 -17
  35. nuitka/build/Onefile.scons +50 -54
  36. nuitka/build/SconsCaching.py +93 -90
  37. nuitka/build/SconsCompilerSettings.py +157 -69
  38. nuitka/build/SconsHacks.py +25 -19
  39. nuitka/build/SconsInterface.py +154 -54
  40. nuitka/build/SconsProgress.py +19 -18
  41. nuitka/build/SconsSpawn.py +62 -33
  42. nuitka/build/SconsUtils.py +147 -55
  43. nuitka/build/__init__.py +5 -4
  44. nuitka/build/include/nuitka/allocator.h +105 -22
  45. nuitka/build/include/nuitka/builtins.h +17 -17
  46. nuitka/build/include/nuitka/calling.h +18 -18
  47. nuitka/build/include/nuitka/checkers.h +17 -18
  48. nuitka/build/include/nuitka/checksum_tools.h +14 -19
  49. nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
  50. nuitka/build/include/nuitka/compiled_cell.h +33 -18
  51. nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
  52. nuitka/build/include/nuitka/compiled_frame.h +91 -53
  53. nuitka/build/include/nuitka/compiled_function.h +42 -20
  54. nuitka/build/include/nuitka/compiled_generator.h +24 -18
  55. nuitka/build/include/nuitka/compiled_method.h +17 -18
  56. nuitka/build/include/nuitka/constants.h +29 -18
  57. nuitka/build/include/nuitka/constants_blob.h +17 -17
  58. nuitka/build/include/nuitka/environment_variables.h +30 -0
  59. nuitka/build/include/nuitka/environment_variables_system.h +45 -0
  60. nuitka/build/include/nuitka/exception_groups.h +23 -26
  61. nuitka/build/include/nuitka/exceptions.h +593 -190
  62. nuitka/build/include/nuitka/filesystem_paths.h +26 -20
  63. nuitka/build/include/nuitka/freelists.h +38 -18
  64. nuitka/build/include/nuitka/helper/attributes.h +24 -18
  65. nuitka/build/include/nuitka/helper/boolean.h +17 -17
  66. nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
  67. nuitka/build/include/nuitka/helper/bytes.h +14 -15
  68. nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
  69. nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
  70. nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
  71. nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
  72. nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
  73. nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
  74. nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
  75. nuitka/build/include/nuitka/helper/complex.h +17 -17
  76. nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
  77. nuitka/build/include/nuitka/helper/floats.h +17 -18
  78. nuitka/build/include/nuitka/helper/import_hard.h +25 -17
  79. nuitka/build/include/nuitka/helper/indexes.h +17 -18
  80. nuitka/build/include/nuitka/helper/ints.h +32 -20
  81. nuitka/build/include/nuitka/helper/iterators.h +17 -17
  82. nuitka/build/include/nuitka/helper/lists.h +26 -24
  83. nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
  84. nuitka/build/include/nuitka/helper/mappings.h +17 -18
  85. nuitka/build/include/nuitka/helper/operations.h +17 -17
  86. nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
  87. nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
  88. nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
  89. nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
  90. nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
  91. nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
  92. nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
  93. nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
  94. nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
  95. nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
  96. nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
  97. nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
  98. nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
  99. nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
  100. nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
  101. nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
  102. nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
  103. nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
  104. nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
  105. nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
  106. nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
  107. nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
  108. nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
  109. nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
  110. nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
  111. nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
  112. nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
  113. nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
  114. nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
  115. nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
  116. nuitka/build/include/nuitka/helper/raising.h +29 -17
  117. nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
  118. nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
  119. nuitka/build/include/nuitka/helper/sequences.h +19 -13
  120. nuitka/build/include/nuitka/helper/sets.h +11 -12
  121. nuitka/build/include/nuitka/helper/slices.h +31 -25
  122. nuitka/build/include/nuitka/helper/strings.h +16 -17
  123. nuitka/build/include/nuitka/helper/subscripts.h +18 -201
  124. nuitka/build/include/nuitka/helper/tuples.h +64 -52
  125. nuitka/build/include/nuitka/helpers.h +38 -20
  126. nuitka/build/include/nuitka/importing.h +28 -21
  127. nuitka/build/include/nuitka/jit_sources.h +25 -0
  128. nuitka/build/include/nuitka/prelude.h +128 -46
  129. nuitka/build/include/nuitka/printing.h +22 -17
  130. nuitka/build/include/nuitka/python_pgo.h +19 -18
  131. nuitka/build/include/nuitka/safe_string_ops.h +20 -18
  132. nuitka/build/include/nuitka/threading.h +32 -33
  133. nuitka/build/include/nuitka/tracing.h +28 -18
  134. nuitka/build/include/nuitka/type_aliases.h +27 -0
  135. nuitka/build/include/nuitka/unfreezing.h +29 -23
  136. nuitka/build/inline_copy/bin/scons.py +14 -0
  137. nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
  138. nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
  139. nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
  140. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
  141. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
  142. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
  143. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
  144. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
  145. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
  146. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
  147. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
  148. nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
  149. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
  150. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
  151. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
  152. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
  153. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
  154. nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
  155. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
  156. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
  157. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
  158. nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
  159. nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
  160. nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
  161. nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
  162. nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
  163. nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
  164. nuitka/build/inline_copy/zlib/LICENSE +22 -0
  165. nuitka/build/inline_copy/zlib/crc32.c +1049 -0
  166. nuitka/build/inline_copy/zlib/crc32.h +9446 -0
  167. nuitka/build/inline_copy/zlib/zconf.h +551 -0
  168. nuitka/build/inline_copy/zlib/zlib.h +1938 -0
  169. nuitka/build/inline_copy/zlib/zutil.h +275 -0
  170. nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
  171. nuitka/build/static_src/CompiledCellType.c +63 -40
  172. nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
  173. nuitka/build/static_src/CompiledCoroutineType.c +196 -203
  174. nuitka/build/static_src/CompiledFrameType.c +287 -133
  175. nuitka/build/static_src/CompiledFunctionType.c +389 -95
  176. nuitka/build/static_src/CompiledGeneratorType.c +376 -252
  177. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
  178. nuitka/build/static_src/CompiledMethodType.c +83 -71
  179. nuitka/build/static_src/HelpersAllocator.c +88 -19
  180. nuitka/build/static_src/HelpersAttributes.c +33 -54
  181. nuitka/build/static_src/HelpersBuiltin.c +43 -33
  182. nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
  183. nuitka/build/static_src/HelpersBytes.c +19 -20
  184. nuitka/build/static_src/HelpersCalling.c +33 -30
  185. nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
  186. nuitka/build/static_src/HelpersChecksumTools.c +35 -21
  187. nuitka/build/static_src/HelpersClasses.c +17 -17
  188. nuitka/build/static_src/HelpersComparisonEq.c +518 -492
  189. nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
  190. nuitka/build/static_src/HelpersComparisonGe.c +513 -497
  191. nuitka/build/static_src/HelpersComparisonGt.c +512 -496
  192. nuitka/build/static_src/HelpersComparisonLe.c +513 -497
  193. nuitka/build/static_src/HelpersComparisonLt.c +512 -496
  194. nuitka/build/static_src/HelpersComparisonNe.c +520 -492
  195. nuitka/build/static_src/HelpersConsole.c +96 -0
  196. nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
  197. nuitka/build/static_src/HelpersDeepcopy.c +33 -33
  198. nuitka/build/static_src/HelpersDictionaries.c +51 -29
  199. nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
  200. nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
  201. nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
  202. nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
  203. nuitka/build/static_src/HelpersExceptions.c +161 -50
  204. nuitka/build/static_src/HelpersFiles.c +37 -17
  205. nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
  206. nuitka/build/static_src/HelpersFloats.c +37 -31
  207. nuitka/build/static_src/HelpersHeapStorage.c +21 -17
  208. nuitka/build/static_src/HelpersImport.c +48 -20
  209. nuitka/build/static_src/HelpersImportHard.c +53 -17
  210. nuitka/build/static_src/HelpersJitSources.c +46 -0
  211. nuitka/build/static_src/HelpersLists.c +140 -50
  212. nuitka/build/static_src/HelpersListsGenerated.c +41 -41
  213. nuitka/build/static_src/HelpersMappings.c +17 -17
  214. nuitka/build/static_src/HelpersMatching.c +137 -51
  215. nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
  216. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
  217. nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
  218. nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
  219. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
  220. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
  221. nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
  222. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
  223. nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
  224. nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
  225. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
  226. nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
  227. nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
  228. nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
  229. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
  230. nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
  231. nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
  232. nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
  233. nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
  234. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
  235. nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
  236. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
  237. nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
  238. nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
  239. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
  240. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
  241. nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
  242. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
  243. nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
  244. nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
  245. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
  246. nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
  247. nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
  248. nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
  249. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
  250. nuitka/build/static_src/HelpersProfiling.c +24 -23
  251. nuitka/build/static_src/HelpersPythonPgo.c +22 -22
  252. nuitka/build/static_src/HelpersRaising.c +88 -20
  253. nuitka/build/static_src/HelpersSafeStrings.c +34 -22
  254. nuitka/build/static_src/HelpersSequences.c +18 -19
  255. nuitka/build/static_src/HelpersSlices.c +29 -23
  256. nuitka/build/static_src/HelpersStrings.c +234 -37
  257. nuitka/build/static_src/HelpersTuples.c +46 -34
  258. nuitka/build/static_src/HelpersTypes.c +68 -23
  259. nuitka/build/static_src/InspectPatcher.c +108 -27
  260. nuitka/build/static_src/MainProgram.c +359 -263
  261. nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
  262. nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
  263. nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
  264. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
  265. nuitka/build/static_src/OnefileBootstrap.c +276 -164
  266. nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
  267. nuitka/code_generation/AsyncgenCodes.py +19 -17
  268. nuitka/code_generation/AttributeCodes.py +31 -27
  269. nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
  270. nuitka/code_generation/BranchCodes.py +19 -17
  271. nuitka/code_generation/BuiltinCodes.py +20 -17
  272. nuitka/code_generation/CallCodes.py +19 -17
  273. nuitka/code_generation/ClassCodes.py +19 -17
  274. nuitka/code_generation/CodeGeneration.py +48 -27
  275. nuitka/code_generation/CodeHelperSelection.py +19 -17
  276. nuitka/code_generation/CodeHelpers.py +24 -20
  277. nuitka/code_generation/CodeObjectCodes.py +34 -24
  278. nuitka/code_generation/ComparisonCodes.py +38 -20
  279. nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
  280. nuitka/code_generation/ConditionalCodes.py +19 -17
  281. nuitka/code_generation/ConstantCodes.py +82 -28
  282. nuitka/code_generation/Contexts.py +152 -26
  283. nuitka/code_generation/CoroutineCodes.py +19 -17
  284. nuitka/code_generation/CtypesCodes.py +19 -17
  285. nuitka/code_generation/DictCodes.py +25 -23
  286. nuitka/code_generation/Emission.py +21 -18
  287. nuitka/code_generation/ErrorCodes.py +27 -33
  288. nuitka/code_generation/EvalCodes.py +24 -20
  289. nuitka/code_generation/ExceptionCodes.py +27 -18
  290. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
  291. nuitka/code_generation/ExpressionCodes.py +19 -17
  292. nuitka/code_generation/FrameCodes.py +24 -20
  293. nuitka/code_generation/FunctionCodes.py +24 -21
  294. nuitka/code_generation/GeneratorCodes.py +23 -20
  295. nuitka/code_generation/GlobalConstants.py +43 -23
  296. nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
  297. nuitka/code_generation/IdCodes.py +19 -17
  298. nuitka/code_generation/ImportCodes.py +90 -50
  299. nuitka/code_generation/Indentation.py +23 -22
  300. nuitka/code_generation/IndexCodes.py +19 -17
  301. nuitka/code_generation/InjectCCodes.py +14 -12
  302. nuitka/code_generation/IntegerCodes.py +19 -17
  303. nuitka/code_generation/IteratorCodes.py +19 -17
  304. nuitka/code_generation/JitCodes.py +44 -0
  305. nuitka/code_generation/LabelCodes.py +19 -17
  306. nuitka/code_generation/LineNumberCodes.py +19 -17
  307. nuitka/code_generation/ListCodes.py +32 -36
  308. nuitka/code_generation/LoaderCodes.py +22 -17
  309. nuitka/code_generation/LocalsDictCodes.py +56 -32
  310. nuitka/code_generation/LoopCodes.py +19 -17
  311. nuitka/code_generation/MatchCodes.py +42 -22
  312. nuitka/code_generation/ModuleCodes.py +43 -25
  313. nuitka/code_generation/Namify.py +27 -23
  314. nuitka/code_generation/NetworkxCodes.py +51 -0
  315. nuitka/code_generation/OperationCodes.py +29 -31
  316. nuitka/code_generation/PackageResourceCodes.py +59 -23
  317. nuitka/code_generation/PrintCodes.py +19 -17
  318. nuitka/code_generation/PythonAPICodes.py +19 -17
  319. nuitka/code_generation/RaisingCodes.py +19 -17
  320. nuitka/code_generation/Reports.py +19 -17
  321. nuitka/code_generation/ReturnCodes.py +19 -17
  322. nuitka/code_generation/SetCodes.py +19 -17
  323. nuitka/code_generation/SliceCodes.py +22 -20
  324. nuitka/code_generation/StringCodes.py +19 -17
  325. nuitka/code_generation/SubscriptCodes.py +24 -30
  326. nuitka/code_generation/TensorflowCodes.py +54 -0
  327. nuitka/code_generation/TryCodes.py +19 -17
  328. nuitka/code_generation/TupleCodes.py +20 -18
  329. nuitka/code_generation/TypeAliasCodes.py +71 -0
  330. nuitka/code_generation/VariableCodes.py +26 -22
  331. nuitka/code_generation/VariableDeclarations.py +20 -17
  332. nuitka/code_generation/YieldCodes.py +22 -20
  333. nuitka/code_generation/__init__.py +5 -4
  334. nuitka/code_generation/c_types/CTypeBases.py +19 -17
  335. nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
  336. nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
  337. nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
  338. nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
  339. nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
  340. nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
  341. nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
  342. nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
  343. nuitka/code_generation/c_types/CTypeVoids.py +20 -17
  344. nuitka/code_generation/c_types/__init__.py +5 -4
  345. nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
  346. nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
  347. nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
  348. nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
  349. nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
  350. nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
  351. nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
  352. nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
  353. nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
  354. nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
  355. nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
  356. nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
  357. nuitka/code_generation/templates/__init__.py +5 -4
  358. nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
  359. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
  360. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
  361. nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
  362. nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
  363. nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
  364. nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
  365. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
  366. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
  367. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
  368. nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
  369. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
  370. nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
  371. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
  372. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
  373. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
  374. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
  375. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
  376. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
  377. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
  378. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
  379. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
  380. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
  381. nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
  382. nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
  383. nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
  384. nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
  385. nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
  386. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
  387. nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
  388. nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
  389. nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
  390. nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
  391. nuitka/containers/Namedtuples.py +19 -18
  392. nuitka/containers/OrderedSetsFallback.py +19 -17
  393. nuitka/containers/__init__.py +5 -4
  394. nuitka/distutils/Build.py +19 -18
  395. nuitka/distutils/DistutilCommands.py +34 -23
  396. nuitka/distutils/__init__.py +5 -4
  397. nuitka/finalizations/Finalization.py +20 -17
  398. nuitka/finalizations/FinalizeMarkups.py +21 -41
  399. nuitka/finalizations/__init__.py +5 -4
  400. nuitka/freezer/DependsExe.py +48 -28
  401. nuitka/freezer/DllDependenciesCommon.py +47 -20
  402. nuitka/freezer/DllDependenciesMacOS.py +147 -57
  403. nuitka/freezer/DllDependenciesPosix.py +29 -19
  404. nuitka/freezer/DllDependenciesWin32.py +29 -21
  405. nuitka/freezer/ImportDetection.py +20 -17
  406. nuitka/freezer/IncludedDataFiles.py +118 -47
  407. nuitka/freezer/IncludedEntryPoints.py +102 -38
  408. nuitka/freezer/Onefile.py +32 -22
  409. nuitka/freezer/Standalone.py +105 -50
  410. nuitka/freezer/__init__.py +5 -4
  411. nuitka/importing/IgnoreListing.py +19 -17
  412. nuitka/importing/ImportCache.py +24 -21
  413. nuitka/importing/ImportResolving.py +103 -95
  414. nuitka/importing/Importing.py +286 -92
  415. nuitka/importing/PreloadedPackages.py +21 -18
  416. nuitka/importing/Recursion.py +131 -47
  417. nuitka/importing/StandardLibrary.py +46 -28
  418. nuitka/importing/__init__.py +5 -4
  419. nuitka/nodes/AsyncgenNodes.py +19 -17
  420. nuitka/nodes/AttributeLookupNodes.py +19 -17
  421. nuitka/nodes/AttributeNodes.py +19 -17
  422. nuitka/nodes/AttributeNodesGenerated.py +49 -24
  423. nuitka/nodes/BuiltinAllNodes.py +19 -17
  424. nuitka/nodes/BuiltinAnyNodes.py +19 -17
  425. nuitka/nodes/BuiltinComplexNodes.py +20 -17
  426. nuitka/nodes/BuiltinDecodingNodes.py +19 -17
  427. nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
  428. nuitka/nodes/BuiltinDictNodes.py +19 -17
  429. nuitka/nodes/BuiltinFormatNodes.py +20 -17
  430. nuitka/nodes/BuiltinHashNodes.py +19 -17
  431. nuitka/nodes/BuiltinInputNodes.py +19 -17
  432. nuitka/nodes/BuiltinIntegerNodes.py +19 -17
  433. nuitka/nodes/BuiltinIteratorNodes.py +24 -20
  434. nuitka/nodes/BuiltinLenNodes.py +19 -17
  435. nuitka/nodes/BuiltinNextNodes.py +19 -17
  436. nuitka/nodes/BuiltinOpenNodes.py +52 -18
  437. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
  438. nuitka/nodes/BuiltinRangeNodes.py +21 -19
  439. nuitka/nodes/BuiltinRefNodes.py +68 -19
  440. nuitka/nodes/BuiltinSumNodes.py +20 -18
  441. nuitka/nodes/BuiltinTypeNodes.py +19 -17
  442. nuitka/nodes/BuiltinVarsNodes.py +19 -18
  443. nuitka/nodes/BytesNodes.py +19 -17
  444. nuitka/nodes/CallNodes.py +19 -17
  445. nuitka/nodes/Checkers.py +19 -17
  446. nuitka/nodes/ChildrenHavingMixins.py +1250 -302
  447. nuitka/nodes/ClassNodes.py +49 -29
  448. nuitka/nodes/CodeObjectSpecs.py +29 -18
  449. nuitka/nodes/ComparisonNodes.py +19 -17
  450. nuitka/nodes/ConditionalNodes.py +21 -23
  451. nuitka/nodes/ConstantRefNodes.py +57 -17
  452. nuitka/nodes/ContainerMakingNodes.py +19 -17
  453. nuitka/nodes/ContainerOperationNodes.py +19 -17
  454. nuitka/nodes/CoroutineNodes.py +19 -17
  455. nuitka/nodes/CtypesNodes.py +19 -18
  456. nuitka/nodes/DictionaryNodes.py +19 -18
  457. nuitka/nodes/ExceptionNodes.py +29 -17
  458. nuitka/nodes/ExecEvalNodes.py +19 -17
  459. nuitka/nodes/ExpressionBases.py +34 -26
  460. nuitka/nodes/ExpressionBasesGenerated.py +54 -32
  461. nuitka/nodes/ExpressionShapeMixins.py +19 -17
  462. nuitka/nodes/FrameNodes.py +19 -17
  463. nuitka/nodes/FunctionAttributeNodes.py +19 -17
  464. nuitka/nodes/FunctionNodes.py +81 -35
  465. nuitka/nodes/FutureSpecs.py +35 -20
  466. nuitka/nodes/GeneratorNodes.py +21 -19
  467. nuitka/nodes/GlobalsLocalsNodes.py +22 -17
  468. nuitka/nodes/HardImportNodesGenerated.py +545 -129
  469. nuitka/nodes/ImportHardNodes.py +46 -38
  470. nuitka/nodes/ImportNodes.py +436 -446
  471. nuitka/nodes/IndicatorMixins.py +19 -17
  472. nuitka/nodes/InjectCNodes.py +19 -18
  473. nuitka/nodes/IterationHandles.py +55 -34
  474. nuitka/nodes/KeyValuePairNodes.py +19 -17
  475. nuitka/nodes/ListOperationNodes.py +33 -21
  476. nuitka/nodes/LocalsDictNodes.py +19 -17
  477. nuitka/nodes/LocalsScopes.py +41 -41
  478. nuitka/nodes/LoopNodes.py +28 -17
  479. nuitka/nodes/MatchNodes.py +37 -24
  480. nuitka/nodes/ModuleAttributeNodes.py +18 -35
  481. nuitka/nodes/ModuleNodes.py +90 -31
  482. nuitka/nodes/NetworkxNodes.py +45 -0
  483. nuitka/nodes/NodeBases.py +45 -43
  484. nuitka/nodes/NodeMakingHelpers.py +21 -19
  485. nuitka/nodes/NodeMetaClasses.py +45 -28
  486. nuitka/nodes/OperatorNodes.py +28 -26
  487. nuitka/nodes/OperatorNodesUnary.py +20 -17
  488. nuitka/nodes/OsSysNodes.py +66 -18
  489. nuitka/nodes/OutlineNodes.py +22 -20
  490. nuitka/nodes/PackageMetadataNodes.py +37 -27
  491. nuitka/nodes/PackageResourceNodes.py +29 -23
  492. nuitka/nodes/PrintNodes.py +19 -17
  493. nuitka/nodes/ReturnNodes.py +20 -18
  494. nuitka/nodes/SideEffectNodes.py +19 -17
  495. nuitka/nodes/SliceNodes.py +20 -18
  496. nuitka/nodes/StatementBasesGenerated.py +125 -77
  497. nuitka/nodes/StatementNodes.py +19 -17
  498. nuitka/nodes/StrNodes.py +19 -17
  499. nuitka/nodes/StringConcatenationNodes.py +20 -17
  500. nuitka/nodes/SubscriptNodes.py +26 -24
  501. nuitka/nodes/TensorflowNodes.py +38 -0
  502. nuitka/nodes/TryNodes.py +19 -17
  503. nuitka/nodes/TypeMatchNodes.py +19 -17
  504. nuitka/nodes/TypeNodes.py +40 -17
  505. nuitka/nodes/VariableAssignNodes.py +122 -64
  506. nuitka/nodes/VariableDelNodes.py +19 -17
  507. nuitka/nodes/VariableNameNodes.py +19 -17
  508. nuitka/nodes/VariableRefNodes.py +63 -26
  509. nuitka/nodes/VariableReleaseNodes.py +19 -17
  510. nuitka/nodes/YieldNodes.py +21 -19
  511. nuitka/nodes/__init__.py +5 -4
  512. nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
  513. nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
  514. nuitka/nodes/shapes/ShapeMixins.py +40 -17
  515. nuitka/nodes/shapes/StandardShapes.py +27 -20
  516. nuitka/nodes/shapes/__init__.py +5 -4
  517. nuitka/optimizations/BytecodeDemotion.py +19 -17
  518. nuitka/optimizations/FunctionInlining.py +22 -23
  519. nuitka/optimizations/Graphs.py +19 -17
  520. nuitka/optimizations/Optimization.py +39 -35
  521. nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
  522. nuitka/optimizations/Tags.py +19 -18
  523. nuitka/optimizations/TraceCollections.py +67 -24
  524. nuitka/optimizations/ValueTraces.py +92 -25
  525. nuitka/optimizations/__init__.py +5 -4
  526. nuitka/pgo/PGO.py +33 -23
  527. nuitka/pgo/__init__.py +5 -4
  528. nuitka/plugins/PluginBase.py +610 -109
  529. nuitka/plugins/Plugins.py +241 -58
  530. nuitka/plugins/YamlPluginBase.py +121 -0
  531. nuitka/plugins/__init__.py +5 -4
  532. nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
  533. nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
  534. nuitka/plugins/standard/DataFilesPlugin.py +65 -29
  535. nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
  536. nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
  537. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
  538. nuitka/plugins/standard/DillPlugin.py +42 -134
  539. nuitka/plugins/standard/DllFilesPlugin.py +125 -42
  540. nuitka/plugins/standard/EnumPlugin.py +19 -17
  541. nuitka/plugins/standard/EventletPlugin.py +19 -17
  542. nuitka/plugins/standard/GeventPlugin.py +19 -17
  543. nuitka/plugins/standard/GiPlugin.py +44 -28
  544. nuitka/plugins/standard/GlfwPlugin.py +20 -17
  545. nuitka/plugins/standard/ImplicitImports.py +407 -46
  546. nuitka/plugins/standard/KivyPlugin.py +30 -17
  547. nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
  548. nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
  549. nuitka/plugins/standard/NumpyPlugin.py +19 -17
  550. nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
  551. nuitka/plugins/standard/PbrPlugin.py +21 -19
  552. nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
  553. nuitka/plugins/standard/PmwPlugin.py +30 -27
  554. nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
  555. nuitka/plugins/standard/PywebViewPlugin.py +19 -17
  556. nuitka/plugins/standard/SpacyPlugin.py +136 -0
  557. nuitka/plugins/standard/TensorflowPlugin.py +20 -17
  558. nuitka/plugins/standard/TkinterPlugin.py +103 -53
  559. nuitka/plugins/standard/TorchPlugin.py +20 -17
  560. nuitka/plugins/standard/TransformersPlugin.py +94 -30
  561. nuitka/plugins/standard/TrioPlugin.py +18 -15
  562. nuitka/plugins/standard/UpxPlugin.py +21 -19
  563. nuitka/plugins/standard/__init__.py +5 -4
  564. nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
  565. nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
  566. nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
  567. nuitka/reports/CompilationReportReader.py +67 -0
  568. nuitka/reports/LicenseReport.rst.j2 +21 -21
  569. nuitka/reports/Reports.py +352 -76
  570. nuitka/reports/__init__.py +5 -4
  571. nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
  572. nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
  573. nuitka/specs/BuiltinListOperationSpecs.py +18 -17
  574. nuitka/specs/BuiltinParameterSpecs.py +30 -20
  575. nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
  576. nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
  577. nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
  578. nuitka/specs/HardImportSpecs.py +67 -22
  579. nuitka/specs/ParameterSpecs.py +56 -41
  580. nuitka/specs/__init__.py +5 -4
  581. nuitka/tools/Basics.py +20 -18
  582. nuitka/tools/__init__.py +5 -4
  583. nuitka/tools/commercial/__init__.py +7 -6
  584. nuitka/tools/data_composer/DataComposer.py +78 -62
  585. nuitka/tools/data_composer/__init__.py +5 -4
  586. nuitka/tools/data_composer/__main__.py +18 -17
  587. nuitka/tools/environments/CreateEnvironment.py +20 -17
  588. nuitka/tools/environments/Virtualenv.py +60 -32
  589. nuitka/tools/environments/__init__.py +5 -4
  590. nuitka/tools/general/__init__.py +5 -4
  591. nuitka/tools/general/dll_report/__init__.py +5 -4
  592. nuitka/tools/general/dll_report/__main__.py +19 -21
  593. nuitka/tools/general/find_module/FindModuleCode.py +35 -22
  594. nuitka/tools/general/find_module/__init__.py +5 -4
  595. nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
  596. nuitka/tools/onefile_compressor/__init__.py +5 -4
  597. nuitka/tools/onefile_compressor/__main__.py +18 -17
  598. nuitka/tools/podman/Podman.py +19 -17
  599. nuitka/tools/podman/__init__.py +5 -4
  600. nuitka/tools/podman/__main__.py +35 -19
  601. nuitka/tools/profiler/__init__.py +5 -4
  602. nuitka/tools/profiler/__main__.py +18 -17
  603. nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
  604. nuitka/tools/scanning/DisplayPackageData.py +31 -19
  605. nuitka/tools/scanning/__init__.py +5 -4
  606. nuitka/tools/specialize/CTypeDescriptions.py +93 -71
  607. nuitka/tools/specialize/Common.py +18 -17
  608. nuitka/tools/specialize/SpecializeC.py +31 -27
  609. nuitka/tools/specialize/SpecializePython.py +108 -45
  610. nuitka/tools/specialize/__init__.py +5 -4
  611. nuitka/tools/testing/Common.py +106 -52
  612. nuitka/tools/testing/Constructs.py +19 -17
  613. nuitka/tools/testing/OutputComparison.py +54 -18
  614. nuitka/tools/testing/Pythons.py +19 -18
  615. nuitka/tools/testing/RuntimeTracing.py +20 -19
  616. nuitka/tools/testing/SearchModes.py +26 -20
  617. nuitka/tools/testing/Valgrind.py +19 -17
  618. nuitka/tools/testing/__init__.py +5 -4
  619. nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
  620. nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
  621. nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
  622. nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
  623. nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
  624. nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
  625. nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
  626. nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
  627. nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
  628. nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
  629. nuitka/tools/watch/AutoStage.py +144 -0
  630. nuitka/tools/watch/GitHub.py +113 -0
  631. nuitka/tools/watch/__init__.py +5 -4
  632. nuitka/tools/watch/__main__.py +322 -91
  633. nuitka/tree/Building.py +176 -147
  634. nuitka/tree/ComplexCallHelperFunctions.py +80 -58
  635. nuitka/tree/Extractions.py +19 -17
  636. nuitka/tree/InternalModule.py +29 -20
  637. nuitka/tree/Operations.py +19 -17
  638. nuitka/tree/ReformulationAssertStatements.py +20 -17
  639. nuitka/tree/ReformulationAssignmentStatements.py +92 -91
  640. nuitka/tree/ReformulationBooleanExpressions.py +19 -17
  641. nuitka/tree/ReformulationCallExpressions.py +20 -18
  642. nuitka/tree/ReformulationClasses.py +45 -39
  643. nuitka/tree/ReformulationClasses3.py +146 -98
  644. nuitka/tree/ReformulationComparisonExpressions.py +29 -35
  645. nuitka/tree/ReformulationContractionExpressions.py +58 -55
  646. nuitka/tree/ReformulationDictionaryCreation.py +40 -35
  647. nuitka/tree/ReformulationExecStatements.py +42 -39
  648. nuitka/tree/ReformulationForLoopStatements.py +30 -34
  649. nuitka/tree/ReformulationFunctionStatements.py +58 -54
  650. nuitka/tree/ReformulationImportStatements.py +34 -29
  651. nuitka/tree/ReformulationLambdaExpressions.py +23 -24
  652. nuitka/tree/ReformulationMatchStatements.py +244 -92
  653. nuitka/tree/ReformulationMultidist.py +22 -18
  654. nuitka/tree/ReformulationNamespacePackages.py +55 -46
  655. nuitka/tree/ReformulationPrintStatements.py +23 -24
  656. nuitka/tree/ReformulationSequenceCreation.py +50 -49
  657. nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
  658. nuitka/tree/ReformulationTryExceptStatements.py +19 -17
  659. nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
  660. nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
  661. nuitka/tree/ReformulationWithStatements.py +39 -41
  662. nuitka/tree/ReformulationYieldExpressions.py +21 -19
  663. nuitka/tree/SourceHandling.py +76 -31
  664. nuitka/tree/SyntaxErrors.py +19 -17
  665. nuitka/tree/TreeHelpers.py +33 -20
  666. nuitka/tree/VariableClosure.py +35 -39
  667. nuitka/tree/__init__.py +5 -4
  668. nuitka/utils/AppDirs.py +41 -20
  669. nuitka/utils/CStrings.py +66 -21
  670. nuitka/utils/CommandLineOptions.py +84 -19
  671. nuitka/utils/Distributions.py +445 -54
  672. nuitka/utils/Download.py +89 -57
  673. nuitka/utils/Execution.py +73 -34
  674. nuitka/utils/FileOperations.py +318 -74
  675. nuitka/utils/Hashing.py +55 -33
  676. nuitka/utils/Images.py +26 -19
  677. nuitka/utils/Importing.py +118 -24
  678. nuitka/utils/InstalledPythons.py +80 -75
  679. nuitka/utils/InstanceCounters.py +20 -17
  680. nuitka/utils/Jinja2.py +30 -22
  681. nuitka/utils/Json.py +19 -17
  682. nuitka/utils/MacOSApp.py +26 -18
  683. nuitka/utils/MemoryUsage.py +20 -18
  684. nuitka/utils/ModuleNames.py +42 -26
  685. nuitka/utils/ReExecute.py +50 -28
  686. nuitka/utils/Rest.py +20 -17
  687. nuitka/utils/SharedLibraries.py +161 -75
  688. nuitka/utils/Shebang.py +20 -17
  689. nuitka/utils/Signing.py +63 -18
  690. nuitka/utils/SlotMetaClasses.py +57 -0
  691. nuitka/utils/StaticLibraries.py +83 -56
  692. nuitka/utils/ThreadedExecutor.py +18 -17
  693. nuitka/utils/Timing.py +22 -20
  694. nuitka/utils/Utils.py +115 -25
  695. nuitka/utils/WindowsFileUsage.py +22 -20
  696. nuitka/utils/WindowsResources.py +25 -18
  697. nuitka/utils/Yaml.py +62 -24
  698. nuitka/utils/__init__.py +5 -4
  699. Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
  700. nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
  701. nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
  702. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
  703. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
  704. {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
nuitka/tree/Building.py CHANGED
@@ -1,20 +1,6 @@
1
- # Copyright 2023, Kay Hayen, mailto:kay.hayen@gmail.com
2
- #
3
- # Part of "Nuitka", an optimizing Python compiler that is compatible and
4
- # integrates with CPython, but also works on its own.
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
1
+ # Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+
3
+
18
4
  """ Build the internal node tree from source code.
19
5
 
20
6
  Does all the Python parsing and puts it into a tree structure for use in later
@@ -48,15 +34,11 @@ special attribute lookups for "__enter__" and "__exit__", calls of them,
48
34
  catching and passing in exceptions raised.
49
35
 
50
36
  """
37
+
51
38
  import marshal
52
39
  import os
53
40
 
54
- from nuitka import (
55
- ModuleRegistry,
56
- Options,
57
- OutputDirectories,
58
- SourceCodeReferences,
59
- )
41
+ from nuitka import ModuleRegistry, OutputDirectories, SourceCodeReferences
60
42
  from nuitka.__past__ import long, unicode
61
43
  from nuitka.BytecodeCaching import (
62
44
  getCachedImportedModuleUsageAttempts,
@@ -97,7 +79,10 @@ from nuitka.nodes.ExceptionNodes import (
97
79
  StatementReraiseException,
98
80
  )
99
81
  from nuitka.nodes.FutureSpecs import FutureSpec
100
- from nuitka.nodes.GeneratorNodes import StatementGeneratorReturn
82
+ from nuitka.nodes.GeneratorNodes import (
83
+ StatementGeneratorReturn,
84
+ StatementGeneratorReturnNone,
85
+ )
101
86
  from nuitka.nodes.ImportNodes import (
102
87
  isHardModuleWithoutSideEffect,
103
88
  makeExpressionImportModuleFixed,
@@ -128,7 +113,16 @@ from nuitka.nodes.VariableNameNodes import (
128
113
  StatementAssignmentVariableName,
129
114
  )
130
115
  from nuitka.optimizations.BytecodeDemotion import demoteSourceCodeToBytecode
131
- from nuitka.Options import shallWarnUnusualCode
116
+ from nuitka.Options import (
117
+ getMainEntryPointFilenames,
118
+ hasPythonFlagNoSite,
119
+ hasPythonFlagPackageMode,
120
+ isShowMemory,
121
+ isStandaloneMode,
122
+ shallDisableBytecodeCacheUsage,
123
+ shallMakeModule,
124
+ shallWarnUnusualCode,
125
+ )
132
126
  from nuitka.pgo.PGO import decideCompilationFromPGO
133
127
  from nuitka.plugins.Plugins import Plugins
134
128
  from nuitka.PythonVersions import python_version
@@ -141,6 +135,7 @@ from nuitka.Tracing import (
141
135
  )
142
136
  from nuitka.utils import MemoryUsage
143
137
  from nuitka.utils.ModuleNames import ModuleName
138
+ from nuitka.utils.Utils import withNoSyntaxWarning
144
139
 
145
140
  from . import SyntaxErrors
146
141
  from .ReformulationAssertStatements import buildAssertNode
@@ -150,6 +145,7 @@ from .ReformulationAssignmentStatements import (
150
145
  buildDeleteNode,
151
146
  buildInplaceAssignNode,
152
147
  buildNamedExprNode,
148
+ buildTypeAliasNode,
153
149
  )
154
150
  from .ReformulationBooleanExpressions import buildBoolOpNode
155
151
  from .ReformulationCallExpressions import buildCallNode
@@ -292,9 +288,9 @@ def buildTryFinallyNode2(provider, node, source_ref):
292
288
 
293
289
 
294
290
  def buildTryNode(provider, node, source_ref):
295
- # Note: This variant is used for Python3.3 or higher only, older stuff uses
296
- # the above ones, this one merges try/except with try/finally in the
297
- # "ast". We split it up again, as it's logically separated of course.
291
+ # Note: This variant is used for Python3 only, older stuff uses the above
292
+ # ones, this one merges try/except with try/finally in the "ast". We split
293
+ # it up again, as it's logically separated of course.
298
294
 
299
295
  # Shortcut missing try/finally.
300
296
  if not node.handlers:
@@ -440,7 +436,7 @@ def handleGlobalDeclarationNode(provider, node, source_ref):
440
436
  for variable_name in node.names:
441
437
  closure_variable = None
442
438
 
443
- # Re-use already taken global variables, in order to avoid creating yet
439
+ # Reuse already taken global variables, in order to avoid creating yet
444
440
  # another instance, esp. as the indications could then potentially not
445
441
  # be shared.
446
442
  if provider.hasTakenVariable(variable_name):
@@ -594,10 +590,12 @@ def buildReturnNode(provider, node, source_ref):
594
590
  provider.isExpressionGeneratorObjectBody()
595
591
  or provider.isExpressionAsyncgenObjectBody()
596
592
  ):
597
- if expression is None:
598
- expression = ExpressionConstantNoneRef(source_ref=source_ref)
599
-
600
- return StatementGeneratorReturn(expression=expression, source_ref=source_ref)
593
+ if expression is None or expression.isExpressionConstantNoneRef():
594
+ return StatementGeneratorReturnNone(source_ref=source_ref)
595
+ else:
596
+ return StatementGeneratorReturn(
597
+ expression=expression, source_ref=source_ref
598
+ )
601
599
  else:
602
600
  return makeStatementReturn(expression=expression, source_ref=source_ref)
603
601
 
@@ -771,6 +769,7 @@ setBuildingDispatchers(
771
769
  "NamedExpr": buildNamedExprNode,
772
770
  "Slice": buildSliceNode,
773
771
  "Match": buildMatchNode,
772
+ "TypeAlias": buildTypeAliasNode,
774
773
  },
775
774
  path_args2={
776
775
  "Constant": buildNamedConstantNode, # Python3.8
@@ -784,19 +783,18 @@ setBuildingDispatchers(
784
783
  )
785
784
 
786
785
 
787
- def buildParseTree(provider, ast_tree, source_ref, is_module, is_main):
786
+ def buildParseTree(provider, ast_tree, source_ref, is_main):
788
787
  # There are a bunch of branches here, mostly to deal with version
789
788
  # differences for module default variables. pylint: disable=too-many-branches
790
789
 
791
790
  # Maybe one day, we do exec inlining again, that is what this is for,
792
791
  # then is_module won't be True, for now it always is.
793
- pushFutureSpec()
794
- if is_module:
795
- provider.setFutureSpec(getFutureSpec())
792
+ pushFutureSpec(provider.getFullName())
793
+ provider.setFutureSpec(getFutureSpec())
796
794
 
797
795
  body, doc = extractDocFromBody(ast_tree)
798
796
 
799
- if is_module and is_main and python_version >= 0x360:
797
+ if is_main and python_version >= 0x360:
800
798
  provider.markAsNeedsAnnotationsDictionary()
801
799
 
802
800
  try:
@@ -817,100 +815,105 @@ def buildParseTree(provider, ast_tree, source_ref, is_module, is_main):
817
815
 
818
816
  statements = []
819
817
 
820
- if is_module:
821
- # Add import of "site" module of main programs visibly in the node tree,
822
- # so recursion and optimization can pick it up, checking its effects.
823
- if is_main and not Options.hasPythonFlagNoSite():
818
+ # Add import of "site" module of main programs visibly in the node tree,
819
+ # so recursion and optimization can pick it up, checking its effects.
820
+ if is_main and not hasPythonFlagNoSite():
821
+ statements.append(
822
+ StatementExpressionOnly(
823
+ expression=makeExpressionImportModuleFixed(
824
+ using_module_name=provider.getParentModule().getFullName(),
825
+ module_name="site",
826
+ value_name="site",
827
+ source_ref=source_ref,
828
+ ),
829
+ source_ref=source_ref,
830
+ )
831
+ )
832
+
833
+ for path_imported_name in getPthImportedPackages():
834
+ if isHardModuleWithoutSideEffect(path_imported_name):
835
+ continue
836
+
824
837
  statements.append(
825
838
  StatementExpressionOnly(
826
839
  expression=makeExpressionImportModuleFixed(
827
- module_name="site", source_ref=source_ref
840
+ using_module_name=provider.getParentModule().getFullName(),
841
+ module_name=path_imported_name,
842
+ value_name=path_imported_name.getTopLevelPackageName(),
843
+ source_ref=source_ref,
828
844
  ),
829
845
  source_ref=source_ref,
830
846
  )
831
847
  )
832
848
 
833
- for path_imported_name in getPthImportedPackages():
834
- if isHardModuleWithoutSideEffect(path_imported_name):
835
- continue
836
-
837
- statements.append(
838
- StatementExpressionOnly(
839
- expression=makeExpressionImportModuleFixed(
840
- module_name=path_imported_name, source_ref=source_ref
841
- ),
842
- source_ref=source_ref,
843
- )
844
- )
849
+ statements.append(
850
+ StatementAssignmentVariableName(
851
+ provider=provider,
852
+ variable_name="__doc__",
853
+ source=makeConstantRefNode(
854
+ constant=doc, source_ref=internal_source_ref, user_provided=True
855
+ ),
856
+ source_ref=internal_source_ref,
857
+ )
858
+ )
845
859
 
846
- statements.append(
847
- StatementAssignmentVariableName(
848
- provider=provider,
849
- variable_name="__doc__",
850
- source=makeConstantRefNode(
851
- constant=doc, source_ref=internal_source_ref, user_provided=True
852
- ),
860
+ statements.append(
861
+ StatementAssignmentVariableName(
862
+ provider=provider,
863
+ variable_name="__file__",
864
+ source=ExpressionModuleAttributeFileRef(
865
+ variable=provider.getVariableForReference("__file__"),
853
866
  source_ref=internal_source_ref,
854
- )
867
+ ),
868
+ source_ref=internal_source_ref,
855
869
  )
870
+ )
856
871
 
857
- statements.append(
858
- StatementAssignmentVariableName(
859
- provider=provider,
860
- variable_name="__file__",
872
+ if provider.isCompiledPythonPackage():
873
+ # This assigns "__path__" value.
874
+ statements.append(createPathAssignment(provider, internal_source_ref))
875
+
876
+ if python_version >= 0x340 and not is_main:
877
+ statements += (
878
+ StatementAssignmentAttribute(
879
+ expression=ExpressionModuleAttributeSpecRef(
880
+ variable=provider.getVariableForReference("__spec__"),
881
+ source_ref=internal_source_ref,
882
+ ),
883
+ attribute_name="origin",
861
884
  source=ExpressionModuleAttributeFileRef(
862
885
  variable=provider.getVariableForReference("__file__"),
863
886
  source_ref=internal_source_ref,
864
887
  ),
865
888
  source_ref=internal_source_ref,
866
- )
889
+ ),
890
+ StatementAssignmentAttribute(
891
+ expression=ExpressionModuleAttributeSpecRef(
892
+ variable=provider.getVariableForReference("__spec__"),
893
+ source_ref=internal_source_ref,
894
+ ),
895
+ attribute_name="has_location",
896
+ source=makeConstantRefNode(True, internal_source_ref),
897
+ source_ref=internal_source_ref,
898
+ ),
867
899
  )
868
900
 
869
901
  if provider.isCompiledPythonPackage():
870
- # This assigns "__path__" value.
871
- statements.append(createPathAssignment(provider, internal_source_ref))
872
-
873
- if python_version >= 0x340 and not is_main:
874
- statements += (
902
+ statements.append(
875
903
  StatementAssignmentAttribute(
876
904
  expression=ExpressionModuleAttributeSpecRef(
877
905
  variable=provider.getVariableForReference("__spec__"),
878
906
  source_ref=internal_source_ref,
879
907
  ),
880
- attribute_name="origin",
881
- source=ExpressionModuleAttributeFileRef(
882
- variable=provider.getVariableForReference("__file__"),
908
+ attribute_name="submodule_search_locations",
909
+ source=ExpressionVariableNameRef(
910
+ provider=provider,
911
+ variable_name="__path__",
883
912
  source_ref=internal_source_ref,
884
913
  ),
885
914
  source_ref=internal_source_ref,
886
- ),
887
- StatementAssignmentAttribute(
888
- expression=ExpressionModuleAttributeSpecRef(
889
- variable=provider.getVariableForReference("__spec__"),
890
- source_ref=internal_source_ref,
891
- ),
892
- attribute_name="has_location",
893
- source=makeConstantRefNode(True, internal_source_ref),
894
- source_ref=internal_source_ref,
895
- ),
896
- )
897
-
898
- if provider.isCompiledPythonPackage():
899
- statements.append(
900
- StatementAssignmentAttribute(
901
- expression=ExpressionModuleAttributeSpecRef(
902
- variable=provider.getVariableForReference("__spec__"),
903
- source_ref=internal_source_ref,
904
- ),
905
- attribute_name="submodule_search_locations",
906
- source=ExpressionVariableNameRef(
907
- provider=provider,
908
- variable_name="__path__",
909
- source_ref=internal_source_ref,
910
- ),
911
- source_ref=internal_source_ref,
912
- )
913
915
  )
916
+ )
914
917
 
915
918
  if python_version >= 0x300:
916
919
  statements.append(
@@ -969,27 +972,26 @@ def buildParseTree(provider, ast_tree, source_ref, is_module, is_main):
969
972
  )
970
973
  )
971
974
 
972
- if is_module:
973
- result = makeModuleFrame(
974
- module=provider, statements=statements, source_ref=source_ref
975
- )
975
+ result = makeModuleFrame(
976
+ module=provider, statements=statements, source_ref=source_ref
977
+ )
976
978
 
977
- popFutureSpec()
979
+ popFutureSpec()
978
980
 
979
- return result
980
- else:
981
- assert False
981
+ return result
982
982
 
983
983
 
984
- def decideCompilationMode(is_top, module_name, for_pgo):
984
+ def decideCompilationMode(is_top, module_name, module_filename, for_pgo):
985
985
  """Decide the compilation mode for a module.
986
986
 
987
987
  module_name - The module to decide compilation mode for.
988
988
  for_pgo - consider PGO information or not
989
989
  """
990
990
 
991
+ is_stdlib = module_filename is not None and isStandardLibraryPath(module_filename)
992
+
991
993
  # Technically required modules must be bytecode
992
- if module_name in detectEarlyImports():
994
+ if is_stdlib and module_name in detectEarlyImports():
993
995
  return "bytecode"
994
996
 
995
997
  result = Plugins.decideCompilation(module_name)
@@ -1008,13 +1010,8 @@ required to compiled."""
1008
1010
 
1009
1011
  # Include all of standard library as bytecode, for now. We need to identify
1010
1012
  # which ones really need that.
1011
- if not is_top:
1012
- module_filename = Importing.locateModule(
1013
- module_name=module_name, parent_package=None, level=0
1014
- )[1]
1015
-
1016
- if module_filename is not None and isStandardLibraryPath(module_filename):
1017
- result = "bytecode"
1013
+ if not is_top and is_stdlib:
1014
+ result = "bytecode"
1018
1015
 
1019
1016
  # Plugins need to win over PGO, as they might know it better
1020
1017
  if result is None and not for_pgo:
@@ -1022,7 +1019,7 @@ required to compiled."""
1022
1019
 
1023
1020
  # Default if neither plugins nor PGO have expressed an opinion
1024
1021
  if result is None:
1025
- if module_name in detectStdlibAutoInclusionModules():
1022
+ if is_stdlib and module_name in detectStdlibAutoInclusionModules():
1026
1023
  result = "bytecode"
1027
1024
  else:
1028
1025
  result = "compiled"
@@ -1061,6 +1058,7 @@ def _loadUncompiledModuleFromCache(
1061
1058
 
1062
1059
  def _createModule(
1063
1060
  module_name,
1061
+ module_filename,
1064
1062
  module_kind,
1065
1063
  reason,
1066
1064
  source_code,
@@ -1071,11 +1069,14 @@ def _createModule(
1071
1069
  is_main,
1072
1070
  main_added,
1073
1071
  ):
1072
+ is_stdlib = module_filename is not None and isStandardLibraryPath(module_filename)
1073
+
1074
1074
  if module_kind == "extension":
1075
1075
  result = PythonExtensionModule(
1076
1076
  module_name=module_name,
1077
+ module_filename=module_filename,
1077
1078
  reason=reason,
1078
- technical=module_name in detectEarlyImports(),
1079
+ technical=is_stdlib and module_name in detectEarlyImports(),
1079
1080
  source_ref=source_ref,
1080
1081
  )
1081
1082
  elif is_main:
@@ -1085,7 +1086,10 @@ def _createModule(
1085
1086
  main_added=main_added,
1086
1087
  module_name=module_name,
1087
1088
  mode=decideCompilationMode(
1088
- is_top=is_top, module_name=module_name, for_pgo=False
1089
+ is_top=is_top,
1090
+ module_name=module_name,
1091
+ module_filename=module_filename,
1092
+ for_pgo=False,
1089
1093
  ),
1090
1094
  future_spec=None,
1091
1095
  source_ref=source_ref,
@@ -1101,13 +1105,16 @@ def _createModule(
1101
1105
  )
1102
1106
  else:
1103
1107
  mode = decideCompilationMode(
1104
- is_top=is_top, module_name=module_name, for_pgo=False
1108
+ is_top=is_top,
1109
+ module_name=module_name,
1110
+ module_filename=module_filename,
1111
+ for_pgo=False,
1105
1112
  )
1106
1113
 
1107
1114
  if (
1108
1115
  mode == "bytecode"
1109
1116
  and not is_top
1110
- and not Options.shallDisableBytecodeCacheUsage()
1117
+ and not shallDisableBytecodeCacheUsage()
1111
1118
  and hasCachedImportedModuleUsageAttempts(
1112
1119
  module_name=module_name, source_code=source_code, source_ref=source_ref
1113
1120
  )
@@ -1146,14 +1153,13 @@ def _createModule(
1146
1153
 
1147
1154
 
1148
1155
  def createModuleTree(module, source_ref, ast_tree, is_main):
1149
- if Options.isShowMemory():
1156
+ if isShowMemory():
1150
1157
  memory_watch = MemoryUsage.MemoryWatch()
1151
1158
 
1152
1159
  module_body = buildParseTree(
1153
1160
  provider=module,
1154
1161
  ast_tree=ast_tree,
1155
1162
  source_ref=source_ref,
1156
- is_module=True,
1157
1163
  is_main=is_main,
1158
1164
  )
1159
1165
 
@@ -1164,17 +1170,19 @@ def createModuleTree(module, source_ref, ast_tree, is_main):
1164
1170
 
1165
1171
  completeVariableClosures(module)
1166
1172
 
1167
- if Options.isShowMemory():
1173
+ if isShowMemory():
1168
1174
  memory_watch.finish(
1169
1175
  "Memory usage changed loading module '%s'" % module.getFullName()
1170
1176
  )
1171
1177
 
1172
1178
 
1173
- def buildMainModuleTree(filename, source_code):
1179
+ def buildMainModuleTree(source_code):
1174
1180
  # Detect to be frozen modules if any, so we can consider to not follow
1175
1181
  # to them.
1176
1182
 
1177
- if Options.shallMakeModule():
1183
+ filename = getMainEntryPointFilenames()[0]
1184
+
1185
+ if shallMakeModule():
1178
1186
  module_name = Importing.getModuleNameAndKindFromFilename(filename)[0]
1179
1187
 
1180
1188
  if module_name is None:
@@ -1184,7 +1192,7 @@ def buildMainModuleTree(filename, source_code):
1184
1192
  )
1185
1193
  else:
1186
1194
  # TODO: Doesn't work for deeply nested packages at all.
1187
- if Options.hasPythonFlagPackageMode():
1195
+ if hasPythonFlagPackageMode():
1188
1196
  module_name = ModuleName(os.path.basename(filename) + ".__main__")
1189
1197
  else:
1190
1198
  module_name = ModuleName("__main__")
@@ -1195,13 +1203,13 @@ def buildMainModuleTree(filename, source_code):
1195
1203
  module_filename=filename,
1196
1204
  source_code=source_code,
1197
1205
  is_top=True,
1198
- is_main=not Options.shallMakeModule(),
1206
+ is_main=not shallMakeModule(),
1199
1207
  module_kind="py",
1200
1208
  is_fake=source_code is not None,
1201
1209
  hide_syntax_error=False,
1202
1210
  )
1203
1211
 
1204
- if Options.isStandaloneMode():
1212
+ if isStandaloneMode():
1205
1213
  module.setStandardLibraryModules(
1206
1214
  early_module_names=detectEarlyImports(),
1207
1215
  stdlib_modules_names=detectStdlibAutoInclusionModules(),
@@ -1233,7 +1241,7 @@ Cannot follow import to module '%s' because of '%s'."""
1233
1241
  reason=reason,
1234
1242
  is_top=False,
1235
1243
  mode="compiled",
1236
- future_spec=FutureSpec(),
1244
+ future_spec=FutureSpec(use_annotations=False),
1237
1245
  source_ref=source_ref,
1238
1246
  )
1239
1247
 
@@ -1259,11 +1267,14 @@ def _makeModuleBodyTooComplex(
1259
1267
  if module_filename not in Importing.warned_about:
1260
1268
  Importing.warned_about.add(module_filename)
1261
1269
 
1262
- recursion_logger.info(
1263
- """\
1270
+ # Known harmless case, not causing issues, lets not warn about it.
1271
+ # spell-checker: ignore sympy,numberfields
1272
+ if module_name != "sympy.polys.numberfields.resolvent_lookup":
1273
+ recursion_logger.info(
1274
+ """\
1264
1275
  Cannot compile module '%s' because its code is too complex, included as bytecode."""
1265
- % module_name
1266
- )
1276
+ % module_name
1277
+ )
1267
1278
 
1268
1279
  return makeUncompiledPythonModule(
1269
1280
  module_name=module_name,
@@ -1304,8 +1315,8 @@ def buildModule(
1304
1315
  logger=general,
1305
1316
  )
1306
1317
 
1307
- if Options.hasPythonFlagPackageMode():
1308
- if is_top and Options.shallMakeModule():
1318
+ if hasPythonFlagPackageMode():
1319
+ if is_top and shallMakeModule():
1309
1320
  optimization_logger.warning(
1310
1321
  "Python flag -m (package_mode) has no effect in module mode, it's only for executables."
1311
1322
  )
@@ -1358,12 +1369,13 @@ def buildModule(
1358
1369
  )
1359
1370
 
1360
1371
  try:
1361
- ast_tree = parseSourceCodeToAst(
1362
- source_code=source_code,
1363
- module_name=module_name,
1364
- filename=source_filename,
1365
- line_offset=0,
1366
- )
1372
+ with withNoSyntaxWarning():
1373
+ ast_tree = parseSourceCodeToAst(
1374
+ source_code=source_code,
1375
+ module_name=module_name,
1376
+ filename=source_filename,
1377
+ line_offset=0,
1378
+ )
1367
1379
  except (SyntaxError, IndentationError) as e:
1368
1380
  # Do not hide SyntaxError if asked not to.
1369
1381
  if not hide_syntax_error:
@@ -1384,7 +1396,7 @@ def buildModule(
1384
1396
  source_diff = getSourceCodeDiff(original_source_code, source_code)
1385
1397
 
1386
1398
  for line in source_diff:
1387
- plugins_logger.warning(line)
1399
+ plugins_logger.warning(line, keep_format=True)
1388
1400
 
1389
1401
  if len(contributing_plugins) == 1:
1390
1402
  next(iter(contributing_plugins)).sysexit(
@@ -1421,6 +1433,7 @@ def buildModule(
1421
1433
 
1422
1434
  module = _createModule(
1423
1435
  module_name=module_name,
1436
+ module_filename=None if is_fake else module_filename,
1424
1437
  module_kind=module_kind,
1425
1438
  reason=reason,
1426
1439
  source_code=source_code,
@@ -1459,3 +1472,19 @@ def buildModule(
1459
1472
  )
1460
1473
 
1461
1474
  return module
1475
+
1476
+
1477
+ # Part of "Nuitka", an optimizing Python compiler that is compatible and
1478
+ # integrates with CPython, but also works on its own.
1479
+ #
1480
+ # Licensed under the Apache License, Version 2.0 (the "License");
1481
+ # you may not use this file except in compliance with the License.
1482
+ # You may obtain a copy of the License at
1483
+ #
1484
+ # http://www.apache.org/licenses/LICENSE-2.0
1485
+ #
1486
+ # Unless required by applicable law or agreed to in writing, software
1487
+ # distributed under the License is distributed on an "AS IS" BASIS,
1488
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1489
+ # See the License for the specific language governing permissions and
1490
+ # limitations under the License.