Nuitka-winsvc 2.1.6__cp311-cp311-win_amd64.whl → 2.2.2__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 (234) hide show
  1. {Nuitka_winsvc-2.1.6.dist-info → Nuitka_winsvc-2.2.2.dist-info}/METADATA +1 -1
  2. {Nuitka_winsvc-2.1.6.dist-info → Nuitka_winsvc-2.2.2.dist-info}/RECORD +234 -225
  3. nuitka/Errors.py +4 -0
  4. nuitka/HardImportRegistry.py +18 -1
  5. nuitka/MainControl.py +27 -30
  6. nuitka/OptionParsing.py +32 -30
  7. nuitka/Options.py +26 -13
  8. nuitka/OutputDirectories.py +7 -4
  9. nuitka/PostProcessing.py +9 -7
  10. nuitka/Progress.py +3 -3
  11. nuitka/PythonVersions.py +2 -2
  12. nuitka/TreeXML.py +1 -1
  13. nuitka/Version.py +1 -1
  14. nuitka/build/Backend.scons +2 -1
  15. nuitka/build/DataComposerInterface.py +1 -0
  16. nuitka/build/Onefile.scons +2 -1
  17. nuitka/build/SconsCaching.py +64 -46
  18. nuitka/build/SconsCompilerSettings.py +19 -6
  19. nuitka/build/SconsHacks.py +0 -1
  20. nuitka/build/SconsInterface.py +84 -5
  21. nuitka/build/SconsProgress.py +0 -1
  22. nuitka/build/SconsUtils.py +8 -4
  23. nuitka/build/include/nuitka/allocator.h +8 -3
  24. nuitka/build/include/nuitka/compiled_cell.h +8 -0
  25. nuitka/build/include/nuitka/exceptions.h +554 -179
  26. nuitka/build/include/nuitka/helper/dictionaries.h +1 -1
  27. nuitka/build/include/nuitka/helper/import_hard.h +3 -0
  28. nuitka/build/include/nuitka/helper/ints.h +15 -2
  29. nuitka/build/include/nuitka/helper/lists.h +4 -1
  30. nuitka/build/include/nuitka/helper/raising.h +12 -0
  31. nuitka/build/include/nuitka/helper/tuples.h +5 -1
  32. nuitka/build/include/nuitka/helpers.h +4 -0
  33. nuitka/build/include/nuitka/importing.h +3 -4
  34. nuitka/build/include/nuitka/jit_sources.h +25 -0
  35. nuitka/build/include/nuitka/prelude.h +38 -11
  36. nuitka/build/include/nuitka/printing.h +3 -0
  37. nuitka/build/include/nuitka/threading.h +2 -6
  38. nuitka/build/include/nuitka/type_aliases.h +27 -0
  39. nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
  40. nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -4
  41. nuitka/build/static_src/CompiledAsyncgenType.c +99 -114
  42. nuitka/build/static_src/CompiledCodeHelpers.c +23 -14
  43. nuitka/build/static_src/CompiledCoroutineType.c +96 -114
  44. nuitka/build/static_src/CompiledFrameType.c +14 -11
  45. nuitka/build/static_src/CompiledFunctionType.c +34 -7
  46. nuitka/build/static_src/CompiledGeneratorType.c +248 -142
  47. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +60 -70
  48. nuitka/build/static_src/CompiledMethodType.c +8 -7
  49. nuitka/build/static_src/HelpersAttributes.c +2 -19
  50. nuitka/build/static_src/HelpersBuiltin.c +2 -1
  51. nuitka/build/static_src/HelpersComparisonEq.c +32 -18
  52. nuitka/build/static_src/HelpersComparisonGe.c +50 -36
  53. nuitka/build/static_src/HelpersComparisonGt.c +50 -36
  54. nuitka/build/static_src/HelpersComparisonLe.c +50 -36
  55. nuitka/build/static_src/HelpersComparisonLt.c +50 -36
  56. nuitka/build/static_src/HelpersComparisonNe.c +32 -18
  57. nuitka/build/static_src/HelpersDeepcopy.c +6 -8
  58. nuitka/build/static_src/HelpersDictionaries.c +8 -3
  59. nuitka/build/static_src/HelpersExceptions.c +42 -28
  60. nuitka/build/static_src/HelpersFilesystemPaths.c +7 -7
  61. nuitka/build/static_src/HelpersImportHard.c +15 -0
  62. nuitka/build/static_src/HelpersJitSources.c +46 -0
  63. nuitka/build/static_src/HelpersLists.c +40 -0
  64. nuitka/build/static_src/HelpersOperationBinaryAdd.c +66 -66
  65. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +80 -33
  66. nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +16 -13
  67. nuitka/build/static_src/HelpersOperationBinarySub.c +39 -39
  68. nuitka/build/static_src/HelpersOperationInplaceAdd.c +54 -54
  69. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -1
  70. nuitka/build/static_src/HelpersOperationInplaceSub.c +50 -50
  71. nuitka/build/static_src/HelpersProfiling.c +3 -4
  72. nuitka/build/static_src/HelpersRaising.c +62 -1
  73. nuitka/build/static_src/HelpersStrings.c +203 -8
  74. nuitka/build/static_src/HelpersTypes.c +42 -0
  75. nuitka/build/static_src/MainProgram.c +1 -1
  76. nuitka/build/static_src/MetaPathBasedLoader.c +2 -1
  77. nuitka/build/static_src/OnefileBootstrap.c +3 -3
  78. nuitka/code_generation/BinaryOperationHelperDefinitions.py +5 -3
  79. nuitka/code_generation/BuiltinCodes.py +1 -0
  80. nuitka/code_generation/CodeGeneration.py +11 -0
  81. nuitka/code_generation/CodeHelpers.py +5 -3
  82. nuitka/code_generation/CodeObjectCodes.py +10 -6
  83. nuitka/code_generation/ComparisonCodes.py +19 -3
  84. nuitka/code_generation/ConstantCodes.py +5 -0
  85. nuitka/code_generation/Contexts.py +22 -6
  86. nuitka/code_generation/Emission.py +1 -0
  87. nuitka/code_generation/ErrorCodes.py +8 -16
  88. nuitka/code_generation/EvalCodes.py +5 -3
  89. nuitka/code_generation/ExceptionCodes.py +8 -1
  90. nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +1 -0
  91. nuitka/code_generation/FrameCodes.py +5 -3
  92. nuitka/code_generation/FunctionCodes.py +0 -1
  93. nuitka/code_generation/GeneratorCodes.py +3 -3
  94. nuitka/code_generation/GlobalConstants.py +0 -2
  95. nuitka/code_generation/ImportCodes.py +2 -0
  96. nuitka/code_generation/JitCodes.py +44 -0
  97. nuitka/code_generation/ListCodes.py +11 -17
  98. nuitka/code_generation/MatchCodes.py +0 -1
  99. nuitka/code_generation/ModuleCodes.py +2 -1
  100. nuitka/code_generation/Namify.py +0 -1
  101. nuitka/code_generation/NetworkxCodes.py +51 -0
  102. nuitka/code_generation/OperationCodes.py +8 -6
  103. nuitka/code_generation/PackageResourceCodes.py +7 -5
  104. nuitka/code_generation/TensorflowCodes.py +54 -0
  105. nuitka/code_generation/TypeAliasCodes.py +71 -0
  106. nuitka/code_generation/VariableCodes.py +7 -5
  107. nuitka/code_generation/VariableDeclarations.py +1 -0
  108. nuitka/code_generation/c_types/CTypeCLongs.py +0 -1
  109. nuitka/code_generation/c_types/CTypeNuitkaInts.py +0 -1
  110. nuitka/code_generation/c_types/CTypeVoids.py +1 -0
  111. nuitka/code_generation/templates/CodeTemplatesConstants.py +14 -0
  112. nuitka/code_generation/templates/CodeTemplatesExceptions.py +1 -1
  113. nuitka/code_generation/templates/CodeTemplatesIterators.py +0 -1
  114. nuitka/code_generation/templates/CodeTemplatesLoader.py +0 -1
  115. nuitka/code_generation/templates/CodeTemplatesModules.py +9 -4
  116. nuitka/code_generation/templates/CodeTemplatesVariables.py +8 -8
  117. nuitka/code_generation/templates/TemplateDebugWrapper.py +0 -1
  118. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +4 -0
  119. nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +9 -7
  120. nuitka/containers/Namedtuples.py +0 -1
  121. nuitka/finalizations/Finalization.py +1 -0
  122. nuitka/finalizations/FinalizeMarkups.py +0 -1
  123. nuitka/freezer/DllDependenciesMacOS.py +60 -13
  124. nuitka/freezer/DllDependenciesPosix.py +0 -1
  125. nuitka/freezer/DllDependenciesWin32.py +2 -1
  126. nuitka/freezer/IncludedDataFiles.py +46 -15
  127. nuitka/freezer/IncludedEntryPoints.py +5 -3
  128. nuitka/freezer/Standalone.py +6 -1
  129. nuitka/importing/ImportCache.py +2 -2
  130. nuitka/importing/ImportResolving.py +80 -78
  131. nuitka/importing/Importing.py +34 -1
  132. nuitka/nodes/AttributeNodesGenerated.py +21 -6
  133. nuitka/nodes/BuiltinComplexNodes.py +1 -0
  134. nuitka/nodes/BuiltinFormatNodes.py +1 -0
  135. nuitka/nodes/BuiltinIteratorNodes.py +5 -3
  136. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +21 -6
  137. nuitka/nodes/BuiltinRefNodes.py +8 -1
  138. nuitka/nodes/BuiltinVarsNodes.py +0 -1
  139. nuitka/nodes/ChildrenHavingMixins.py +906 -186
  140. nuitka/nodes/CodeObjectSpecs.py +1 -1
  141. nuitka/nodes/ConditionalNodes.py +2 -6
  142. nuitka/nodes/ConstantRefNodes.py +38 -0
  143. nuitka/nodes/CtypesNodes.py +0 -1
  144. nuitka/nodes/DictionaryNodes.py +0 -1
  145. nuitka/nodes/ExceptionNodes.py +10 -0
  146. nuitka/nodes/ExpressionBases.py +15 -9
  147. nuitka/nodes/ExpressionBasesGenerated.py +32 -15
  148. nuitka/nodes/FunctionNodes.py +50 -5
  149. nuitka/nodes/HardImportNodesGenerated.py +245 -60
  150. nuitka/nodes/ImportHardNodes.py +27 -13
  151. nuitka/nodes/ImportNodes.py +92 -70
  152. nuitka/nodes/InjectCNodes.py +0 -1
  153. nuitka/nodes/ModuleNodes.py +10 -5
  154. nuitka/nodes/NetworkxNodes.py +45 -0
  155. nuitka/nodes/OperatorNodesUnary.py +1 -0
  156. nuitka/nodes/OsSysNodes.py +0 -1
  157. nuitka/nodes/PackageMetadataNodes.py +0 -1
  158. nuitka/nodes/PackageResourceNodes.py +10 -6
  159. nuitka/nodes/StatementBasesGenerated.py +107 -60
  160. nuitka/nodes/StringConcatenationNodes.py +1 -0
  161. nuitka/nodes/TensorflowNodes.py +38 -0
  162. nuitka/nodes/TypeNodes.py +21 -0
  163. nuitka/nodes/VariableRefNodes.py +1 -0
  164. nuitka/nodes/shapes/BuiltinTypeShapes.py +25 -15
  165. nuitka/optimizations/Optimization.py +7 -6
  166. nuitka/optimizations/OptimizeBuiltinCalls.py +11 -9
  167. nuitka/optimizations/Tags.py +0 -1
  168. nuitka/optimizations/TraceCollections.py +6 -55
  169. nuitka/optimizations/ValueTraces.py +49 -1
  170. nuitka/plugins/PluginBase.py +26 -4
  171. nuitka/plugins/Plugins.py +49 -12
  172. nuitka/plugins/standard/AntiBloatPlugin.py +12 -2
  173. nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +0 -1
  174. nuitka/plugins/standard/DataFilesPlugin.py +2 -6
  175. nuitka/plugins/standard/DillPlugin.py +3 -3
  176. nuitka/plugins/standard/DllFilesPlugin.py +29 -23
  177. nuitka/plugins/standard/GiPlugin.py +1 -0
  178. nuitka/plugins/standard/ImplicitImports.py +8 -7
  179. nuitka/plugins/standard/MatplotlibPlugin.py +1 -0
  180. nuitka/plugins/standard/OptionsNannyPlugin.py +3 -7
  181. nuitka/plugins/standard/PkgResourcesPlugin.py +0 -1
  182. nuitka/plugins/standard/PmwPlugin.py +10 -9
  183. nuitka/plugins/standard/PySidePyQtPlugin.py +0 -28
  184. nuitka/plugins/standard/TensorflowPlugin.py +1 -0
  185. nuitka/plugins/standard/TorchPlugin.py +1 -0
  186. nuitka/plugins/standard/TrioPlugin.py +1 -0
  187. nuitka/plugins/standard/standard.nuitka-package.config.yml +249 -34
  188. nuitka/reports/CompilationReportReader.py +0 -1
  189. nuitka/reports/Reports.py +49 -5
  190. nuitka/specs/BuiltinParameterSpecs.py +10 -2
  191. nuitka/specs/BuiltinStrOperationSpecs.py +1 -1
  192. nuitka/specs/BuiltinTypeOperationSpecs.py +0 -1
  193. nuitka/specs/HardImportSpecs.py +34 -1
  194. nuitka/specs/ParameterSpecs.py +11 -9
  195. nuitka/tools/environments/Virtualenv.py +0 -1
  196. nuitka/tools/specialize/CTypeDescriptions.py +15 -11
  197. nuitka/tools/specialize/SpecializeC.py +11 -9
  198. nuitka/tools/specialize/SpecializePython.py +57 -30
  199. nuitka/tools/testing/Common.py +24 -7
  200. nuitka/tools/testing/OutputComparison.py +4 -0
  201. nuitka/tools/testing/Pythons.py +0 -1
  202. nuitka/tools/testing/compare_with_cpython/__main__.py +0 -4
  203. nuitka/tools/watch/GitHub.py +4 -1
  204. nuitka/tools/watch/__main__.py +22 -1
  205. nuitka/tree/Building.py +3 -0
  206. nuitka/tree/InternalModule.py +0 -1
  207. nuitka/tree/ReformulationAssertStatements.py +1 -0
  208. nuitka/tree/ReformulationAssignmentStatements.py +26 -3
  209. nuitka/tree/ReformulationClasses3.py +23 -26
  210. nuitka/tree/ReformulationContractionExpressions.py +5 -3
  211. nuitka/tree/ReformulationDictionaryCreation.py +6 -5
  212. nuitka/tree/ReformulationExecStatements.py +8 -6
  213. nuitka/tree/ReformulationFunctionStatements.py +10 -6
  214. nuitka/tree/SourceHandling.py +8 -0
  215. nuitka/tree/TreeHelpers.py +6 -3
  216. nuitka/utils/AppDirs.py +6 -2
  217. nuitka/utils/CStrings.py +1 -1
  218. nuitka/utils/CommandLineOptions.py +0 -1
  219. nuitka/utils/Distributions.py +3 -3
  220. nuitka/utils/Download.py +5 -1
  221. nuitka/utils/Execution.py +6 -3
  222. nuitka/utils/FileOperations.py +61 -34
  223. nuitka/utils/Importing.py +4 -4
  224. nuitka/utils/InstanceCounters.py +1 -0
  225. nuitka/utils/MacOSApp.py +1 -0
  226. nuitka/utils/Shebang.py +1 -0
  227. nuitka/utils/Utils.py +39 -1
  228. nuitka/utils/WindowsFileUsage.py +4 -3
  229. {Nuitka_winsvc-2.1.6.data → Nuitka_winsvc-2.2.2.data}/scripts/nuitka-run.bat +0 -0
  230. {Nuitka_winsvc-2.1.6.data → Nuitka_winsvc-2.2.2.data}/scripts/nuitka.bat +0 -0
  231. {Nuitka_winsvc-2.1.6.dist-info → Nuitka_winsvc-2.2.2.dist-info}/LICENSE.txt +0 -0
  232. {Nuitka_winsvc-2.1.6.dist-info → Nuitka_winsvc-2.2.2.dist-info}/WHEEL +0 -0
  233. {Nuitka_winsvc-2.1.6.dist-info → Nuitka_winsvc-2.2.2.dist-info}/entry_points.txt +0 -0
  234. {Nuitka_winsvc-2.1.6.dist-info → Nuitka_winsvc-2.2.2.dist-info}/top_level.txt +0 -0
