Nuitka-winsvc 2.4.8__cp311-cp311-win_amd64.whl → 2.5.1__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 (294) hide show
  1. {Nuitka_winsvc-2.4.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/METADATA +2 -1
  2. {Nuitka_winsvc-2.4.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/RECORD +294 -271
  3. {Nuitka_winsvc-2.4.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/WHEEL +1 -1
  4. nuitka/Builtins.py +31 -0
  5. nuitka/HardImportRegistry.py +8 -0
  6. nuitka/MainControl.py +9 -4
  7. nuitka/OptionParsing.py +105 -52
  8. nuitka/Options.py +73 -16
  9. nuitka/OutputDirectories.py +7 -2
  10. nuitka/PostProcessing.py +69 -38
  11. nuitka/Progress.py +16 -1
  12. nuitka/PythonVersions.py +2 -1
  13. nuitka/Serialization.py +4 -2
  14. nuitka/Tracing.py +69 -1
  15. nuitka/Version.py +2 -2
  16. nuitka/build/Backend.scons +45 -5
  17. nuitka/build/CCompilerVersion.scons +6 -0
  18. nuitka/build/Onefile.scons +6 -0
  19. nuitka/build/SconsCaching.py +12 -2
  20. nuitka/build/SconsCompilerSettings.py +17 -6
  21. nuitka/build/SconsInterface.py +1 -0
  22. nuitka/build/SconsUtils.py +5 -0
  23. nuitka/build/include/nuitka/allocator.h +124 -1
  24. nuitka/build/include/nuitka/calling.h +6 -6
  25. nuitka/build/include/nuitka/compiled_asyncgen.h +10 -7
  26. nuitka/build/include/nuitka/compiled_frame.h +2 -1
  27. nuitka/build/include/nuitka/constants.h +6 -0
  28. nuitka/build/include/nuitka/debug_settings.h +60 -0
  29. nuitka/build/include/nuitka/exceptions.h +264 -121
  30. nuitka/build/include/nuitka/helper/attributes.h +0 -4
  31. nuitka/build/include/nuitka/helper/calling_generated.h +52 -52
  32. nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
  33. nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
  34. nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
  35. nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
  36. nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
  37. nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
  38. nuitka/build/include/nuitka/helper/dictionaries.h +65 -29
  39. nuitka/build/include/nuitka/helper/ints.h +86 -37
  40. nuitka/build/include/nuitka/helper/iterators.h +82 -34
  41. nuitka/build/include/nuitka/helper/operations.h +3 -0
  42. nuitka/build/include/nuitka/helper/operations_binary_add.h +6 -0
  43. nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +34 -0
  44. nuitka/build/include/nuitka/helper/operations_binary_sub.h +6 -0
  45. nuitka/build/include/nuitka/helper/operations_inplace_add.h +3 -0
  46. nuitka/build/include/nuitka/helper/operations_inplace_sub.h +3 -0
  47. nuitka/build/include/nuitka/helper/raising.h +47 -28
  48. nuitka/build/include/nuitka/helper/richcomparisons.h +7 -0
  49. nuitka/build/include/nuitka/helpers.h +12 -2
  50. nuitka/build/include/nuitka/prelude.h +35 -25
  51. nuitka/build/include/nuitka/printing.h +9 -7
  52. nuitka/build/include/nuitka/threading.h +15 -1
  53. nuitka/build/include/nuitka/type_aliases.h +3 -0
  54. nuitka/build/inline_copy/stubgen/astunparse.py +938 -0
  55. nuitka/build/inline_copy/stubgen/six.py +998 -0
  56. nuitka/build/inline_copy/stubgen/stubgen.py +307 -0
  57. nuitka/build/static_src/CompiledAsyncgenType.c +45 -39
  58. nuitka/build/static_src/CompiledCellType.c +6 -4
  59. nuitka/build/static_src/CompiledCodeHelpers.c +104 -40
  60. nuitka/build/static_src/CompiledCoroutineType.c +40 -30
  61. nuitka/build/static_src/CompiledFrameType.c +110 -79
  62. nuitka/build/static_src/CompiledFunctionType.c +173 -151
  63. nuitka/build/static_src/CompiledGeneratorType.c +51 -49
  64. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +424 -46
  65. nuitka/build/static_src/CompiledMethodType.c +10 -13
  66. nuitka/build/static_src/HelpersAllocator.c +270 -32
  67. nuitka/build/static_src/HelpersAttributes.c +0 -21
  68. nuitka/build/static_src/HelpersBuiltin.c +22 -13
  69. nuitka/build/static_src/HelpersCalling.c +7 -7
  70. nuitka/build/static_src/HelpersCallingGenerated.c +70 -70
  71. nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
  72. nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
  73. nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
  74. nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
  75. nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
  76. nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
  77. nuitka/build/static_src/HelpersComparisonEq.c +18 -4
  78. nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -0
  79. nuitka/build/static_src/HelpersComparisonGe.c +18 -4
  80. nuitka/build/static_src/HelpersComparisonGt.c +18 -4
  81. nuitka/build/static_src/HelpersComparisonLe.c +18 -4
  82. nuitka/build/static_src/HelpersComparisonLt.c +18 -4
  83. nuitka/build/static_src/HelpersComparisonNe.c +18 -4
  84. nuitka/build/static_src/HelpersConsole.c +34 -8
  85. nuitka/build/static_src/HelpersConstantsBlob.c +10 -4
  86. nuitka/build/static_src/HelpersDictionaries.c +181 -34
  87. nuitka/build/static_src/HelpersDictionariesGenerated.c +0 -106
  88. nuitka/build/static_src/HelpersExceptions.c +24 -50
  89. nuitka/build/static_src/HelpersFiles.c +79 -5
  90. nuitka/build/static_src/HelpersImport.c +13 -9
  91. nuitka/build/static_src/HelpersImportHard.c +23 -46
  92. nuitka/build/static_src/HelpersLists.c +98 -9
  93. nuitka/build/static_src/HelpersMatching.c +1 -1
  94. nuitka/build/static_src/HelpersOperationBinaryAdd.c +224 -6
  95. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +3 -0
  96. nuitka/build/static_src/HelpersOperationBinaryBitand.c +5 -5
  97. nuitka/build/static_src/HelpersOperationBinaryBitor.c +5 -5
  98. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +5 -5
  99. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +8 -2
  100. nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
  101. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +14 -8
  102. nuitka/build/static_src/HelpersOperationBinaryLshift.c +36 -36
  103. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -0
  104. nuitka/build/static_src/HelpersOperationBinaryMod.c +22 -10
  105. nuitka/build/static_src/HelpersOperationBinaryMult.c +17 -7
  106. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +14 -8
  107. nuitka/build/static_src/HelpersOperationBinaryPow.c +24 -24
  108. nuitka/build/static_src/HelpersOperationBinaryRshift.c +4 -4
  109. nuitka/build/static_src/HelpersOperationBinarySub.c +229 -8
  110. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +8 -2
  111. nuitka/build/static_src/HelpersOperationInplaceAdd.c +162 -10
  112. nuitka/build/static_src/HelpersOperationInplaceBitand.c +5 -5
  113. nuitka/build/static_src/HelpersOperationInplaceBitor.c +5 -5
  114. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +5 -5
  115. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +11 -6
  116. nuitka/build/static_src/HelpersOperationInplaceLshift.c +20 -20
  117. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -0
  118. nuitka/build/static_src/HelpersOperationInplaceMod.c +11 -6
  119. nuitka/build/static_src/HelpersOperationInplaceMult.c +11 -6
  120. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +11 -6
  121. nuitka/build/static_src/HelpersOperationInplacePow.c +20 -20
  122. nuitka/build/static_src/HelpersOperationInplaceRshift.c +4 -4
  123. nuitka/build/static_src/HelpersOperationInplaceSub.c +163 -10
  124. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +6 -1
  125. nuitka/build/static_src/HelpersProfiling.c +1 -1
  126. nuitka/build/static_src/HelpersRaising.c +255 -310
  127. nuitka/build/static_src/HelpersStrings.c +1 -1
  128. nuitka/build/static_src/HelpersTuples.c +1 -1
  129. nuitka/build/static_src/HelpersTypes.c +98 -2
  130. nuitka/build/static_src/MainProgram.c +117 -29
  131. nuitka/build/static_src/MetaPathBasedLoader.c +18 -19
  132. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +134 -11
  133. nuitka/build/static_src/OnefileBootstrap.c +6 -1
  134. nuitka/code_generation/AsyncgenCodes.py +2 -6
  135. nuitka/code_generation/BinaryOperationHelperDefinitions.py +269 -167
  136. nuitka/code_generation/BuiltinCodes.py +9 -1
  137. nuitka/code_generation/CallCodes.py +16 -16
  138. nuitka/code_generation/CodeGeneration.py +14 -2
  139. nuitka/code_generation/CodeHelperSelection.py +1 -1
  140. nuitka/code_generation/CodeHelpers.py +4 -1
  141. nuitka/code_generation/CodeObjectCodes.py +2 -2
  142. nuitka/code_generation/ComparisonCodes.py +13 -2
  143. nuitka/code_generation/ComparisonHelperDefinitions.py +23 -8
  144. nuitka/code_generation/Contexts.py +28 -16
  145. nuitka/code_generation/CoroutineCodes.py +2 -6
  146. nuitka/code_generation/DictCodes.py +3 -3
  147. nuitka/code_generation/ErrorCodes.py +34 -50
  148. nuitka/code_generation/ExceptionCodes.py +165 -96
  149. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +25 -10
  150. nuitka/code_generation/FrameCodes.py +4 -11
  151. nuitka/code_generation/FunctionCodes.py +2 -6
  152. nuitka/code_generation/GeneratorCodes.py +2 -6
  153. nuitka/code_generation/GlobalConstants.py +8 -2
  154. nuitka/code_generation/GlobalsLocalsCodes.py +2 -2
  155. nuitka/code_generation/IteratorCodes.py +67 -54
  156. nuitka/code_generation/LineNumberCodes.py +1 -3
  157. nuitka/code_generation/ModuleCodes.py +28 -4
  158. nuitka/code_generation/OperationCodes.py +51 -20
  159. nuitka/code_generation/PackageResourceCodes.py +37 -0
  160. nuitka/code_generation/RaisingCodes.py +164 -90
  161. nuitka/code_generation/Reports.py +13 -5
  162. nuitka/code_generation/ReturnCodes.py +2 -16
  163. nuitka/code_generation/TryCodes.py +12 -24
  164. nuitka/code_generation/TypeAliasCodes.py +48 -0
  165. nuitka/code_generation/VariableCodes.py +99 -40
  166. nuitka/code_generation/VariableDeclarations.py +8 -8
  167. nuitka/code_generation/YieldCodes.py +1 -1
  168. nuitka/code_generation/c_types/CTypeBases.py +10 -2
  169. nuitka/code_generation/c_types/CTypeModuleDictVariables.py +3 -0
  170. nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +3 -4
  171. nuitka/code_generation/c_types/CTypeNuitkaInts.py +70 -25
  172. nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
  173. nuitka/code_generation/c_types/CTypePyObjectPointers.py +16 -6
  174. nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +2 -2
  175. nuitka/code_generation/templates/CodeTemplatesConstants.py +11 -3
  176. nuitka/code_generation/templates/CodeTemplatesCoroutines.py +2 -2
  177. nuitka/code_generation/templates/CodeTemplatesExceptions.py +15 -16
  178. nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -10
  179. nuitka/code_generation/templates/CodeTemplatesFunction.py +2 -2
  180. nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +2 -2
  181. nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -35
  182. nuitka/code_generation/templates/CodeTemplatesModules.py +34 -4
  183. nuitka/code_generation/templates/CodeTemplatesVariables.py +73 -0
  184. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +3 -3
  185. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +3 -3
  186. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +0 -105
  187. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -2
  188. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
  189. nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +115 -0
  190. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +9 -9
  191. nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
  192. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
  193. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
  194. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +9 -9
  195. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +7 -7
  196. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +9 -9
  197. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +7 -7
  198. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +4 -4
  199. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
  200. nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +31 -31
  201. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
  202. nuitka/containers/Namedtuples.py +6 -0
  203. nuitka/containers/OrderedSets.py +105 -5
  204. nuitka/distutils/Build.py +14 -0
  205. nuitka/distutils/DistutilCommands.py +50 -10
  206. nuitka/finalizations/Finalization.py +3 -3
  207. nuitka/finalizations/FinalizeMarkups.py +10 -14
  208. nuitka/freezer/DependsExe.py +13 -3
  209. nuitka/freezer/DllDependenciesMacOS.py +18 -1
  210. nuitka/freezer/DllDependenciesWin32.py +26 -12
  211. nuitka/freezer/ImportDetection.py +3 -0
  212. nuitka/freezer/IncludedDataFiles.py +31 -8
  213. nuitka/freezer/IncludedEntryPoints.py +3 -2
  214. nuitka/freezer/Standalone.py +76 -18
  215. nuitka/importing/Importing.py +33 -6
  216. nuitka/importing/Recursion.py +12 -1
  217. nuitka/importing/StandardLibrary.py +57 -59
  218. nuitka/nodes/AsyncgenNodes.py +3 -6
  219. nuitka/nodes/BuiltinIteratorNodes.py +1 -1
  220. nuitka/nodes/BuiltinRefNodes.py +14 -30
  221. nuitka/nodes/ChildrenHavingMixins.py +439 -46
  222. nuitka/nodes/ConditionalNodes.py +3 -2
  223. nuitka/nodes/CoroutineNodes.py +3 -6
  224. nuitka/nodes/ExceptionNodes.py +102 -26
  225. nuitka/nodes/ExpressionBasesGenerated.py +288 -4
  226. nuitka/nodes/FrameNodes.py +22 -11
  227. nuitka/nodes/FunctionNodes.py +3 -3
  228. nuitka/nodes/GeneratorNodes.py +3 -6
  229. nuitka/nodes/HardImportNodesGenerated.py +182 -0
  230. nuitka/nodes/ImportNodes.py +2 -2
  231. nuitka/nodes/NodeBases.py +28 -1
  232. nuitka/nodes/NodeMakingHelpers.py +71 -50
  233. nuitka/nodes/OperatorNodesUnary.py +128 -3
  234. nuitka/nodes/OsSysNodes.py +37 -6
  235. nuitka/nodes/OutlineNodes.py +2 -2
  236. nuitka/nodes/StatementBasesGenerated.py +0 -2
  237. nuitka/nodes/StatementNodes.py +8 -7
  238. nuitka/nodes/SubscriptNodes.py +1 -1
  239. nuitka/nodes/TypeNodes.py +28 -1
  240. nuitka/nodes/shapes/BuiltinTypeShapes.py +24 -7
  241. nuitka/nodes/shapes/ShapeMixins.py +17 -0
  242. nuitka/nodes/shapes/StandardShapes.py +53 -1
  243. nuitka/optimizations/BytecodeDemotion.py +2 -1
  244. nuitka/plugins/PluginBase.py +64 -22
  245. nuitka/plugins/Plugins.py +6 -3
  246. nuitka/plugins/standard/AntiBloatPlugin.py +23 -12
  247. nuitka/plugins/standard/ImplicitImports.py +1 -13
  248. nuitka/plugins/standard/KivyPlugin.py +3 -12
  249. nuitka/plugins/standard/MatplotlibPlugin.py +12 -1
  250. nuitka/plugins/standard/MultiprocessingPlugin.py +11 -20
  251. nuitka/plugins/standard/PlaywrightPlugin.py +184 -0
  252. nuitka/plugins/standard/PySidePyQtPlugin.py +8 -0
  253. nuitka/plugins/standard/TkinterPlugin.py +0 -56
  254. nuitka/plugins/standard/TransformersPlugin.py +70 -275
  255. nuitka/plugins/standard/standard.nuitka-package.config.yml +510 -28
  256. nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +35 -2
  257. nuitka/reports/CompilationReportReader.py +12 -0
  258. nuitka/reports/Reports.py +11 -0
  259. nuitka/specs/BuiltinParameterSpecs.py +5 -1
  260. nuitka/specs/HardImportSpecs.py +7 -0
  261. nuitka/specs/ParameterSpecs.py +4 -4
  262. nuitka/tools/general/dll_report/__main__.py +10 -1
  263. nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
  264. nuitka/tools/specialize/CTypeDescriptions.py +158 -9
  265. nuitka/tools/specialize/SpecializeC.py +218 -56
  266. nuitka/tools/testing/Common.py +70 -63
  267. nuitka/tools/testing/compare_with_cpython/__main__.py +3 -1
  268. nuitka/tools/testing/measure_construct_performance/__main__.py +1 -8
  269. nuitka/tools/testing/run_nuitka_tests/__main__.py +77 -11
  270. nuitka/tools/watch/AutoStage.py +1 -0
  271. nuitka/tree/Building.py +10 -37
  272. nuitka/tree/ComplexCallHelperFunctions.py +4 -0
  273. nuitka/tree/ReformulationAssertStatements.py +31 -14
  274. nuitka/tree/ReformulationAssignmentStatements.py +5 -1
  275. nuitka/tree/ReformulationClasses3.py +94 -19
  276. nuitka/tree/ReformulationDictionaryCreation.py +1 -0
  277. nuitka/tree/ReformulationFunctionStatements.py +1 -1
  278. nuitka/tree/ReformulationMatchStatements.py +3 -1
  279. nuitka/tree/ReformulationYieldExpressions.py +23 -5
  280. nuitka/utils/CommandLineOptions.py +27 -3
  281. nuitka/utils/Download.py +2 -2
  282. nuitka/utils/Execution.py +36 -31
  283. nuitka/utils/FileOperations.py +39 -54
  284. nuitka/utils/Importing.py +2 -14
  285. nuitka/utils/InlineCopies.py +52 -0
  286. nuitka/utils/InstalledPythons.py +9 -4
  287. nuitka/utils/Json.py +2 -2
  288. nuitka/utils/PackageResources.py +44 -0
  289. nuitka/utils/Utils.py +17 -0
  290. {Nuitka_winsvc-2.4.8.data → Nuitka_winsvc-2.5.1.data}/scripts/nuitka-run.cmd +0 -0
  291. {Nuitka_winsvc-2.4.8.data → Nuitka_winsvc-2.5.1.data}/scripts/nuitka.cmd +0 -0
  292. {Nuitka_winsvc-2.4.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/LICENSE.txt +0 -0
  293. {Nuitka_winsvc-2.4.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/entry_points.txt +0 -0
  294. {Nuitka_winsvc-2.4.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/top_level.txt +0 -0
@@ -17,287 +17,54 @@ class NuitkaPluginTransformers(NuitkaPluginBase):
17
17
  def isAlwaysEnabled():
18
18
  return True
19
19
 
20
- # Found via grep -re "_import_structure = {"
21
- _import_structure_modules = (
22
- "transformers",
23
- "transformers.generation",
24
- "transformers.integrations",
25
- "transformers.models.albert",
26
- "transformers.models.align",
27
- "transformers.models.altclip",
28
- "transformers.models.audio_spectrogram_transformer",
29
- "transformers.models.auto",
30
- "transformers.models.autoformer",
31
- "transformers.models.bark",
32
- "transformers.models.bart",
33
- "transformers.models.barthez",
34
- "transformers.models.bartpho",
35
- "transformers.models.beit",
36
- "transformers.models.bert",
37
- "transformers.models.bert_generation",
38
- "transformers.models.bert_japanese",
39
- "transformers.models.bertweet",
40
- "transformers.models.big_bird",
41
- "transformers.models.bigbird_pegasus",
42
- "transformers.models.biogpt",
43
- "transformers.models.bit",
44
- "transformers.models.blenderbot",
45
- "transformers.models.blenderbot_small",
46
- "transformers.models.blip",
47
- "transformers.models.blip_2",
48
- "transformers.models.bloom",
49
- "transformers.models.bridgetower",
50
- "transformers.models.bros",
51
- "transformers.models.byt5",
52
- "transformers.models.camembert",
53
- "transformers.models.canine",
54
- "transformers.models.chinese_clip",
55
- "transformers.models.clap",
56
- "transformers.models.clip",
57
- "transformers.models.clipseg",
58
- "transformers.models.clvp",
59
- "transformers.models.code_llama",
60
- "transformers.models.codegen",
61
- "transformers.models.cohere",
62
- "transformers.models.conditional_detr",
63
- "transformers.models.convbert",
64
- "transformers.models.convnext",
65
- "transformers.models.convnextv2",
66
- "transformers.models.cpm",
67
- "transformers.models.cpmant",
68
- "transformers.models.ctrl",
69
- "transformers.models.cvt",
70
- "transformers.models.data2vec",
71
- "transformers.models.deberta",
72
- "transformers.models.deberta_v2",
73
- "transformers.models.decision_transformer",
74
- "transformers.models.deformable_detr",
75
- "transformers.models.deit",
76
- "transformers.models.depth_anything",
77
- "transformers.models.deta",
78
- "transformers.models.detr",
79
- "transformers.models.dinat",
80
- "transformers.models.dinov2",
81
- "transformers.models.distilbert",
82
- "transformers.models.donut",
83
- "transformers.models.dpr",
84
- "transformers.models.dpt",
85
- "transformers.models.efficientformer",
86
- "transformers.models.efficientnet",
87
- "transformers.models.electra",
88
- "transformers.models.encodec",
89
- "transformers.models.encoder_decoder",
90
- "transformers.models.ernie",
91
- "transformers.models.ernie_m",
92
- "transformers.models.esm",
93
- "transformers.models.falcon",
94
- "transformers.models.fastspeech2_conformer",
95
- "transformers.models.flaubert",
96
- "transformers.models.flava",
97
- "transformers.models.fnet",
98
- "transformers.models.focalnet",
99
- "transformers.models.fsmt",
100
- "transformers.models.funnel",
101
- "transformers.models.fuyu",
102
- "transformers.models.gemma",
103
- "transformers.models.git",
104
- "transformers.models.glpn",
105
- "transformers.models.gpt2",
106
- "transformers.models.gpt_bigcode",
107
- "transformers.models.gpt_neo",
108
- "transformers.models.gpt_neox",
109
- "transformers.models.gpt_neox_japanese",
110
- "transformers.models.gpt_sw3",
111
- "transformers.models.gptj",
112
- "transformers.models.gptsan_japanese",
113
- "transformers.models.graphormer",
114
- "transformers.models.groupvit",
115
- "transformers.models.herbert",
116
- "transformers.models.hubert",
117
- "transformers.models.ibert",
118
- "transformers.models.idefics",
119
- "transformers.models.imagegpt",
120
- "transformers.models.informer",
121
- "transformers.models.instructblip",
122
- "transformers.models.jukebox",
123
- "transformers.models.kosmos2",
124
- "transformers.models.layoutlm",
125
- "transformers.models.layoutlmv2",
126
- "transformers.models.layoutlmv3",
127
- "transformers.models.layoutxlm",
128
- "transformers.models.led",
129
- "transformers.models.levit",
130
- "transformers.models.lilt",
131
- "transformers.models.llama",
132
- "transformers.models.llava",
133
- "transformers.models.llava_next",
134
- "transformers.models.longformer",
135
- "transformers.models.longt5",
136
- "transformers.models.luke",
137
- "transformers.models.lxmert",
138
- "transformers.models.m2m_100",
139
- "transformers.models.mamba",
140
- "transformers.models.marian",
141
- "transformers.models.markuplm",
142
- "transformers.models.mask2former",
143
- "transformers.models.maskformer",
144
- "transformers.models.mbart",
145
- "transformers.models.mbart50",
146
- "transformers.models.mctct",
147
- "transformers.models.mega",
148
- "transformers.models.megatron_bert",
149
- "transformers.models.mgp_str",
150
- "transformers.models.mistral",
151
- "transformers.models.mixtral",
152
- "transformers.models.mluke",
153
- "transformers.models.mmbt",
154
- "transformers.models.mobilebert",
155
- "transformers.models.mobilenet_v1",
156
- "transformers.models.mobilenet_v2",
157
- "transformers.models.mobilevit",
158
- "transformers.models.mobilevitv2",
159
- "transformers.models.mpnet",
160
- "transformers.models.mpt",
161
- "transformers.models.mra",
162
- "transformers.models.mt5",
163
- "transformers.models.musicgen",
164
- "transformers.models.musicgen_melody",
165
- "transformers.models.mvp",
166
- "transformers.models.nat",
167
- "transformers.models.nezha",
168
- "transformers.models.nllb",
169
- "transformers.models.nllb_moe",
170
- "transformers.models.nougat",
171
- "transformers.models.nystromformer",
172
- "transformers.models.oneformer",
173
- "transformers.models.open_llama",
174
- "transformers.models.openai",
175
- "transformers.models.opt",
176
- "transformers.models.owlv2",
177
- "transformers.models.owlvit",
178
- "transformers.models.patchtsmixer",
179
- "transformers.models.patchtst",
180
- "transformers.models.pegasus",
181
- "transformers.models.pegasus_x",
182
- "transformers.models.perceiver",
183
- "transformers.models.persimmon",
184
- "transformers.models.phi",
185
- "transformers.models.phobert",
186
- "transformers.models.pix2struct",
187
- "transformers.models.plbart",
188
- "transformers.models.poolformer",
189
- "transformers.models.pop2piano",
190
- "transformers.models.prophetnet",
191
- "transformers.models.pvt",
192
- "transformers.models.pvt_v2",
193
- "transformers.models.qdqbert",
194
- "transformers.models.qwen2",
195
- "transformers.models.rag",
196
- "transformers.models.realm",
197
- "transformers.models.reformer",
198
- "transformers.models.regnet",
199
- "transformers.models.rembert",
200
- "transformers.models.resnet",
201
- "transformers.models.retribert",
202
- "transformers.models.roberta",
203
- "transformers.models.roberta_prelayernorm",
204
- "transformers.models.roc_bert",
205
- "transformers.models.roformer",
206
- "transformers.models.rwkv",
207
- "transformers.models.sam",
208
- "transformers.models.seamless_m4t",
209
- "transformers.models.seamless_m4t_v2",
210
- "transformers.models.segformer",
211
- "transformers.models.seggpt",
212
- "transformers.models.sew",
213
- "transformers.models.sew_d",
214
- "transformers.models.siglip",
215
- "transformers.models.speech_encoder_decoder",
216
- "transformers.models.speech_to_text",
217
- "transformers.models.speech_to_text_2",
218
- "transformers.models.speecht5",
219
- "transformers.models.splinter",
220
- "transformers.models.squeezebert",
221
- "transformers.models.stablelm",
222
- "transformers.models.starcoder2",
223
- "transformers.models.superpoint",
224
- "transformers.models.swiftformer",
225
- "transformers.models.swin",
226
- "transformers.models.swin2sr",
227
- "transformers.models.swinv2",
228
- "transformers.models.switch_transformers",
229
- "transformers.models.t5",
230
- "transformers.models.table_transformer",
231
- "transformers.models.tapas",
232
- "transformers.models.tapex",
233
- "transformers.models.time_series_transformer",
234
- "transformers.models.timesformer",
235
- "transformers.models.timm_backbone",
236
- "transformers.models.trajectory_transformer",
237
- "transformers.models.deprecated.mctct",
238
- "transformers.models.deprecated.mmbt",
239
- "transformers.models.deprecated.open_llama",
240
- "transformers.models.deprecated.retribert",
241
- "transformers.models.deprecated.tapex",
242
- "transformers.models.deprecated.trajectory_transformer",
243
- "transformers.models.deprecated.transfo_xl",
244
- "transformers.models.deprecated.van",
245
- "transformers.models.trocr",
246
- "transformers.models.tvlt",
247
- "transformers.models.tvp",
248
- "transformers.models.udop",
249
- "transformers.models.umt5",
250
- "transformers.models.unispeech",
251
- "transformers.models.unispeech_sat",
252
- "transformers.models.univnet",
253
- "transformers.models.upernet",
254
- "transformers.models.van",
255
- "transformers.models.videomae",
256
- "transformers.models.vilt",
257
- "transformers.models.vipllava",
258
- "transformers.models.vision_encoder_decoder",
259
- "transformers.models.vision_text_dual_encoder",
260
- "transformers.models.visual_bert",
261
- "transformers.models.vit",
262
- "transformers.models.vit_hybrid",
263
- "transformers.models.vit_mae",
264
- "transformers.models.vit_msn",
265
- "transformers.models.vitdet",
266
- "transformers.models.vitmatte",
267
- "transformers.models.vits",
268
- "transformers.models.vivit",
269
- "transformers.models.wav2vec2",
270
- "transformers.models.wav2vec2_bert",
271
- "transformers.models.wav2vec2_conformer",
272
- "transformers.models.wav2vec2_phoneme",
273
- "transformers.models.wav2vec2_with_lm",
274
- "transformers.models.wavlm",
275
- "transformers.models.whisper",
276
- "transformers.models.x_clip",
277
- "transformers.models.xglm",
278
- "transformers.models.xlm",
279
- "transformers.models.xlm_prophetnet",
280
- "transformers.models.xlm_roberta",
281
- "transformers.models.xlm_roberta_xl",
282
- "transformers.models.xlnet",
283
- "transformers.models.xmod",
284
- "transformers.models.yolos",
285
- "transformers.models.yoso",
286
- "transformers.onnx",
287
- "transformers.tools",
288
- )
20
+ # Modules that have "_import_structure = {" definitions.
21
+ _import_structure_modules = set()
22
+
23
+ # Modules that have "define_import_structure(_file)" calls.
24
+ _define_structure_modules = {}
25
+
26
+ def onModuleUsageLookAhead(
27
+ self, module_name, module_filename, module_kind, get_module_source
28
+ ):
29
+ if (
30
+ not module_name.hasNamespace("transformers")
31
+ or module_name == "transformers.utils.import_utils"
32
+ ):
33
+ return
34
+
35
+ # Getting the source code will also trigger our modification
36
+ # and potentially tell us if any lazy loading applies.
37
+ source_code = get_module_source()
38
+
39
+ if source_code is None:
40
+ return
41
+
42
+ if "_import_structure = {" in source_code:
43
+ self._import_structure_modules.add(module_name)
44
+
45
+ def _getImportStructureDefinition(self, module_name, source_filename):
46
+ # TODO: Is caching is not needed, because it does that on
47
+ # its own?
48
+ import_structure_value = self.queryRuntimeInformationSingle(
49
+ setup_codes="from transformers.utils.import_utils import define_import_structure",
50
+ value="{tuple(key): value for (key, value) in define_import_structure(%r).items()}"
51
+ % source_filename,
52
+ info_name="transformers_%s_import_structure" % module_name.asString(),
53
+ )
54
+
55
+ return import_structure_value
289
56
 
290
57
  def getImplicitImports(self, module):
291
- full_name = module.getFullName()
58
+ module_name = module.getFullName()
292
59
 
293
- if full_name in self._import_structure_modules:
60
+ if module_name in self._import_structure_modules:
294
61
  for sub_module_name in self.queryRuntimeInformationSingle(
295
- setup_codes="import %s" % full_name.asString(),
62
+ setup_codes="import %s" % module_name.asString(),
296
63
  value="list(getattr(%(module_name)s, '_import_structure', {}).keys())"
297
- % {"module_name": full_name.asString()},
298
- info_name="import_structure_for_%s" % full_name.asString(),
64
+ % {"module_name": module_name.asString()},
65
+ info_name="import_structure_for_%s" % module_name.asString(),
299
66
  ):
300
- sub_module_name = full_name.getChildNamed(sub_module_name)
67
+ sub_module_name = module_name.getChildNamed(sub_module_name)
301
68
 
302
69
  if (
303
70
  sub_module_name == "transformers.testing_utils"
@@ -309,6 +76,34 @@ class NuitkaPluginTransformers(NuitkaPluginBase):
309
76
 
310
77
  yield sub_module_name
311
78
 
79
+ if module_name in self._define_structure_modules:
80
+ for sub_module_name in self._define_structure_modules[module_name][
81
+ frozenset()
82
+ ].keys():
83
+ yield module_name.getChildNamed(sub_module_name)
84
+
85
+ def onModuleSourceCode(self, module_name, source_filename, source_code):
86
+ if module_name.hasNamespace("transformers"):
87
+ if "define_import_structure(_file)" in source_code:
88
+ import_structure_value = self._getImportStructureDefinition(
89
+ module_name=module_name, source_filename=source_filename
90
+ )
91
+
92
+ # Frozenset does not transport as such, so we converted
93
+ # them to tuples and now back for compatibility.
94
+ import_structure_value = dict(
95
+ (frozenset(key), value)
96
+ for key, value in import_structure_value.items()
97
+ )
98
+
99
+ source_code = source_code.replace(
100
+ "define_import_structure(_file)", repr(import_structure_value)
101
+ )
102
+
103
+ self._define_structure_modules[module_name] = import_structure_value
104
+
105
+ return source_code
106
+
312
107
 
313
108
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
314
109
  # integrates with CPython, but also works on its own.