@@ -377,12 +377,12 @@
377
377
  patterns:
378
378
  - 'templates/*.j2'
379
379
 
380
- - module-name: 'bindings' # checksum: 7e84029d
380
+ - module-name: 'bindings' # checksum: 463796d4
381
381
  dlls:
382
382
  - from_filenames:
383
383
  prefixes:
384
384
  - 'zaber-motion-lib'
385
- when: 'None is not version("zaber_motion") >= (5,1,2)'
385
+ when: 'version("zaber_motion") == (5,1,2)'
386
386
 
387
387
  - module-name: 'bitarray' # checksum: b157a72f
388
388
  anti-bloat:
@@ -446,6 +446,23 @@
446
446
  'is_triton_available()': 'False'
447
447
  when: 'not use_setuptools'
448
448
 
449
+ - module-name: 'bokeh' # checksum: e1035750
450
+ data-files:
451
+ dirs:
452
+ - '_sri'
453
+
454
+ - module-name: 'bokeh.core' # checksum: 3dbea61d
455
+ data-files:
456
+ dirs:
457
+ - '_templates'
458
+
459
+ - module-name: 'bokeh.io.notebook' # checksum: 7d07a2d1
460
+ anti-bloat:
461
+ - description: 'remove IPython reference'
462
+ no-auto-follow:
463
+ 'IPython': 'ignore'
464
+ when: 'not use_ipython'
465
+
449
466
  - module-name: 'boto' # checksum: 22795308
450
467
  data-files:
451
468
  patterns:
@@ -857,7 +874,13 @@
857
874
  patterns:
858
875
  - 'dask.yaml'
859
876
 
860
- - module-name: 'dask.dataframe' # checksum: b6b8eaf
877
+ - module-name: 'dask.dataframe' # checksum: 54d2aebf
878
+ anti-bloat:
879
+ - description: 'remove pytest testing framework'
880
+ replacements_plain:
881
+ 'from dask.dataframe._testing import test_dataframe': 'test_dataframe = None'
882
+ when: 'not use_pytest'
883
+
861
884
  implicit-imports:
862
885
  - depends:
863
886
  - 'pyarrow._*'
@@ -1675,6 +1698,13 @@
1675
1698
  replacements:
1676
1699
  'sj.get_version("pyimagej")': 'repr(version("pyimagej"))'
1677
1700
 
1701
+ - module-name: 'imgui_bundle.immapp.immapp_notebook' # checksum: 7d07a2d1
1702
+ anti-bloat:
1703
+ - description: 'remove IPython reference'
1704
+ no-auto-follow:
1705
+ 'IPython': 'ignore'
1706
+ when: 'not use_ipython'
1707
+
1678
1708
  - module-name: 'importlib_metadata' # checksum: 37dae78
1679
1709
  anti-bloat:
1680
1710
  - description: 'remove useless metadata usage'
@@ -1864,6 +1894,12 @@
1864
1894
  dirs:
1865
1895
  - 'grammars'
1866
1896
 
1897
+ - module-name: 'librosa' # checksum: 20378624
1898
+ anti-bloat:
1899
+ - description: 'allow numba inside of librosa, too dependent to remove'
1900
+ bloat-mode-overrides:
1901
+ 'numba': 'allow'
1902
+
1867
1903
  - module-name: 'librosa.core.intervals' # checksum: fc442d1
1868
1904
  data-files:
1869
1905
  patterns:
@@ -1969,6 +2005,19 @@
1969
2005
  - depends:
1970
2006
  - 'lxml.etree'
1971
2007
 
2008
+ - module-name: 'magic' # checksum: 803cd877
2009
+ data-files:
2010
+ dirs:
2011
+ - 'libmagic'
2012
+ patterns:
2013
+ - 'magic.mgc'
2014
+
2015
+ dlls:
2016
+ - from_filenames:
2017
+ relative_path: 'libmagic'
2018
+ prefixes:
2019
+ - 'libmagic'
2020
+
1972
2021
  - module-name: 'markdown' # checksum: 827a8bc8
1973
2022
  implicit-imports:
1974
2023
  - depends:
@@ -2268,7 +2317,7 @@
2268
2317
  patterns:
2269
2318
  - 'usage.txt'
2270
2319
 
2271
- - module-name: 'numba' # checksum: a8eab062
2320
+ - module-name: 'numba' # checksum: 9bea0dec
2272
2321
  parameters:
2273
2322
  - 'name': 'disable-jit'
2274
2323
  'values': 'value in ("yes", "no")'
@@ -2288,6 +2337,9 @@
2288
2337
  - force-environment-variables:
2289
2338
  'NUMBA_DISABLE_JIT': '1'
2290
2339
  when: 'get_parameter("disable-jit", "yes" if standalone else "no") == "yes"'
2340
+ # This is for "numba.np.ufunc.omppool".
2341
+ - acceptable-missing-dlls:
2342
+ - 'libomp'
2291
2343
 
2292
2344
  - module-name: 'numba.core.caching' # checksum: dce4aaa0
2293
2345
  anti-bloat:
@@ -2521,6 +2573,69 @@
2521
2573
  'rundocs': 'un-callable'
2522
2574
  when: 'not use_unittest'
2523
2575
 
2576
+ - module-name: 'nvidia' # checksum: 1639b6cb
2577
+ dlls:
2578
+ - from_filenames:
2579
+ relative_path: 'cublas/lib'
2580
+ prefixes:
2581
+ - 'lib'
2582
+ when: 'linux'
2583
+ - from_filenames:
2584
+ relative_path: 'cuda_cupti/lib'
2585
+ prefixes:
2586
+ - 'lib'
2587
+ when: 'linux'
2588
+ - from_filenames:
2589
+ relative_path: 'cuda_nvrtc/lib'
2590
+ prefixes:
2591
+ - 'lib'
2592
+ when: 'linux'
2593
+ - from_filenames:
2594
+ relative_path: 'cuda_runtime/lib'
2595
+ prefixes:
2596
+ - 'lib'
2597
+ when: 'linux'
2598
+ - from_filenames:
2599
+ relative_path: 'cudnn/lib'
2600
+ prefixes:
2601
+ - 'lib'
2602
+ when: 'linux'
2603
+ - from_filenames:
2604
+ relative_path: 'cufft/lib'
2605
+ prefixes:
2606
+ - 'lib'
2607
+ when: 'linux'
2608
+ - from_filenames:
2609
+ relative_path: 'curand/lib'
2610
+ prefixes:
2611
+ - 'lib'
2612
+ when: 'linux'
2613
+ - from_filenames:
2614
+ relative_path: 'cusolver/lib'
2615
+ prefixes:
2616
+ - 'lib'
2617
+ when: 'linux'
2618
+ - from_filenames:
2619
+ relative_path: 'cusparse/lib'
2620
+ prefixes:
2621
+ - 'lib'
2622
+ when: 'linux'
2623
+ - from_filenames:
2624
+ relative_path: 'nccl/lib'
2625
+ prefixes:
2626
+ - 'lib'
2627
+ when: 'linux'
2628
+ - from_filenames:
2629
+ relative_path: 'nvjitlink/lib'
2630
+ prefixes:
2631
+ - 'lib'
2632
+ when: 'linux'
2633
+ - from_filenames:
2634
+ relative_path: 'nvtx/lib'
2635
+ prefixes:
2636
+ - 'lib'
2637
+ when: 'linux'
2638
+
2524
2639
  - module-name: 'objc' # checksum: 5c6f45a7
2525
2640
  options:
2526
2641
  checks:
@@ -2979,6 +3094,15 @@
2979
3094
  replacements_plain:
2980
3095
  'if name == "testing":': 'if False:'
2981
3096
 
3097
+ - module-name: 'panel' # checksum: 29e3adc1
3098
+ data-files:
3099
+ dirs:
3100
+ - '_templates'
3101
+ - 'layout'
3102
+ - 'theme'
3103
+ patterns:
3104
+ - 'package.json'
3105
+
2982
3106
  - module-name: 'pango' # checksum: 7d2edca1
2983
3107
  implicit-imports:
2984
3108
  - depends:
@@ -4048,6 +4172,13 @@
4048
4172
  'from pyvista.jupyter import _validate_jupyter_backend': '_validate_jupyter_backend = str'
4049
4173
  when: 'not use_ipython'
4050
4174
 
4175
+ - module-name: 'pyviz_comms' # checksum: 14fe3365
4176
+ data-files:
4177
+ dirs:
4178
+ - 'labextension'
4179
+ patterns:
4180
+ - 'notebook.js'
4181
+
4051
4182
  - module-name: 'pywt' # checksum: 889e5afa
4052
4183
  data-files:
4053
4184
  dirs:
@@ -4281,11 +4412,13 @@
4281
4412
  'cupy': 'ignore'
4282
4413
  'torch': 'ignore'
4283
4414
 
4284
- - module-name: 'scipy._distributor_init' # checksum: 3316da5c
4415
+ - module-name: 'scipy._distributor_init' # checksum: 576c57d8
4285
4416
  anti-bloat:
4286
4417
  - description: 'workaround for scipy DLL loading'
4287
4418
  append_plain: |
4419
+ import os
4288
4420
  if os.name == "nt":
4421
+ import glob
4289
4422
  libs_dir = os.path.join(os.path.dirname(__file__), '..', 'scipy.libs')
4290
4423
  for filename in glob.glob(os.path.join(libs_dir, '*openblas*dll')):
4291
4424
  WinDLL(filename)
@@ -5018,12 +5151,12 @@
5018
5151
  - depends:
5019
5152
  - 'sklearn.neighbors._quad_tree'
5020
5153
 
5021
- - module-name: 'sklearn.utils' # checksum: e48286a
5154
+ - module-name: 'sklearn.utils' # checksum: d3a557f9
5022
5155
  data-files:
5023
5156
  patterns:
5024
5157
  - '*.css'
5025
5158
  anti-bloat:
5026
- - description: 'pandas check should not cause pandas usage'
5159
+ - description: 'pandas and matplotlib checks should not cause usage'
5027
5160
  no-auto-follow:
5028
5161
  'pandas': 'ignore'
5029
5162
  'matplotlib': 'ignore'
@@ -5157,6 +5290,13 @@
5157
5290
  support_info: 'warning'
5158
5291
  when: 'not use_numba and standalone'
5159
5292
 
5293
+ - module-name: 'sparse._coo.core' # checksum: 6ac5aa4f
5294
+ anti-bloat:
5295
+ - description: 'remove dask reference'
5296
+ no-auto-follow:
5297
+ 'dask': 'ignore'
5298
+ when: 'not use_dask'
5299
+
5160
5300
  - module-name: 'speech_recognition' # checksum: 1b8b6249
5161
5301
  dlls:
5162
5302
  - from_filenames:
@@ -5230,6 +5370,11 @@
5230
5370
  - depends:
5231
5371
  - 'srsly.msgpack.util'
5232
5372
 
5373
+ - module-name: 'sspilib.raw._credential' # checksum: 8f3d1cec
5374
+ implicit-imports:
5375
+ - depends:
5376
+ - 'sspilib.raw._text'
5377
+
5233
5378
  - module-name: 'statsmodels' # checksum: 9664932
5234
5379
  anti-bloat:
5235
5380
  - description: 'remove statsmodels testing framework'
@@ -6012,6 +6157,30 @@
6012
6157
  replacements_plain:
6013
6158
  'ag_logging.warning(': 'if False: ag_logging.warning('
6014
6159
 
6160
+ - module-name: 'tensorflow.python.autograph.pyct.inspect_utils' # checksum: 791d410a
6161
+ anti-bloat:
6162
+ - description: 'workaround to enable Tensorflow JIT support'
6163
+ append_plain: |
6164
+ orig_getimmediatesource = getimmediatesource
6165
+ def getimmediatesource(obj):
6166
+ module_name = getattr(obj, '__module__', None)
6167
+ if module_name:
6168
+ qualname = getattr(obj, '__qualname__', None)
6169
+
6170
+ _uncompiled_function_sources_dict=getattr(
6171
+ builtins,
6172
+ "_uncompiled_function_sources_dict",
6173
+ {}
6174
+ )
6175
+ key = "%s.%s" % (module_name, qualname)
6176
+ source, line_number = _uncompiled_function_sources_dict.get(key, (None, None))
6177
+
6178
+ if source is not None:
6179
+ return source
6180
+
6181
+ return orig_getimmediatesource(obj)
6182
+ when: 'standalone'
6183
+
6015
6184
  - module-name: 'tensorflow.python.compiler.tensorrt.trt_convert' # checksum: 9471824c
6016
6185
  implicit-imports:
6017
6186
  - depends:
@@ -6072,6 +6241,31 @@
6072
6241
  'os.environ.get("TF_USE_LEGACY_KERAS", None)': 'repr(os.environ.get("TF_USE_LEGACY_KERAS", None))'
6073
6242
  'keras.__version__': 'repr(version_str("keras"))'
6074
6243
 
6244
+ - module-name: 'tensorflow.python.util.tf_inspect' # checksum: 8e3a3cbf
6245
+ anti-bloat:
6246
+ - description: 'workaround to enable Tensorflow JIT support'
6247
+ append_plain: |
6248
+ import builtins
6249
+ orig_getsourcelines = getsourcelines
6250
+ def getsourcelines(object):
6251
+ module_name = getattr(object, '__module__', None)
6252
+ if module_name:
6253
+ qualname = getattr(object, '__qualname__', None)
6254
+
6255
+ _uncompiled_function_sources_dict=getattr(
6256
+ builtins,
6257
+ "_uncompiled_function_sources_dict",
6258
+ {}
6259
+ )
6260
+ key = "%s.%s" % (module_name, qualname)
6261
+ source, line_number = _uncompiled_function_sources_dict.get(key, (None, None))
6262
+
6263
+ if source is not None:
6264
+ return source.splitlines(), line_number
6265
+
6266
+ return orig_getsourcelines(obj)
6267
+ when: 'standalone'
6268
+
6075
6269
  - module-name: 'tensorflow_core' # checksum: f377875c
6076
6270
  anti-bloat:
6077
6271
  - description: 'remove useless distutils usage'
@@ -6117,11 +6311,12 @@
6117
6311
  - depends:
6118
6312
  - '._*'
6119
6313
 
6120
- - module-name: 'tf_keras.src' # checksum: 9760fd72
6314
+ - module-name: 'tf_keras.src' # checksum: c552fd3e
6121
6315
  anti-bloat:
6122
6316
  - description: 'remove unittest reference'
6123
6317
  replacements_plain:
6124
6318
  'from keras.src.testing_infra import test_utils': 'test_utils = None'
6319
+ 'from tf_keras.src.testing_infra import test_utils': 'test_utils = None'
6125
6320
  when: 'not use_unittest'
6126
6321
 
6127
6322
  - module-name: 'tf_keras.src.utils.vis_utils' # checksum: 7d07a2d1
@@ -6198,30 +6393,12 @@
6198
6393
  # imports to be available.
6199
6394
  - ''
6200
6395
 
6201
- - module-name: 'tls_client.cffi' # checksum: 2c39205c
6396
+ - module-name: 'tls_client.cffi' # checksum: 97b24774
6202
6397
  dlls:
6203
- - from_filenames:
6204
- relative_path: 'dependencies'
6205
- prefixes:
6206
- - 'tls-client'
6207
- suffixes:
6208
- - 'dll'
6209
- when: 'win32'
6210
- - from_filenames:
6211
- relative_path: 'dependencies'
6212
- prefixes:
6213
- - 'tls-client'
6214
- suffixes:
6215
- - 'so'
6216
- when: 'linux'
6217
- # Hopefully this works on MacOS
6218
- - from_filenames:
6219
- relative_path: 'dependencies'
6220
- prefixes:
6221
- - 'tls-client'
6222
- suffixes:
6223
- - 'dylib'
6224
- when: 'macos'
6398
+ - by_code:
6399
+ setup_code: 'import tls_client.cffi'
6400
+ filename_code: 'tls_client.cffi.library._name'
6401
+ dest_path: 'tls_client/dependencies'
6225
6402
 
6226
6403
  - module-name: 'toga' # checksum: 575aecbd
6227
6404
  data-files:
@@ -6242,10 +6419,19 @@
6242
6419
  - change_function:
6243
6420
  'get_platform_factory': "'importlib.import_module(%r)' % get_variable('toga_backend_module_name')"
6244
6421
 
6245
- - module-name: 'toga_gtk' # checksum: 3f9f0b7d
6422
+ - module-name: 'toga_cocoa' # checksum: 34886ad0
6246
6423
  data-files:
6247
6424
  dirs:
6248
6425
  - 'resources'
6426
+ include-metadata:
6427
+ - 'toga-cocoa'
6428
+
6429
+ - module-name: 'toga_gtk' # checksum: 1577803b
6430
+ data-files:
6431
+ dirs:
6432
+ - 'resources'
6433
+ include-metadata:
6434
+ - 'toga-gtk'
6249
6435
 
6250
6436
  - module-name: 'toga_winforms' # checksum: 5dda2bcf
6251
6437
  data-files:
@@ -6572,6 +6758,20 @@
6572
6758
  - depends:
6573
6759
  - 'torch.onnx.symbolic_opset8'
6574
6760
 
6761
+ - module-name: 'torio.io._streaming_media_decoder' # checksum: a43ec55f
6762
+ anti-bloat:
6763
+ - description: 'remove docstring dependency'
6764
+ replacements_plain:
6765
+ 'obj.__doc__ = obj.__doc__.format(**kwargs)': ''
6766
+ when: 'no_docstrings'
6767
+
6768
+ - module-name: 'torio.io._streaming_media_encoder' # checksum: a43ec55f
6769
+ anti-bloat:
6770
+ - description: 'remove docstring dependency'
6771
+ replacements_plain:
6772
+ 'obj.__doc__ = obj.__doc__.format(**kwargs)': ''
6773
+ when: 'no_docstrings'
6774
+
6575
6775
  - module-name: 'tornado.httputil' # checksum: 4d59551a
6576
6776
  anti-bloat:
6577
6777
  - description: 'remove doctest usage'
@@ -7335,13 +7535,18 @@
7335
7535
  dirs:
7336
7536
  - 'schemas'
7337
7537
 
7538
+ - module-name: 'xyzservices' # checksum: 810a705a
7539
+ data-files:
7540
+ dirs:
7541
+ - 'data'
7542
+
7338
7543
  - module-name: 'yapf_third_party._ylib2to3' # checksum: 4ec82d9d
7339
7544
  data-files:
7340
7545
  patterns:
7341
7546
  - 'Grammar.txt'
7342
7547
  - 'PatternGrammar.txt'
7343
7548
 
7344
- - module-name: 'zaber_motion' # checksum: 7af9b202
7549
+ - module-name: 'zaber_motion' # checksum: 11ddc56d
7345
7550
  implicit-imports:
7346
7551
  - depends:
7347
7552
  - 'zaber_motion_bindings_windows'
@@ -7354,7 +7559,10 @@
7354
7559
  when: 'macos and version("zaber_motion") < (5,1,2)'
7355
7560
  - depends:
7356
7561
  - 'bindings'
7357
- when: 'version("zaber_motion") >= (5,1,2)'
7562
+ when: 'version("zaber_motion") == (5,1,2)'
7563
+ - depends:
7564
+ - 'zaber_motion_bindings'
7565
+ when: 'version("zaber_motion") >= (5,1,3)'
7358
7566
 
7359
7567
  - module-name: 'zaber_motion.bindings' # checksum: ebad5220
7360
7568
  anti-bloat:
@@ -7362,6 +7570,13 @@
7362
7570
  replacements_plain:
7363
7571
  'os.path.join(os.path.dirname(__file__), "..", "bindings", lib_name)': 'os.path.normpath(os.path.join(os.path.dirname(__file__), "..", "bindings", lib_name))'
7364
7572
 
7573
+ - module-name: 'zaber_motion_bindings' # checksum: 679f33dc
7574
+ dlls:
7575
+ - from_filenames:
7576
+ prefixes:
7577
+ - 'zaber-motion-lib'
7578
+ when: 'None is not version("zaber_motion") >= (5,1,3)'
7579
+
7365
7580
  - module-name: 'zaber_motion_bindings_darwin' # checksum: dbde56ea
7366
7581
  dlls:
7367
7582
  - from_filenames:
@@ -3,7 +3,6 @@
3
3
 
4
4
  """ This is for use in testing, but also for user tools too."""
5
5
 
6
-
7
6
  from nuitka.containers.OrderedDicts import OrderedDict
8
7
  from nuitka.TreeXML import fromFile
9
8
  from nuitka.utils.ModuleNames import ModuleName
nuitka/reports/Reports.py CHANGED
@@ -56,7 +56,16 @@ from nuitka.utils.FileOperations import (
56
56
  )
57
57
  from nuitka.utils.Jinja2 import getTemplate
58
58
  from nuitka.utils.MemoryUsage import getMemoryInfos
59
- from nuitka.utils.Utils import getArchitecture, getOS
59
+ from nuitka.utils.Utils import (
60
+ getArchitecture,
61
+ getLinuxDistribution,
62
+ getMacOSRelease,
63
+ getOS,
64
+ getWindowsRelease,
65
+ isLinux,
66
+ isMacOS,
67
+ isWin32OrPosixWindows,
68
+ )
60
69
  from nuitka.Version import getCommercialVersion, getNuitkaVersion
61
70
 
62
71
 
@@ -64,7 +73,8 @@ def _getReportInputData(aborted):
64
73
  """Collect all information for reporting into a dictionary."""
65
74
 
66
75
  # used with locals for laziness and these are to populate a dictionary with
67
- # many entries, pylint: disable=possibly-unused-variable,too-many-locals
76
+ # many entries,
77
+ # pylint: disable=possibly-unused-variable,too-many-branches,too-many-locals,too-many-statements
68
78
 
69
79
  module_names = tuple(module.getFullName() for module in getDoneModules())
70
80
 
@@ -184,6 +194,15 @@ def _getReportInputData(aborted):
184
194
  os_name = getOS()
185
195
  arch_name = getArchitecture()
186
196
 
197
+ if isWin32OrPosixWindows():
198
+ os_release = str(getWindowsRelease())
199
+ elif isLinux():
200
+ os_release = "-".join(x for x in getLinuxDistribution() if x)
201
+ elif isMacOS():
202
+ os_release = getMacOSRelease()
203
+ else:
204
+ os_release = "unknown"
205
+
187
206
  nuitka_version = getNuitkaVersion()
188
207
  nuitka_commercial_version = getCommercialVersion() or "not installed"
189
208
 
@@ -234,7 +253,8 @@ def _getCompilationReportPath(path):
234
253
 
235
254
 
236
255
  def _addModulesToReport(root, report_input_data, diffable):
237
- # Many details to work with, pylint: disable=too-many-branches,too-many-locals
256
+ # Many details to work with,
257
+ # pylint: disable=too-many-branches,too-many-locals,too-many-statements
238
258
 
239
259
  for module_name in report_input_data["module_names"]:
240
260
  active_module_info = report_input_data["module_inclusion_infos"][module_name]
@@ -353,13 +373,36 @@ def _addModulesToReport(root, report_input_data, diffable):
353
373
  "module_usages",
354
374
  )
355
375
 
356
- for used_module in report_input_data["module_usages"][module_name]:
376
+ for count, used_module in enumerate(
377
+ report_input_data["module_usages"][module_name]
378
+ ):
379
+ # We don't want to see those parent imports, unless they have
380
+ # an effect.
381
+ if used_module.reason == "import path parent":
382
+ while True:
383
+ count += 1
384
+ next_used_module = report_input_data["module_usages"][module_name][
385
+ count
386
+ ]
387
+
388
+ if next_used_module.reason != "import path parent":
389
+ break
390
+
391
+ exclusion_reason = report_input_data["module_exclusions"][
392
+ module_name
393
+ ].get(next_used_module.module_name)
394
+
395
+ if exclusion_reason is None or next_used_module.finding != "not-found":
396
+ continue
397
+
357
398
  module_usage_node = TreeXML.appendTreeElement(
358
399
  used_modules_xml_node,
359
400
  "module_usage",
360
401
  name=used_module.module_name.asString(),
361
402
  finding=used_module.finding,
362
403
  line=str(used_module.source_ref.getLineNumber()),
404
+ # TODO: Add reason in a hotfix.
405
+ # reason=used_module.reason,
363
406
  )
364
407
 
365
408
  exclusion_reason = report_input_data["module_exclusions"][module_name].get(
@@ -542,7 +585,7 @@ def writeCompilationReport(report_filename, report_input_data, diffable):
542
585
  source_path=_getCompilationReportPath(standalone_entry_point.source_path),
543
586
  package=standalone_entry_point.package_name or "",
544
587
  ignored="yes" if ignored else "no",
545
- reason=standalone_entry_point.reason
588
+ reason=standalone_entry_point.reason,
546
589
  # TODO: No reason yet.
547
590
  )
548
591
 
@@ -619,6 +662,7 @@ def writeCompilationReport(report_filename, report_input_data, diffable):
619
662
  python_flavor=report_input_data["python_flavor"],
620
663
  python_version=report_input_data["python_version"],
621
664
  os_name=report_input_data["os_name"],
665
+ os_release=report_input_data["os_release"],
622
666
  arch_name=report_input_data["arch_name"],
623
667
  )
624
668
 
@@ -4,6 +4,7 @@
4
4
  """ Optimizations of built-ins to built-in calls.
5
5
 
6
6
  """
7
+
7
8
  import math
8
9
 
9
10
  from nuitka import Options
@@ -226,6 +227,13 @@ def makeBuiltinExceptionParameterSpec(exception_name):
226
227
  ParameterSpec that can be used to evaluate calls of these exceptions.
227
228
  """
228
229
  if exception_name == "ImportError" and python_version >= 0x300:
230
+ is_new_import_error = True
231
+ elif exception_name == "ModuleNotFoundError" and python_version >= 0x360:
232
+ is_new_import_error = True
233
+ else:
234
+ is_new_import_error = False
235
+
236
+ if is_new_import_error:
229
237
  # This is currently the only known built-in exception that does it, but let's
230
238
  # be general, as surely that list is going to expand only.
231
239
 
@@ -695,10 +703,10 @@ def extractBuiltinArgs(node, builtin_spec, builtin_class, empty_special_class=No
695
703
  args_list.append(args_dict[argument_name])
696
704
 
697
705
  if builtin_spec.getStarListArgumentName() is not None:
698
- args_list.append(args_dict[builtin_spec.getStarListArgumentName()])
706
+ args_list.append(args_dict[builtin_spec.getStarListArgumentName()] or ())
699
707
 
700
708
  if builtin_spec.getStarDictArgumentName() is not None:
701
- args_list.append(args_dict[builtin_spec.getStarDictArgumentName()])
709
+ args_list.append(args_dict[builtin_spec.getStarDictArgumentName()] or ())
702
710
 
703
711
  for argument_name in builtin_spec.getKwOnlyParameterNames():
704
712
  args_list.append(args_dict[argument_name])
@@ -136,7 +136,7 @@ str_encode_spec = StrMethodSpec(
136
136
  str_decode_spec = StrMethodSpec(
137
137
  "decode",
138
138
  arg_names=("encoding", "errors"),
139
- default_count=2
139
+ default_count=2,
140
140
  # TODO: Resolve Python2/Python3 runtime differences
141
141
  #
142
142
  # type_shape=tshape_str_or_unicode
@@ -3,7 +3,6 @@
3
3
 
4
4
  """Type operation specs. """
5
5
 
6
-
7
6
  from .BuiltinParameterSpecs import BuiltinMethodParameterSpecBase
8
7
 
9
8
 
@@ -148,7 +148,7 @@ ctypes_cdll_since_38_spec = BuiltinParameterSpec(
148
148
  "handle",
149
149
  "use_errno",
150
150
  "use_last_error",
151
- "winmode",
151
+ "winmode", # spell-checker: ignore winmode
152
152
  ),
153
153
  default_count=5,
154
154
  )
@@ -175,6 +175,39 @@ sys_exit_spec = BuiltinParameterSpecNoKeywords(
175
175
  "sys.exit", ("exit_code",), default_count=1
176
176
  )
177
177
 
178
+ # Tensorflow
179
+
180
+ tensorflow_function_spec = BuiltinParameterSpec(
181
+ "tensorflow.function",
182
+ (
183
+ "func",
184
+ "input_signature",
185
+ "autograph",
186
+ "jit_compile",
187
+ "reduce_retracing",
188
+ "experimental_implements",
189
+ "experimental_autograph_options",
190
+ "experimental_attributes",
191
+ "experimental_relax_shapes",
192
+ "experimental_compile",
193
+ "experimental_follow_type_hints",
194
+ ),
195
+ default_count=11,
196
+ )
197
+
198
+ # networkx.utils.decorators
199
+
200
+ # TODO: Disabled for now, keyword only arguments and star list argument are
201
+ # having ordering issues for call matching and code generation.
202
+
203
+ # networkx_argmap_spec = BuiltinParameterSpec(
204
+ # "networkx.utils.decorators.argmap",
205
+ # ("func",),
206
+ # default_count=1,
207
+ # list_star_arg="args",
208
+ # kw_only_args=("try_finally",),
209
+ # )
210
+
178
211
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
179
212
  # integrates with CPython, but also works on its own.
180
213
  #