Nuitka-winsvc 2.1.2__cp311-cp311-win_amd64.whl → 2.1.4__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 (27) hide show
  1. {Nuitka_winsvc-2.1.2.dist-info → Nuitka_winsvc-2.1.4.dist-info}/METADATA +1 -1
  2. {Nuitka_winsvc-2.1.2.dist-info → Nuitka_winsvc-2.1.4.dist-info}/RECORD +27 -27
  3. nuitka/OptionParsing.py +7 -4
  4. nuitka/Options.py +1 -0
  5. nuitka/Version.py +1 -1
  6. nuitka/build/SconsUtils.py +1 -1
  7. nuitka/build/static_src/HelpersFilesystemPaths.c +11 -5
  8. nuitka/build/static_src/HelpersLists.c +50 -13
  9. nuitka/build/static_src/HelpersProfiling.c +4 -2
  10. nuitka/code_generation/GlobalConstants.py +2 -0
  11. nuitka/code_generation/ListCodes.py +1 -1
  12. nuitka/code_generation/templates/CodeTemplatesConstants.py +1 -1
  13. nuitka/plugins/PluginBase.py +12 -0
  14. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +4 -0
  15. nuitka/plugins/standard/ImplicitImports.py +12 -0
  16. nuitka/plugins/standard/MatplotlibPlugin.py +16 -0
  17. nuitka/plugins/standard/OptionsNannyPlugin.py +9 -7
  18. nuitka/plugins/standard/standard.nuitka-package.config.yml +225 -69
  19. nuitka/reports/Reports.py +11 -4
  20. nuitka/utils/FileOperations.py +16 -0
  21. nuitka/utils/MemoryUsage.py +1 -1
  22. {Nuitka_winsvc-2.1.2.data → Nuitka_winsvc-2.1.4.data}/scripts/nuitka-run.bat +0 -0
  23. {Nuitka_winsvc-2.1.2.data → Nuitka_winsvc-2.1.4.data}/scripts/nuitka.bat +0 -0
  24. {Nuitka_winsvc-2.1.2.dist-info → Nuitka_winsvc-2.1.4.dist-info}/LICENSE.txt +0 -0
  25. {Nuitka_winsvc-2.1.2.dist-info → Nuitka_winsvc-2.1.4.dist-info}/WHEEL +0 -0
  26. {Nuitka_winsvc-2.1.2.dist-info → Nuitka_winsvc-2.1.4.dist-info}/entry_points.txt +0 -0
  27. {Nuitka_winsvc-2.1.2.dist-info → Nuitka_winsvc-2.1.4.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Nuitka-winsvc
3
- Version: 2.1.2
3
+ Version: 2.1.4
4
4
  Summary: Nuitka but support compile as Windows service
5
5
  Home-page: https://github.com/tabris17/Nuitka-winsvc
6
6
  Author: tabris17
@@ -1,5 +1,5 @@
1
- Nuitka_winsvc-2.1.2.data/scripts/nuitka-run.bat,sha256=zzCZ6CymZcBcI_BMB1RwNIegL0JcACGwKTMeIW-aaOU,924
2
- Nuitka_winsvc-2.1.2.data/scripts/nuitka.bat,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
1
+ Nuitka_winsvc-2.1.4.data/scripts/nuitka-run.bat,sha256=zzCZ6CymZcBcI_BMB1RwNIegL0JcACGwKTMeIW-aaOU,924
2
+ Nuitka_winsvc-2.1.4.data/scripts/nuitka.bat,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
3
3
  nuitka/Builtins.py,sha256=IPBD00YlX9eNfKyKxyGRukVmwtoiaeJ4YLNdm1LoLOo,7560
4
4
  nuitka/BytecodeCaching.py,sha256=KFVx1wDKEG8bydgerI6k2YK6VXIZLmTfMxgZmUhkBWo,5787
5
5
  nuitka/Bytecodes.py,sha256=7kFpFEWpyL9clv1LIHtIhYPJi0psItCcn0RYf4paEuA,3800
@@ -9,8 +9,8 @@ nuitka/Errors.py,sha256=cUzzWhvemFoumoYpBDacJSydfDivm-rweWVXk2ELUVo,2479
9
9
  nuitka/HardImportRegistry.py,sha256=mquDn6znusONCBZkd1qSSIIseNG2B9EWc62AWIZ0ufQ,10335
10
10
  nuitka/MainControl.py,sha256=MpUcKFw16tiXmOKtrnLArHNlp3XEjinQjwalK7Ozp1Q,38348
11
11
  nuitka/ModuleRegistry.py,sha256=lIElF9BCVa2JmmhsBjyjAt6MSFo2vusJ71RUrkaMAQo,8616
12
- nuitka/OptionParsing.py,sha256=wTecTFl-o0ele9vHSSxB64Qz-NNtCmjPmE3SfZbMQtI,63838
13
- nuitka/Options.py,sha256=bNDx2h_ZNHTU7bO-9e2hyFyZrDBMeMHOKoXoYViPnPc,75543
12
+ nuitka/OptionParsing.py,sha256=ofKRnuwNLL-hDI7wA8kUDozbTkgi74xtKGr_x1jJFS0,64040
13
+ nuitka/Options.py,sha256=5ChUTjvtxt9xTWTyXLA8CYngtCRbM2L4fAPqjmIOIiI,75581
14
14
  nuitka/OutputDirectories.py,sha256=7hM8zVNoclTVup6StkxUuhRJ8IEHjhaKXX3lb03BmcY,5276
15
15
  nuitka/PostProcessing.py,sha256=8IeVz3GNx4OkgEaP2HALSbZi1bFdaIicioD10l5_n3o,14940
16
16
  nuitka/Progress.py,sha256=0QQ0cHSBMz5FNxUTPZrT4cyKfuryuDLeMPloCFWsABI,6797
@@ -22,7 +22,7 @@ nuitka/SourceCodeReferences.py,sha256=quGcd9Kg3FjYwsSDDv49MWi_Yec2AurRp-cVspo5qq
22
22
  nuitka/Tracing.py,sha256=7BE6sDP5XmOWzoQnjC05ll2b5i38KLzXr2V5zI4eXX4,13335
23
23
  nuitka/TreeXML.py,sha256=SKL4lL6Tcfu7Uetq-KaFo3q0-M18bp6Szc4eMrNwrfw,3513
24
24
  nuitka/Variables.py,sha256=53u-p0l58lrBg8nNSYd5DjR3AOGezMayUM7C05vANVM,15470
25
- nuitka/Version.py,sha256=dQvWF7kFkUJINi-kD1YFJYUx6Ra9jDMc8z8ngBdTw4M,2466
25
+ nuitka/Version.py,sha256=CmAdX3G6n2LnMYg7fWP0ZDF7afLGtlU269bDDHflPe8,2466
26
26
  nuitka/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
27
27
  nuitka/__main__.py,sha256=HZFjEt3fdlQLqcreBI6dlUvA53IqQMnZE4Aj5FPwu1s,6373
28
28
  nuitka/__past__.py,sha256=x9W6PDKU2SOY2Qbeu5kgiwgJ5edjG4BUPhdA-6qQ7mY,5604
@@ -36,7 +36,7 @@ nuitka/build/SconsHacks.py,sha256=uK_fTLqNrRwC6G6JJDsRoHhJxST13EmObiApOdeAvxo,55
36
36
  nuitka/build/SconsInterface.py,sha256=_RUO06b97KtcH1w9rT48TFqQfKyuL4Yke2E1C-sgj84,15933
37
37
  nuitka/build/SconsProgress.py,sha256=KoJDqgKxDRPjX00rB9a48YIij_oA1dwobBD1LMCpJ9k,2704
38
38
  nuitka/build/SconsSpawn.py,sha256=g2BzLuCeIMpt5OHYK7jelyRgm8QlHQxoCKA33mg3y4g,13210
39
- nuitka/build/SconsUtils.py,sha256=48txghK3cKDLzOPXM-V9mXS5fR57IOAjjN8C05TjFUs,26956
39
+ nuitka/build/SconsUtils.py,sha256=vVMu5C8Pf7edz_1G39ulm6mBnYP0KmU_0_63TUcBp00,26957
40
40
  nuitka/build/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
41
41
  nuitka/build/include/nuitka/allocator.h,sha256=9kww_KyeLT0C1N25lMTjKje6aja6sYTMKrq5YyvoUdg,8001
42
42
  nuitka/build/include/nuitka/builtins.h,sha256=QhRpXRaFLANnurU3yqbgj_pmdgmze5ThItnV4RpR8Xs,3499
@@ -426,12 +426,12 @@ nuitka/build/static_src/HelpersEnvironmentVariables.c,sha256=NFeGsWd6Z8TgvtbAWAI
426
426
  nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c,sha256=gH3eizvT_9-hagDwFkHl5I2lxxIVa4G7GQkRJQSY7yY,2979
427
427
  nuitka/build/static_src/HelpersExceptions.c,sha256=LF_wD4iuiBxOJ4knEQlaMsXU6u7e6CsdjM0JiLPSURM,7145
428
428
  nuitka/build/static_src/HelpersFiles.c,sha256=th2W88Qgfz7BtYVx-J273JS74mavLFyHxJDv-O4RTWA,8018
429
- nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=b9guvQ9KsV5I0xEt8dP7RxavXmXDeXnsTWY1Q7gIJic,28522
429
+ nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=1B3jal9mlQdtXwNoZSrISp2NLjGvV7LCagfJoCPYNl4,28806
430
430
  nuitka/build/static_src/HelpersFloats.c,sha256=prn_PJ6OW408oVNSuRAVgUBeGh_6VmLcbImrpm_LmTQ,2455
431
431
  nuitka/build/static_src/HelpersHeapStorage.c,sha256=MAnXlbBSrKR5hMBqEQnNOUfcDS7v0rhxcC7awaFUErw,1803
432
432
  nuitka/build/static_src/HelpersImport.c,sha256=By3gv6XUaX6V5WeGuW11s3OJ-Q404hngLaQW4dVDU-o,16080
433
433
  nuitka/build/static_src/HelpersImportHard.c,sha256=gCfQnlIjYgSv3vEWWKR-9xn_g43GvJLLetueRve5u0Y,16403
434
- nuitka/build/static_src/HelpersLists.c,sha256=K4Kbuxt9YLlgVFp0M04iQ_b2TQdgqYFNKz5MV03i06M,19100
434
+ nuitka/build/static_src/HelpersLists.c,sha256=_7S8vxAVvpVDp_DAoN49eA4WjoPg2poXmlKraYjXHQM,19996
435
435
  nuitka/build/static_src/HelpersListsGenerated.c,sha256=IcKy25_HGf01NXb9nAmQ0QhdbrD8vlx-sdfe_j_QAnk,13944
436
436
  nuitka/build/static_src/HelpersMappings.c,sha256=f3s_pCQGKeMiWD7AmdZEXGgLRvT3r-Fzgos2Yr9Gqvg,1669
437
437
  nuitka/build/static_src/HelpersMatching.c,sha256=RZE2m2mt5jV_h4KzR9zLRxm1AOKI472TULGjrShnm-E,3587
@@ -470,7 +470,7 @@ nuitka/build/static_src/HelpersOperationInplacePow.c,sha256=1-X0lSTpsjHpi-1FYqtN
470
470
  nuitka/build/static_src/HelpersOperationInplaceRshift.c,sha256=OURy7FnAKkkUmnCCR_PElUTK39dy3NpDsCxB4xRV4KY,45341
471
471
  nuitka/build/static_src/HelpersOperationInplaceSub.c,sha256=A4DP2OjlFsQFP4lEuaAZU69JXVC1Ygnan4IVSIWWVx0,82871
472
472
  nuitka/build/static_src/HelpersOperationInplaceTruediv.c,sha256=ZUakGR_slGnhs2GCg2I2MyhpFyLiXNPlkbTDhu6PkXA,76950
473
- nuitka/build/static_src/HelpersProfiling.c,sha256=8WK3sJ0h52mQ-IEVncEoFHXLv0UuIYKluDVbt6hV9lM,3328
473
+ nuitka/build/static_src/HelpersProfiling.c,sha256=vtPFWMfPv14uxbu1mlYizN2hUGp-_qsyBvzAGQDQrfs,3394
474
474
  nuitka/build/static_src/HelpersPythonPgo.c,sha256=knEuVNnJg-H8oXQbvu_9YqVg0uIA1rkWKi4Ebk6WvJ8,3840
475
475
  nuitka/build/static_src/HelpersRaising.c,sha256=GJy7hqMQBO732V4agnqlylM9-_Mgl6_VgKajZJPuHK8,15663
476
476
  nuitka/build/static_src/HelpersSafeStrings.c,sha256=Uo24UHxgCtmaKpr0qhJayqdutIL0bubVBpP5NHsEruw,3868
@@ -515,7 +515,7 @@ nuitka/code_generation/ExpressionCodes.py,sha256=XEngo5BLKaV8I_h0nnFCbjl1mNDeuST
515
515
  nuitka/code_generation/FrameCodes.py,sha256=4eku-4VXfWqWK6cScaFr-MjrqHYTHMu3awlUNr8bsTE,17804
516
516
  nuitka/code_generation/FunctionCodes.py,sha256=_3uHG-fU0SubqBl3-zp8IunoQfNAuaxsYm-vRJrthQ0,28337
517
517
  nuitka/code_generation/GeneratorCodes.py,sha256=LztRxayhsc8mWkvPA9_WIaOU2Ld2q-ZNpuaZTZBnL1g,7828
518
- nuitka/code_generation/GlobalConstants.py,sha256=BI7fSLpuD33bawhtVzH5D0rGjPzLg5Qk2FwBmh5Lzcc,6343
518
+ nuitka/code_generation/GlobalConstants.py,sha256=w3_igsJm-jR6f60cklLoyepjehzOKOyYmGRWknKEi60,6384
519
519
  nuitka/code_generation/GlobalsLocalsCodes.py,sha256=VUP7sYWwtU6R7pMOejTjtEtHjSssItKhxy-WTdUruDo,6985
520
520
  nuitka/code_generation/IdCodes.py,sha256=kCjuVPNEXHTZRJ3ztopxfQHH2aTjKG9WxQ3lemCE7Us,1870
521
521
  nuitka/code_generation/ImportCodes.py,sha256=5h-UHd2E0EB480rzX2e_Oc4qD38m9jZrRnkvT-lgN6M,14684
@@ -526,7 +526,7 @@ nuitka/code_generation/IntegerCodes.py,sha256=mZMWhwv3V-MIeV5qDstO9FtUyN8xLvn4Ty
526
526
  nuitka/code_generation/IteratorCodes.py,sha256=TQAgoIaV4zZck91CfmyL74uJKdv6fG8AJkxL5-qWShY,12211
527
527
  nuitka/code_generation/LabelCodes.py,sha256=53aDcH6YJPLbr2CYvRMoSbcCc9qyIXy0aq5oPjEd2cg,2055
528
528
  nuitka/code_generation/LineNumberCodes.py,sha256=pLche-cwZiQLYdU-CwnGm0_kE58SH_9kdPuGORfe8S0,2645
529
- nuitka/code_generation/ListCodes.py,sha256=arYbk092r0EkzNs2jgxe7p80Yx0wP4leTVEIDYjZe9k,16138
529
+ nuitka/code_generation/ListCodes.py,sha256=_gQAH3tTCM_KQAOn0gh3Bxj4CUeoAAHwFM1q2a_xxnM,16152
530
530
  nuitka/code_generation/LoaderCodes.py,sha256=3WvIV-9OwLBltHI4WCXehg0TOp-9ELMCl5ILQKXWJdo,6658
531
531
  nuitka/code_generation/LocalsDictCodes.py,sha256=pUkUhT4lMuG-vvYas7vqqpdq0ra6c_69fEcOAKwn4mo,10016
532
532
  nuitka/code_generation/LoopCodes.py,sha256=eGXAoz6aXR-buzVz2MfAdphAkbBW4vur2bDTA2C835Y,3174
@@ -562,7 +562,7 @@ nuitka/code_generation/c_types/CTypePyObjectPointers.py,sha256=ByZl4gMX2YczpiM9g
562
562
  nuitka/code_generation/c_types/CTypeVoids.py,sha256=VEwcj1bXAE-GcnAkozePYqNpl23hmJLWLQDlgg0U3-k,2885
563
563
  nuitka/code_generation/c_types/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
564
564
  nuitka/code_generation/templates/CodeTemplatesAsyncgens.py,sha256=exms_JURf6hjfkNU4O1d8DTXsjOqArLcZrNXX-oEXoI,2948
565
- nuitka/code_generation/templates/CodeTemplatesConstants.py,sha256=UfPpg9SSv6Woj6_Ik2Hg0hBjJL1niuwue9PaSlxDW1c,8907
565
+ nuitka/code_generation/templates/CodeTemplatesConstants.py,sha256=xfMmx1yXDbakG4qTCT0N7lkHMcacXo7MKlA21QoDLDI,8928
566
566
  nuitka/code_generation/templates/CodeTemplatesCoroutines.py,sha256=ETCq5cbhvOxm5qZ5reynszi5TfzAuPx0BgNMPVgLOlE,3040
567
567
  nuitka/code_generation/templates/CodeTemplatesExceptions.py,sha256=Q9H_6sPGO5scugMj0-suKAY6OX5yVBMr27hwUCAFcHc,2358
568
568
  nuitka/code_generation/templates/CodeTemplatesFrames.py,sha256=QP6fABpLbYYiPpuvyjOX6Ke9k49_dWVoO33VjAbfcpw,6483
@@ -744,7 +744,7 @@ nuitka/optimizations/ValueTraces.py,sha256=m_d8JbsGWFbnxuV58sOPVPtnU-Rh6Br3pAAtA
744
744
  nuitka/optimizations/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
745
745
  nuitka/pgo/PGO.py,sha256=9oSnX1hXeuECPOujz4vadlGI6-wFYICWjdTBrE04G9c,4932
746
746
  nuitka/pgo/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
747
- nuitka/plugins/PluginBase.py,sha256=I1hCNChRqMJCzXCBcU0wQTYizXRL3LRFljQ5vNR582Q,56620
747
+ nuitka/plugins/PluginBase.py,sha256=40ViJaWkVcO8STEtEVydwOIhNNXE8Jnx3TpHkpyOSMw,56921
748
748
  nuitka/plugins/Plugins.py,sha256=6wOakwXv24G0rnvEyzafZF5xLT84Y_gx5fp5ToOwxEI,59723
749
749
  nuitka/plugins/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
750
750
  nuitka/plugins/standard/AntiBloatPlugin.py,sha256=cgEC5sM5yXVBnScn7kXvq_wIxrNP8HoGqJ6I2aQ52hg,30408
@@ -758,12 +758,12 @@ nuitka/plugins/standard/EventletPlugin.py,sha256=Wj3YDAior_de5-d7-X7L-aE4-aTk5CX
758
758
  nuitka/plugins/standard/GeventPlugin.py,sha256=_cKREOuAXiKCYpjH5fcRfRT6lHhfz0JgcYhOzMOiw2Y,1913
759
759
  nuitka/plugins/standard/GiPlugin.py,sha256=699BiowDSOw01T0XY7UDAjhUyNUoJpIPKiUET6GK14c,4017
760
760
  nuitka/plugins/standard/GlfwPlugin.py,sha256=DaWEfMhLdxzd12IqLTi4qb6R2sCAu_aQjI0cfuneZ8c,4854
761
- nuitka/plugins/standard/ImplicitImports.py,sha256=PFOINfzHbOv3IfEc1Ll7Vdl04-QN8gOYdlx2Xbd7WGo,31878
761
+ nuitka/plugins/standard/ImplicitImports.py,sha256=WsOa1krRImS0zBkPox9RYi38u3otpicn1ey9ul65-FE,32261
762
762
  nuitka/plugins/standard/KivyPlugin.py,sha256=FGpyxlRRQhsKYktLwI0B41EF28lZGHPLBvAeUlyyfrw,5024
763
- nuitka/plugins/standard/MatplotlibPlugin.py,sha256=bq9gKeb3zbFbtDIIgnXTxucH-r6T3H9NTQzkPAcDWDQ,8159
763
+ nuitka/plugins/standard/MatplotlibPlugin.py,sha256=Em8zs9k8hvQ5PsXsFYDGZCwySwXYNLXvkW73-wPoJpk,8823
764
764
  nuitka/plugins/standard/MultiprocessingPlugin.py,sha256=EzWhHHFM0036v4ku2dhFvB1CCjwm_VCveJDEUL5MyrQ,7080
765
765
  nuitka/plugins/standard/NumpyPlugin.py,sha256=mAzhziM_7o-SKxnKtGp7CBhWV86Jvs5OLMbHTQNFJoE,1220
766
- nuitka/plugins/standard/OptionsNannyPlugin.py,sha256=2AostvTQM9YKiTaZNddEGITJB_OaMI3ZrBOnaQn6OO8,7306
766
+ nuitka/plugins/standard/OptionsNannyPlugin.py,sha256=k7ttYEuq6x2ByuMhCBenS92g9-e2RlUkLBos7eXa4Ag,7433
767
767
  nuitka/plugins/standard/PbrPlugin.py,sha256=RtLGO3_35qrecTadPVm_IqdBmd0mNylLoMKvXD0MTx0,1940
768
768
  nuitka/plugins/standard/PkgResourcesPlugin.py,sha256=fTLt0V8E8zxCIIHl66hA8tLOV5IVwEA2UEPESWTMa3g,4875
769
769
  nuitka/plugins/standard/PmwPlugin.py,sha256=CmmjIfjp7E-HCeuYVXyB0gJJDEMGSgPXl-aRn-Dvt4o,7042
@@ -776,14 +776,14 @@ nuitka/plugins/standard/TransformersPlugin.py,sha256=9MAbtousSksrIzHbYjW-UPlsIXf
776
776
  nuitka/plugins/standard/TrioPlugin.py,sha256=5tIrmbLsuEn_koP4S9F2CuOEw6kyAQ7NyOESPtsF54Q,1106
777
777
  nuitka/plugins/standard/UpxPlugin.py,sha256=1I3WouiEmKQAvTkzhgmJ2FRjDKHC0oH9onENntmFphg,5668
778
778
  nuitka/plugins/standard/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
779
- nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=gy8K_06zqP3krWX4gTcm5kjM7_cEKEusJLKZWcjpwyc,226505
779
+ nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=LIwy_lGqeSFIm_cOLbtebNiuYxWZNK3UFBkOEs5l_7c,230668
780
780
  nuitka/plugins/standard/stdlib2.nuitka-package.config.yml,sha256=AUjtaX5pUWpvPru9WiTjvKDFeISY4XXv-UDO25MdrAM,2352
781
781
  nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=Y_vbnb_R_q3sHjtUUgOkxpIi1cBaS9DAX38gTb7yk68,12392
782
782
  nuitka/plugins/standard/DillPlugin/DillPlugin.c,sha256=XEr9N_2U2vKOEhTnth3UyIHTYowgKWfin_8jS1jaMXA,1646
783
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py,sha256=czPPuN6xQ-RxKmzfDNOZL6m-qPeA7MCzIZOzROdsz0s,9661
783
+ nuitka/plugins/standard/DillPlugin/dill-postLoad.py,sha256=WICFdsvx5ZZKqgfX-GuYWqsuL7avFDqxlFk6UA3qihk,9826
784
784
  nuitka/reports/CompilationReportReader.py,sha256=0tviyGwsHIw-qxGRnCxCNIJshir61KdGMMCA3hYaIXk,2287
785
785
  nuitka/reports/LicenseReport.rst.j2,sha256=CPxGcCfBlYXRDHUOOuzVs-bcVj8IQ5kA4GAn5ayRIzc,2089
786
- nuitka/reports/Reports.py,sha256=tVZy9pAzfLNV_DblOtSrk-kbPX3JzL9QzqVISvIv_yo,27389
786
+ nuitka/reports/Reports.py,sha256=vqYGWGoVlp3I22M1RMhzH71cbx0NHmI0HWynToYwf-k,27497
787
787
  nuitka/reports/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
788
788
  nuitka/specs/BuiltinBytesOperationSpecs.py,sha256=IHSeni5fD47sh2mlPOlFRIBU5BYYgB8jRIDATtLse0I,5943
789
789
  nuitka/specs/BuiltinDictOperationSpecs.py,sha256=QY7acLh6R9HgWhiAc82qWB1LULJ4DQF5-SdsCIV98wE,2818
@@ -887,7 +887,7 @@ nuitka/utils/CommandLineOptions.py,sha256=yrJuW2Ze4UlfN_fzsxFDSd9l_UZDikave-fb1a
887
887
  nuitka/utils/Distributions.py,sha256=GoiF7fgTd1w-lXFjKZJFv0fX0Ogt8LfMLPsCxH0WsVg,14981
888
888
  nuitka/utils/Download.py,sha256=Gq9f3f067umOThrvjPjMw5vULCszDv9yXYjfJVn1gBg,6413
889
889
  nuitka/utils/Execution.py,sha256=b16XvcrFcTu4pXaQJERlAglA0y4s6cUCWrPACZXpoPw,13185
890
- nuitka/utils/FileOperations.py,sha256=V44aWs5YaC-s1DM-tuUWxTzQwkT7BNVEv-bQFbJ6akw,40995
890
+ nuitka/utils/FileOperations.py,sha256=4J35kEVrf6lE4P7g_xC9it4Al_pVmN_waFWT5vsfVOE,41401
891
891
  nuitka/utils/Hashing.py,sha256=vOFVzPNqAJw7NNZ1Hxe0rllnKO-HGwd6n5N3R_2WgQM,3753
892
892
  nuitka/utils/Images.py,sha256=r9EGodHskO-_u2mWnZojZUNMhDlcZxgHg31UgsxE2j0,2395
893
893
  nuitka/utils/Importing.py,sha256=BC2Sae_aiZs4mmQx7MeXdsRDOtZYtMbAvXlA2Ng_3Wk,10121
@@ -896,7 +896,7 @@ nuitka/utils/InstanceCounters.py,sha256=0exppiVjIcdQvw_4o0ZedPs-ZEYc3lUqMNefUoE1
896
896
  nuitka/utils/Jinja2.py,sha256=IitTCo5DDy4U9z-yV1B_aHxGhTp5zMZYOnDX_9yWtqc,4586
897
897
  nuitka/utils/Json.py,sha256=8tOXO-qE1JH1_9CJBknFZxWwlc_3OPX1pwsRctj5axU,1271
898
898
  nuitka/utils/MacOSApp.py,sha256=XmxhWvR7IQgqtw23p6CeEbmowHt8mRn0M2ckXGk0P_I,4477
899
- nuitka/utils/MemoryUsage.py,sha256=4iqF0ObA6UNUV30fbrz6y1XMA03oEvlJWtM98S7oURE,5073
899
+ nuitka/utils/MemoryUsage.py,sha256=QeanxAep9aOvtYvhL4viCHrlRqN3i9OcgfmcV0dhq1c,5092
900
900
  nuitka/utils/ModuleNames.py,sha256=bLtm5e3ojZ_F0GuPbXFbFG4q2vTQXdO-OvMuiSoUO5I,9951
901
901
  nuitka/utils/ReExecute.py,sha256=iFwFyfyfASWkWZfcgtM-sKnPoND-obcBaaNxJU4yfN4,4588
902
902
  nuitka/utils/Rest.py,sha256=zP9jjG6pOSuLKVuZbbj_Wwq1CLZ6hk16wdhHkR_m2oE,1889
@@ -912,9 +912,9 @@ nuitka/utils/WindowsFileUsage.py,sha256=UglAr8IbR1IGOysHMEuBUT-tnwF3tTcR80fNGSMl
912
912
  nuitka/utils/WindowsResources.py,sha256=npt3jbcTgh1M5G6jyEv6uFqiZIf84XEea3wXQ_sXGdM,19837
913
913
  nuitka/utils/Yaml.py,sha256=aeYsCj6mM8uYiMSg0TIkVSKsa-8lYzJXmfpbyLRsMi4,7014
914
914
  nuitka/utils/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
915
- Nuitka_winsvc-2.1.2.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
916
- Nuitka_winsvc-2.1.2.dist-info/METADATA,sha256=wl9ord5IYOZht0QyiDZoLFfcM_ybIfIhUB4bf3drjf8,4909
917
- Nuitka_winsvc-2.1.2.dist-info/WHEEL,sha256=nSybvzWlmdJnHiUQSY-d7V1ycwEVUTqXiTvr2eshg44,102
918
- Nuitka_winsvc-2.1.2.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
919
- Nuitka_winsvc-2.1.2.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
920
- Nuitka_winsvc-2.1.2.dist-info/RECORD,,
915
+ Nuitka_winsvc-2.1.4.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
916
+ Nuitka_winsvc-2.1.4.dist-info/METADATA,sha256=S7FqQT_d0tEJ1_h0oAEU5S1_j8MZzLc8Bw_vPUukqGE,4909
917
+ Nuitka_winsvc-2.1.4.dist-info/WHEEL,sha256=nSybvzWlmdJnHiUQSY-d7V1ycwEVUTqXiTvr2eshg44,102
918
+ Nuitka_winsvc-2.1.4.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
919
+ Nuitka_winsvc-2.1.4.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
920
+ Nuitka_winsvc-2.1.4.dist-info/RECORD,,
nuitka/OptionParsing.py CHANGED
@@ -36,15 +36,18 @@ from nuitka.Version import getCommercialVersion, getNuitkaVersion
36
36
 
37
37
  # Indicator if we were called as "nuitka-run" in which case we assume some
38
38
  # other defaults and work a bit different with parameters.
39
- is_nuitka_run = os.path.basename(sys.argv[0]).lower().endswith("-run")
39
+ _nuitka_binary_name = os.path.basename(sys.argv[0])
40
+ if _nuitka_binary_name == "__main__.py":
41
+ _nuitka_binary_name = "%s -m nuitka" % os.path.basename(sys.executable)
42
+ is_nuitka_run = _nuitka_binary_name.lower().endswith("-run")
40
43
 
41
44
  if not is_nuitka_run:
42
- usage = "usage: %prog [--module] [--run] [options] main_module.py"
45
+ usage_template = "usage: %s [--module] [--run] [options] main_module.py"
43
46
  else:
44
- usage = "usage: %prog [options] main_module.py"
47
+ usage_template = "usage: %s [options] main_module.py"
45
48
 
46
49
 
47
- parser = makeOptionsParser(usage=usage)
50
+ parser = makeOptionsParser(usage=usage_template % _nuitka_binary_name)
48
51
 
49
52
  parser.add_option(
50
53
  "--version",
nuitka/Options.py CHANGED
@@ -1068,6 +1068,7 @@ make sure that is intended."""
1068
1068
  and not shallMakeModule()
1069
1069
  and not shallUseStaticLibPython()
1070
1070
  and getSystemStaticLibPythonPath() is not None
1071
+ and not shallUsePythonDebug()
1071
1072
  ):
1072
1073
  Tracing.options_logger.info(
1073
1074
  """Detected static libpython to exist, consider '--static-libpython=yes' for better performance, \
nuitka/Version.py CHANGED
@@ -20,7 +20,7 @@
20
20
  """
21
21
 
22
22
  version_string = """\
23
- Nuitka V2.1.2
23
+ Nuitka V2.1.4
24
24
  Copyright (C) 2024 Kay Hayen."""
25
25
 
26
26
 
@@ -609,7 +609,7 @@ def scanSourceDir(env, dirname, plugins):
609
609
 
610
610
  # Only C files are of interest here.
611
611
  if not hasFilenameExtension(
612
- filename_base, (".c", "cpp")
612
+ filename_base, (".c", ".cpp")
613
613
  ) or not filename_base.startswith(("module.", "__", "plugin.")):
614
614
  continue
615
615
 
@@ -900,12 +900,18 @@ bool expandTemplatePath(char *target, char const *source, size_t buffer_size) {
900
900
  appendStringSafe(target, home_path, buffer_size);
901
901
  is_path = true;
902
902
  } else if (strcasecmp(var_name, "CACHE_DIR") == 0) {
903
- if (expandTemplatePath(target, "{HOME}", buffer_size - strlen(target)) == false) {
904
- return false;
905
- }
903
+ char const *xdg_cache_home = getenv("XDG_CACHE_HOME");
904
+
905
+ if (xdg_cache_home != NULL && xdg_cache_home[0] == '/') {
906
+ appendStringSafe(target, xdg_cache_home, buffer_size);
907
+ } else {
908
+ if (expandTemplatePath(target, "{HOME}", buffer_size - strlen(target)) == false) {
909
+ return false;
910
+ }
906
911
 
907
- appendCharSafe(target, '/', buffer_size);
908
- appendStringSafe(target, ".cache", buffer_size);
912
+ appendCharSafe(target, '/', buffer_size);
913
+ appendStringSafe(target, ".cache", buffer_size);
914
+ }
909
915
  is_path = true;
910
916
  #ifdef NUITKA_COMPANY_NAME
911
917
  } else if (strcasecmp(var_name, "COMPANY") == 0) {
@@ -318,16 +318,16 @@ bool LIST_EXTEND_FOR_UNPACK(PyThreadState *tstate, PyObject *list, PyObject *oth
318
318
  #endif
319
319
 
320
320
  bool LIST_APPEND1(PyObject *target, PyObject *item) {
321
- #if _NUITKA_EXPERIMENTAL_DISABLE_LIST_OPT
322
- int res = PyList_Append(target, item);
323
- Py_DECREF(item);
324
- return res == 0;
325
- #else
326
321
  CHECK_OBJECT(target);
327
322
  assert(PyList_CheckExact(target));
328
323
 
329
324
  CHECK_OBJECT(item);
330
325
 
326
+ #if _NUITKA_EXPERIMENTAL_DISABLE_LIST_OPT
327
+ int res = PyList_Append(target, item);
328
+ Py_DECREF(item);
329
+ return res == 0;
330
+ #else
331
331
  PyListObject *list = (PyListObject *)target;
332
332
 
333
333
  Py_ssize_t cur_size = PyList_GET_SIZE(list);
@@ -346,15 +346,15 @@ bool LIST_APPEND1(PyObject *target, PyObject *item) {
346
346
  }
347
347
 
348
348
  bool LIST_APPEND0(PyObject *target, PyObject *item) {
349
- #if _NUITKA_EXPERIMENTAL_DISABLE_LIST_OPT
350
- int res = PyList_Append(target, item);
351
- return res == 0;
352
- #else
353
349
  CHECK_OBJECT(target);
354
350
  assert(PyList_CheckExact(target));
355
351
 
356
352
  CHECK_OBJECT(item);
357
353
 
354
+ #if _NUITKA_EXPERIMENTAL_DISABLE_LIST_OPT
355
+ int res = PyList_Append(target, item);
356
+ return res == 0;
357
+ #else
358
358
  PyListObject *list = (PyListObject *)target;
359
359
 
360
360
  Py_ssize_t cur_size = PyList_GET_SIZE(list);
@@ -517,7 +517,16 @@ PyObject *LIST_INDEX3(PyThreadState *tstate, PyObject *list, PyObject *item, PyO
517
517
  return NULL;
518
518
  }
519
519
 
520
- Py_ssize_t start_ssize = PyLong_AsSsize_t(start_index);
520
+ Py_ssize_t start_ssize;
521
+ #if PYTHON_VERSION < 0x300
522
+ if (PyInt_CheckExact(start_index)) {
523
+ start_ssize = PyInt_AS_LONG(start_index);
524
+ } else {
525
+ start_ssize = PyLong_AsSsize_t(start_index);
526
+ }
527
+ #else
528
+ start_ssize = PyLong_AsSsize_t(start_index);
529
+ #endif
521
530
 
522
531
  return _LIST_INDEX_COMMON(tstate, (PyListObject *)list, item, start_ssize, Py_SIZE(list));
523
532
  }
@@ -536,7 +545,16 @@ PyObject *LIST_INDEX4(PyThreadState *tstate, PyObject *list, PyObject *item, PyO
536
545
  return NULL;
537
546
  }
538
547
 
539
- Py_ssize_t start_ssize = PyLong_AsSsize_t(start_index);
548
+ Py_ssize_t start_ssize;
549
+ #if PYTHON_VERSION < 0x300
550
+ if (PyInt_CheckExact(start_index)) {
551
+ start_ssize = PyInt_AS_LONG(start_index);
552
+ } else {
553
+ start_ssize = PyLong_AsSsize_t(start_index);
554
+ }
555
+ #else
556
+ start_ssize = PyLong_AsSsize_t(start_index);
557
+ #endif
540
558
 
541
559
  PyObject *stop_index = Nuitka_Number_IndexAsLong(stop);
542
560
 
@@ -548,7 +566,16 @@ PyObject *LIST_INDEX4(PyThreadState *tstate, PyObject *list, PyObject *item, PyO
548
566
  return NULL;
549
567
  }
550
568
 
551
- Py_ssize_t stop_ssize = PyLong_AsSsize_t(stop_index);
569
+ Py_ssize_t stop_ssize;
570
+ #if PYTHON_VERSION < 0x300
571
+ if (PyInt_CheckExact(stop_index)) {
572
+ stop_ssize = PyInt_AS_LONG(stop_index);
573
+ } else {
574
+ stop_ssize = PyLong_AsSsize_t(stop_index);
575
+ }
576
+ #else
577
+ stop_ssize = PyLong_AsSsize_t(stop_index);
578
+ #endif
552
579
 
553
580
  return _LIST_INDEX_COMMON(tstate, (PyListObject *)list, item, start_ssize, stop_ssize);
554
581
  }
@@ -556,6 +583,7 @@ PyObject *LIST_INDEX4(PyThreadState *tstate, PyObject *list, PyObject *item, PyO
556
583
  bool LIST_INSERT(PyThreadState *tstate, PyObject *list, PyObject *index, PyObject *item) {
557
584
  CHECK_OBJECT(list);
558
585
  assert(PyList_CheckExact(list));
586
+ CHECK_OBJECT(index);
559
587
  CHECK_OBJECT(item);
560
588
 
561
589
  // TODO: Avoid the clear, by having this as a variant that doesn't set the
@@ -569,7 +597,16 @@ bool LIST_INSERT(PyThreadState *tstate, PyObject *list, PyObject *index, PyObjec
569
597
  return false;
570
598
  }
571
599
 
572
- Py_ssize_t index_ssize = PyLong_AsSsize_t(index_long);
600
+ Py_ssize_t index_ssize;
601
+ #if PYTHON_VERSION < 0x300
602
+ if (PyInt_CheckExact(index_long)) {
603
+ index_ssize = PyInt_AS_LONG(index_long);
604
+ } else {
605
+ index_ssize = PyLong_AsSsize_t(index_long);
606
+ }
607
+ #else
608
+ index_ssize = PyLong_AsSsize_t(index_long);
609
+ #endif
573
610
 
574
611
  LIST_INSERT_CONST(list, index_ssize, item);
575
612
  return true;
@@ -44,7 +44,9 @@ void startProfiling(void) {
44
44
  abort();
45
45
  }
46
46
 
47
- PyObject *result = CALL_FUNCTION_WITH_SINGLE_ARG(PyObject_GetAttrString(vmprof_module, "enable"),
47
+ PyThreadState *tstate = PyThreadState_GET();
48
+
49
+ PyObject *result = CALL_FUNCTION_WITH_SINGLE_ARG(tstate, PyObject_GetAttrString(vmprof_module, "enable"),
48
50
  PyInt_FromLong(fileno(tempfile_profile)));
49
51
 
50
52
  if (result == NULL) {
@@ -65,7 +67,7 @@ void stopProfiling(void) {
65
67
  PyTracebackObject *save_exception_tb;
66
68
  FETCH_ERROR_OCCURRED(tstate, &save_exception_type, &save_exception_value, &save_exception_tb);
67
69
 
68
- PyObject *result = CALL_FUNCTION_NO_ARGS(PyObject_GetAttrString(vmprof_module, "disable"));
70
+ PyObject *result = CALL_FUNCTION_NO_ARGS(tstate, PyObject_GetAttrString(vmprof_module, "disable"));
69
71
 
70
72
  if (result == NULL) {
71
73
  CLEAR_ERROR_OCCURRED(tstate);
@@ -91,6 +91,8 @@ def getConstantDefaultPopulation():
91
91
  # Meta path based loader.
92
92
  "read",
93
93
  "rb",
94
+ # List methods
95
+ "remove",
94
96
  # File handling
95
97
  "/",
96
98
  "\\",
@@ -421,7 +421,7 @@ def generateListOperationRemoveCode(to_name, expression, emit, context):
421
421
  # this call is also very bad.
422
422
  emit("assert(PyList_CheckExact(%s));" % list_arg_name)
423
423
  emit(
424
- '%s = PyObject_CallMethod(%s, (char *)"remove", "O", %s);'
424
+ "%s = PyObject_CallMethodObjArgs(%s, const_str_plain_remove, %s, NULL);"
425
425
  % (result_name, list_arg_name, value_arg_name)
426
426
  )
427
427
 
@@ -25,7 +25,7 @@ PyObject *Nuitka_dunder_compiled_value = NULL;
25
25
  #ifdef _NUITKA_STANDALONE
26
26
  extern PyObject *getStandaloneSysExecutablePath(PyObject *basename);
27
27
 
28
- static PyObject *STRIP_DIRNAME(PyObject *path) {
28
+ NUITKA_MAY_BE_UNUSED static PyObject *STRIP_DIRNAME(PyObject *path) {
29
29
  #if PYTHON_VERSION < 0x300
30
30
  char const *path_cstr = PyString_AS_STRING(path);
31
31
 
@@ -17,6 +17,7 @@ import functools
17
17
  import inspect
18
18
  import os
19
19
  import sys
20
+ import unittest
20
21
 
21
22
  from nuitka import Options
22
23
  from nuitka.__past__ import iter_modules, unicode
@@ -135,6 +136,7 @@ def _getEvaluationContext():
135
136
  "deployment": isDeploymentMode(),
136
137
  # Querying package versions.
137
138
  "version": _getPackageVersion,
139
+ "version_str": _getPackageVersionStr,
138
140
  "get_dist_name": _getDistributionNameFromPackageName,
139
141
  "plugin": _isPluginActive,
140
142
  "no_asserts": hasPythonFlagNoAsserts(),
@@ -155,6 +157,7 @@ def _getEvaluationContext():
155
157
  "os": os,
156
158
  "importlib": _getImportLibModule(),
157
159
  "appdirs": getAppdirsModule(),
160
+ "unittest": unittest,
158
161
  # Python version string
159
162
  "python_version_str": python_version_str,
160
163
  "python_version_full_str": python_version_full_str,
@@ -270,6 +273,15 @@ def _getPackageVersion(distribution_name):
270
273
  return _package_versions[distribution_name]
271
274
 
272
275
 
276
+ def _getPackageVersionStr(distribution_name):
277
+ version = _getPackageVersion(distribution_name)
278
+
279
+ if version is not None:
280
+ version = ".".join(str(d) for d in version)
281
+
282
+ return version
283
+
284
+
273
285
  def _getModuleDirectory(module_name):
274
286
  from nuitka.importing.Importing import locateModule
275
287
 
@@ -236,6 +236,10 @@ def save_compiled_function(pickler, obj):
236
236
  dill._dill.StockPickler.save_global(pickler, obj)
237
237
 
238
238
 
239
+ if __compiled__.standalone: # pylint: disable=undefined-variable
240
+ builtins.compiled_method = compiled_method
241
+ builtins.compiled_function = compiled_function
242
+
239
243
  # Part of "Nuitka", an optimizing Python compiler that is compatible and
240
244
  # integrates with CPython, but also works on its own.
241
245
  #
@@ -659,12 +659,24 @@ According to Yaml 'overridden-environment-variables' configuration."""
659
659
  "transformers.utils.dummy_tf_objects", # Not performance relevant.
660
660
  "rich", # Not performance relevant and memory leaking due to empty compiled cell leaks
661
661
  "altair.vegalite.v5.schema", # Not performance relevant.
662
+ "azure", # Not performance relevant.
663
+ )
664
+
665
+ unworthy_modulename_patterns = (
666
+ "tensorflow.*test", # Not performance relevant.
667
+ "tensorflow.**.test_util", # Not performance relevant.
662
668
  )
663
669
 
664
670
  def decideCompilation(self, module_name):
665
671
  if module_name.hasOneOfNamespaces(self.unworthy_namespaces):
666
672
  return "bytecode"
667
673
 
674
+ is_match, _reason = module_name.matchesToShellPatterns(
675
+ self.unworthy_modulename_patterns
676
+ )
677
+ if is_match:
678
+ return "bytecode"
679
+
668
680
  def onModuleUsageLookAhead(
669
681
  self, module_name, module_filename, module_kind, get_module_source
670
682
  ):
@@ -91,6 +91,18 @@ https://matplotlib.org/stable/users/installing/environment_variables_faq.html#en
91
91
 
92
92
  return info
93
93
 
94
+ def getImplicitImports(self, module):
95
+ # Make sure the used Qt namespace is included in compilation, mostly for
96
+ # accelerated mode, but also to prevent people from accidentally
97
+ # removing it.
98
+ if module.getFullName() != "matplotlib":
99
+ return
100
+
101
+ matplotlib_info = self._getMatplotlibInfo()
102
+
103
+ # Make sure, the default backend is included.
104
+ yield "matplotlib.backends.backend_%s" % matplotlib_info.backend.lower()
105
+
94
106
  def considerDataFiles(self, module):
95
107
  if module.getFullName() != "matplotlib":
96
108
  return
@@ -168,6 +180,10 @@ https://matplotlib.org/stable/users/installing/environment_variables_faq.html#en
168
180
  if hasActivePlugin("tk-inter"):
169
181
  return True, "Needed for tkinter matplotlib backend"
170
182
 
183
+ if module_name == "matplotlib.backends.backend_qtagg":
184
+ if getActiveQtPluginBindingName() is not None:
185
+ return True, "Needed for qt matplotlib backend"
186
+
171
187
  def createPreModuleLoadCode(self, module):
172
188
  """Method called when a module is being imported.
173
189
 
@@ -45,26 +45,28 @@ class NuitkaPluginOptionsNanny(NuitkaPluginBase):
45
45
  if support_info == "ignore":
46
46
  return
47
47
 
48
- if support_info != "parameter":
48
+ if support_info == "parameter":
49
+ message = "Module has parameter: " + description
50
+ elif support_info == "plugin":
51
+ message = "Module has plugin consideration: " + description
52
+ else:
49
53
  if condition != "True":
50
54
  problem_desc = (
51
- "incomplete support due to untrue condition '%s'" % condition
55
+ " with incomplete support due to untrue condition '%s'" % condition
52
56
  )
53
57
  else:
54
- problem_desc = "incomplete support"
58
+ problem_desc = " with incomplete support"
55
59
 
56
- message = "Using module '%s' (version %s) with %s: %s" % (
60
+ message = "Using module '%s' (version %s)%s: %s" % (
57
61
  full_name,
58
62
  ".".join(str(d) for d in self.getPackageVersion(full_name)),
59
63
  problem_desc,
60
64
  description,
61
65
  )
62
- else:
63
- message = "Module has parameter: " + description
64
66
 
65
67
  if support_info == "error":
66
68
  self.sysexit(message)
67
- elif support_info in ("warning", "parameter"):
69
+ elif support_info in ("warning", "parameter", "plugin"):
68
70
  self.warning(message)
69
71
  elif support_info == "info":
70
72
  self.info(message)
@@ -350,13 +350,18 @@
350
350
  - 'av.plane'
351
351
  - 'av.video.plane'
352
352
 
353
- - module-name: 'babel' # checksum: e320e7f1
353
+ - module-name: 'babel' # checksum: 37b8fa6d
354
354
  data-files:
355
355
  dirs:
356
356
  - 'locale-data'
357
357
  patterns:
358
358
  - 'global.dat'
359
359
 
360
+ implicit-imports:
361
+ - depends:
362
+ - 'babel.dates'
363
+ - 'babel.numbers'
364
+
360
365
  - module-name: 'backports.zoneinfo._common' # checksum: 70450440
361
366
  implicit-imports:
362
367
  - depends:
@@ -847,12 +852,23 @@
847
852
  patterns:
848
853
  - 'dask.yaml'
849
854
 
855
+ - module-name: 'dask.dataframe' # checksum: b6b8eaf
856
+ implicit-imports:
857
+ - depends:
858
+ - 'pyarrow._*'
859
+
850
860
  - module-name: 'dask.dataframe._compat' # checksum: 78ecb250
851
861
  anti-bloat:
852
862
  - description: 'remove pandas.testing reference'
853
863
  replacements_plain:
854
864
  'import pandas.testing as tm': ''
855
865
 
866
+ - module-name: 'dask.dataframe.utils' # checksum: 5af31dde
867
+ anti-bloat:
868
+ - description: 'remove pandas.testing reference'
869
+ replacements_plain:
870
+ 'from dask.dataframe._compat import PANDAS_GE_150, tm': ''
871
+
856
872
  - module-name: 'dask.dot' # checksum: ddcb31f2
857
873
  anti-bloat:
858
874
  - description: 'remove IPython reference'
@@ -888,6 +904,14 @@
888
904
  replacements_plain:
889
905
  '__version__ = get_distribution(__name__).version': 'raise DistributionNotFound'
890
906
 
907
+ - module-name: 'deepspeed' # checksum: 5af29274
908
+ anti-bloat:
909
+ - description: 'remove setuptools usage via triton'
910
+ no-auto-follow:
911
+ 'triton': 'ignore'
912
+ 'torch.utils.cpp_extension': 'ignore'
913
+ when: 'not use_setuptools'
914
+
891
915
  - module-name: 'delphifmx' # checksum: f818d46e
892
916
  dlls:
893
917
  - from_filenames:
@@ -1014,11 +1038,15 @@
1014
1038
  'load_ipython_extension': 'un-callable'
1015
1039
  when: 'not use_ipython'
1016
1040
 
1017
- - module-name: 'dotenv.main' # checksum: 406cfc35
1041
+ - module-name: 'dotenv.main' # checksum: cb869e1f
1018
1042
  anti-bloat:
1019
1043
  - description: 'workaround to avoid dotenv requiring package directories'
1020
1044
  replacements_plain:
1021
1045
  "raise IOError('Starting path not found')": 'pass'
1046
+ - description: 'workaround to avoid dotenv requiring python filenames'
1047
+ replacements_plain:
1048
+ 'while frame.f_code.co_filename == current_file': 'if False'
1049
+ 'frame_filename = frame.f_code.co_filename': 'frame_filename = os.path.dirname(__file__)'
1022
1050
 
1023
1051
  - module-name: 'easyocr' # checksum: fb59d361
1024
1052
  data-files:
@@ -1488,6 +1516,31 @@
1488
1516
  patterns:
1489
1517
  - '_cython/_credentials/roots.pem'
1490
1518
 
1519
+ - module-name: 'gruut' # checksum: 19583930
1520
+ data-files:
1521
+ patterns:
1522
+ - 'VERSION'
1523
+
1524
+ implicit-imports:
1525
+ - depends:
1526
+ - 'gruut_ipa'
1527
+ - 'gruut_lang_en'
1528
+
1529
+ - module-name: 'gruut_ipa' # checksum: 810a705a
1530
+ data-files:
1531
+ dirs:
1532
+ - 'data'
1533
+
1534
+ - module-name: 'gruut_lang_en' # checksum: 206e4c65
1535
+ data-files:
1536
+ dirs:
1537
+ - 'espeak'
1538
+ - 'g2p'
1539
+ - 'pos'
1540
+ patterns:
1541
+ - 'VERSION'
1542
+ - 'lexicon.db'
1543
+
1491
1544
  - module-name: 'gtk._gtk' # checksum: 4fb4a03b
1492
1545
  implicit-imports:
1493
1546
  - depends:
@@ -1817,6 +1870,29 @@
1817
1870
  prefixes:
1818
1871
  - 'libusb'
1819
1872
 
1873
+ - module-name: 'lightgbm' # checksum: 38422ad6
1874
+ data-files:
1875
+ dirs:
1876
+ - 'locales'
1877
+ patterns:
1878
+ - '*.bin'
1879
+ - 'VERSION.txt'
1880
+ dlls:
1881
+ - from_filenames:
1882
+ relative_path: 'bin'
1883
+ prefixes:
1884
+ - 'lib_lightgbm'
1885
+
1886
+ - module-name: 'lightgbm.dask' # checksum: f12519e1
1887
+ anti-bloat:
1888
+ - description: 'remove docstrings'
1889
+ replacements_plain:
1890
+ " _before_kwargs, _kwargs, _after_kwargs = _base_doc.partition('**kwargs') # type: ignore": ''
1891
+ ' {_before_kwargs}client : dask.distributed.Client or None, optional (default=None)': ''
1892
+ ? " {' ':4}Dask client. If ``None``, ``distributed.default_client()`` will be used at runtime. The Dask client used by this class will not be saved if the model object is pickled."
1893
+ : ''
1894
+ ' {_kwargs}{_after_kwargs}': ''
1895
+
1820
1896
  - module-name: 'lightgbm.libpath' # checksum: f4a8da46
1821
1897
  dlls:
1822
1898
  - from_filenames:
@@ -1893,7 +1969,7 @@
1893
1969
  - depends:
1894
1970
  - 'markdown.extensions.*'
1895
1971
 
1896
- - module-name: 'matplotlib' # checksum: faefaad3
1972
+ - module-name: 'matplotlib' # checksum: 977975bb
1897
1973
  anti-bloat:
1898
1974
  - description: 'remove setuptools and pytest testing framework reference'
1899
1975
  replacements:
@@ -1903,11 +1979,33 @@
1903
1979
  '_init_tests': "'None'"
1904
1980
  'test': "'None'"
1905
1981
  '_get_version': "'(lambda : _version.version)'"
1982
+ - description: 'avoid PySide6 unless used'
1983
+ no-auto-follow:
1984
+ 'PySide6': 'ignore'
1985
+ when: 'not use_pyside6'
1986
+ - description: 'avoid PySide2 unless used'
1987
+ no-auto-follow:
1988
+ 'PySide2': 'ignore'
1989
+ when: 'not use_pyside2'
1990
+ - description: 'avoid PyQt5 unless used'
1991
+ no-auto-follow:
1992
+ 'PyQt5': 'ignore'
1993
+ when: 'not use_pyqt5'
1994
+ - description: 'avoid PyQt6 unless used'
1995
+ no-auto-follow:
1996
+ 'PyQt6': 'ignore'
1997
+ when: 'not use_pyqt6'
1998
+
1906
1999
  implicit-imports:
1907
2000
  - depends:
1908
2001
  - 'matplotlib.backend_managers'
1909
2002
  - 'matplotlib.backend_bases'
1910
2003
  - 'mpl_toolkits'
2004
+ options:
2005
+ checks:
2006
+ - description: "For matplotlib a GUI tooltkit selection might be needed use, use '--enable-plugin=tk-inter|PySide6|PySide2|PyQt6|PyQt5', or use '--enable-plugin=no-qt' for headless mode."
2007
+ support_info: 'plugin'
2008
+ when: 'not macos and not (use_noqt or use_pyqt5 or use_pyqt6 or use_pyside2 or use_pyside6)'
1911
2009
 
1912
2010
  - module-name: 'matplotlib.backend_bases' # checksum: 5954e33d
1913
2011
  anti-bloat:
@@ -3372,6 +3470,12 @@
3372
3470
  'setuptools_scm': 'ignore'
3373
3471
  when: 'not use_setuptools'
3374
3472
 
3473
+ - module-name: 'pyarrow.dataset' # checksum: 37675d7a
3474
+ implicit-imports:
3475
+ - depends:
3476
+ - 'pyarrow._acero'
3477
+ - 'pyarrow._json'
3478
+
3375
3479
  - module-name: 'pyarrow.lib' # checksum: 302be0c2
3376
3480
  implicit-imports:
3377
3481
  - depends:
@@ -3402,6 +3506,17 @@
3402
3506
  - 'pycparser.yacctab'
3403
3507
  - 'pycparser.lextab'
3404
3508
 
3509
+ - module-name: 'pycrfsuite' # checksum: 452bfc81
3510
+ dlls:
3511
+ - from_filenames:
3512
+ prefixes:
3513
+ - '_pycrfsuite'
3514
+
3515
+ implicit-imports:
3516
+ - depends:
3517
+ - 'pycrfsuite._dumpparser'
3518
+ - 'pycrfsuite._logparser'
3519
+
3405
3520
  - module-name: 'pydantic' # checksum: fb2935eb
3406
3521
  implicit-imports:
3407
3522
  - depends:
@@ -3781,7 +3896,7 @@
3781
3896
  - find-dlls-near-module:
3782
3897
  - 'shiboken2'
3783
3898
 
3784
- - module-name: 'PySide6' # checksum: f259f70e
3899
+ - module-name: 'PySide6' # checksum: db68a9cc
3785
3900
  implicit-imports:
3786
3901
  - post-import-code:
3787
3902
  - |
@@ -3803,6 +3918,11 @@
3803
3918
  if not slot.im_func.__name__.startswith("_pyside6_workaround_"):
3804
3919
  slot.im_func.__name__ = "_pyside6_workaround_" + slot.im_func.__name__
3805
3920
 
3921
+ try:
3922
+ setattr(slot.im_self.__class__, slot.im_func.__name__, slot.im_func)
3923
+ except Exception:
3924
+ pass
3925
+
3806
3926
  return orig_connect(self, slot, type)
3807
3927
 
3808
3928
  from PySide6 import QtCore
@@ -5522,13 +5642,16 @@
5522
5642
  'notebook': "'(lambda: None)'"
5523
5643
  when: 'not use_ipython'
5524
5644
 
5525
- - module-name: 'tensorflow' # checksum: 3e41f159
5645
+ - module-name: 'tensorflow' # checksum: 13d6e6a5
5526
5646
  dlls:
5527
5647
  - from_filenames:
5528
5648
  relative_path: 'core/platform'
5529
5649
  prefixes:
5530
5650
  - '_cpu_feature_guard'
5531
5651
  anti-bloat:
5652
+ - description: 'allow unittest inside of tensorflow, too dependent to remove'
5653
+ bloat-mode-overrides:
5654
+ 'unittest': 'allow'
5532
5655
  - description: 'remove useless distutils and test framework usage'
5533
5656
  replacements_plain:
5534
5657
  'import distutils as _distutils': '_distutils = None'
@@ -5539,17 +5662,16 @@
5539
5662
  # TODO: Have "unusable", something that triggers a telling "RuntimeError" when used.
5540
5663
  'from tensorflow._api.v1 import test': 'test = None'
5541
5664
  'from ._api.v2 import test': 'test = None'
5665
+ 'from tensorflow._api.v2 import test': 'test = None'
5542
5666
  append_plain: |
5543
5667
  import sys
5544
5668
  sys.modules["tensorflow.compat"] = compat
5669
+ sys.modules["tensorflow.experimental"] = experimental
5545
5670
  sys.modules["tensorflow.compat.v1"] = compat.v1
5546
5671
  sys.modules["tensorflow.compat.v2"] = compat.v2
5547
5672
  sys.modules["tensorflow.compat.v1.logging"] = compat.v1.logging
5548
5673
  sys.modules["tensorflow.compat.v2.experimental"] = compat.v2.experimental
5549
5674
  sys.modules["tensorflow.keras"] = keras
5550
- sys.modules["tensorflow.keras.layers"] = keras.layers
5551
- sys.modules["tensorflow.keras.activations"] = keras.activations
5552
- sys.modules["tensorflow.keras.models"] = keras.models
5553
5675
  when: 'standalone'
5554
5676
  - description: 'remove kubernetes as default dependency'
5555
5677
  no-auto-follow:
@@ -5562,6 +5684,12 @@
5562
5684
  - 'tensorflow_estimator'
5563
5685
  - 'keras.api._v2.keras'
5564
5686
 
5687
+ options:
5688
+ checks:
5689
+ - description: "'tensorflow' is not fully supported before version 2.16"
5690
+ support_info: 'warning'
5691
+ when: 'version("tensorflow") < (2,16)'
5692
+
5565
5693
  - module-name: 'tensorflow._api.v1.compat.v1' # checksum: 3e84bd8b
5566
5694
  anti-bloat:
5567
5695
  - description: 'remove useless tensorflow testing usage'
@@ -5576,18 +5704,19 @@
5576
5704
  'from . import test': 'test = None'
5577
5705
  'from tensorflow._api.v1.compat.v2 import test': 'test = None'
5578
5706
 
5579
- - module-name: 'tensorflow._api.v2.__internal__' # checksum: 6575e290
5707
+ - module-name: 'tensorflow._api.v2.__internal__' # checksum: 92facfb8
5580
5708
  anti-bloat:
5581
5709
  - description: 'remove useless tensorflow testing usage'
5582
5710
  replacements_plain:
5583
5711
  'from . import test': 'test = None'
5584
- 'from . import distribute': 'distribute = None'
5712
+ 'from tensorflow._api.v2.__internal__ import test': 'test = None'
5585
5713
 
5586
- - module-name: 'tensorflow._api.v2.compat.v1' # checksum: 3b5c62cb
5714
+ - module-name: 'tensorflow._api.v2.compat.v1' # checksum: 53024ed1
5587
5715
  anti-bloat:
5588
5716
  - description: 'remove useless tensorflow testing usage'
5589
5717
  replacements_plain:
5590
5718
  'from . import test': 'test = None'
5719
+ 'from tensorflow._api.v2.compat.v1 import test': 'test = None'
5591
5720
 
5592
5721
  - module-name: 'tensorflow._api.v2.compat.v1.compat.v1' # checksum: 31fdcb26
5593
5722
  anti-bloat:
@@ -5601,25 +5730,19 @@
5601
5730
  replacements_plain:
5602
5731
  'from tensorflow._api.v2.compat.v2 import test': 'test = None'
5603
5732
 
5604
- - module-name: 'tensorflow._api.v2.compat.v2' # checksum: 3b5c62cb
5733
+ - module-name: 'tensorflow._api.v2.compat.v2' # checksum: b1ce7f9
5605
5734
  anti-bloat:
5606
5735
  - description: 'remove useless tensorflow testing usage'
5607
5736
  replacements_plain:
5608
5737
  'from . import test': 'test = None'
5738
+ 'from tensorflow._api.v2.compat.v2 import test': 'test = None'
5609
5739
 
5610
- - module-name: 'tensorflow._api.v2.compat.v2.__internal__' # checksum: 6575e290
5740
+ - module-name: 'tensorflow._api.v2.compat.v2.__internal__' # checksum: 970797b3
5611
5741
  anti-bloat:
5612
5742
  - description: 'remove useless tensorflow testing usage'
5613
5743
  replacements_plain:
5614
- # TODO: Really need to make the "un-usable" a thing
5615
5744
  'from . import test': 'test = None'
5616
- 'from . import distribute': 'distribute = None'
5617
-
5618
- - module-name: 'tensorflow._api.v2.compat.v2.__internal__.distribute' # checksum: 6d039981
5619
- anti-bloat:
5620
- - description: 'remove useless tensorflow testing usage'
5621
- replacements_plain:
5622
- 'from . import multi_process_runner': 'multi_process_runner = None'
5745
+ 'from tensorflow._api.v2.compat.v2.__internal__ import test': 'test = None'
5623
5746
 
5624
5747
  - module-name: 'tensorflow._api.v2.compat.v2.compat.v1' # checksum: 31fdcb26
5625
5748
  anti-bloat:
@@ -5670,15 +5793,6 @@
5670
5793
  - 'tensorflow.contrib.boosted_trees.python.ops._boosted_trees_ops'
5671
5794
  when: 'not win32'
5672
5795
 
5673
- - module-name: 'tensorflow.contrib.eager.python.tfe' # checksum: 9ea31d00
5674
- anti-bloat:
5675
- - description: 'remove unittest reference'
5676
- replacements_plain:
5677
- 'from tensorflow.python.framework.test_util import run_in_graph_and_eager_modes as run_test_in_graph_and_eager_modes': 'run_test_in_graph_and_eager_modes = None'
5678
- ? 'from tensorflow.python.framework.test_util import run_all_in_graph_and_eager_modes as run_all_tests_in_graph_and_eager_modes'
5679
- : 'run_all_tests_in_graph_and_eager_modes = None'
5680
- when: 'not use_unittest'
5681
-
5682
5796
  - module-name: 'tensorflow.contrib.factorization.python.ops.factorization_ops' # checksum: 4ea2083
5683
5797
  dlls:
5684
5798
  - from_filenames:
@@ -5892,13 +6006,6 @@
5892
6006
  replacements_plain:
5893
6007
  'ag_logging.warning(': 'if False: ag_logging.warning('
5894
6008
 
5895
- - module-name: 'tensorflow.python.autograph.impl.conversion' # checksum: eddb826f
5896
- anti-bloat:
5897
- - description: 'remove unitest usage'
5898
- replacements_plain:
5899
- 'import unittest': ''
5900
- 'issubclass(owner_class, unittest.TestCase)': 'False'
5901
-
5902
6009
  - module-name: 'tensorflow.python.compiler.tensorrt.trt_convert' # checksum: 9471824c
5903
6010
  implicit-imports:
5904
6011
  - depends:
@@ -5919,29 +6026,6 @@
5919
6026
  - depends:
5920
6027
  - 'tensorflow.python.data.ops.shuffle_op'
5921
6028
 
5922
- - module-name: 'tensorflow.python.distribute.multi_process_runner' # checksum: 3b5c62cb
5923
- anti-bloat:
5924
- - description: 'remove useless tensorflow testing usage'
5925
- replacements_plain:
5926
- 'from . import test': 'test = None'
5927
-
5928
- - module-name: 'tensorflow.python.distribute.multi_worker_test_base' # checksum: 3d614bbf
5929
- anti-bloat:
5930
- - description: 'remove useless tensorflow testing usage'
5931
- replacements_plain:
5932
- 'import unittest': 'test = None'
5933
- 'from tensorflow.python.framework import test_util': 'test_util = None'
5934
- 'from tensorflow.python.platform import test': 'test = None'
5935
-
5936
- - module-name: 'tensorflow.python.distribute.strategy_combinations' # checksum: 2911563d
5937
- anti-bloat:
5938
- - description: 'remove useless tensorflow testing usage'
5939
- replacements_plain:
5940
- 'from tensorflow.python.distribute import test_util': 'test_util = None'
5941
- 'from tensorflow.python.framework import test_util as framework_test_util': 'framework_test_util = None'
5942
- 'from tensorflow.python.distribute import multi_process_runner': 'multi_process_runner = None'
5943
- 'from tensorflow.python.distribute import multi_worker_test_base': 'multi_worker_test_base = None'
5944
-
5945
6029
  - module-name: 'tensorflow.python.framework' # checksum: 98664efa
5946
6030
  implicit-imports:
5947
6031
  - depends:
@@ -5975,6 +6059,13 @@
5975
6059
  change_function:
5976
6060
  '_copy_fn': "'(lambda fn: fn)'"
5977
6061
 
6062
+ - module-name: 'tensorflow.python.util.lazy_loader' # checksum: d4c83239
6063
+ anti-bloat:
6064
+ - description: 'reduce keras usage'
6065
+ replacements:
6066
+ 'os.environ.get("TF_USE_LEGACY_KERAS", None)': 'repr(os.environ.get("TF_USE_LEGACY_KERAS", None))'
6067
+ 'keras.__version__': 'repr(version_str("keras"))'
6068
+
5978
6069
  - module-name: 'tensorflow_core' # checksum: f377875c
5979
6070
  anti-bloat:
5980
6071
  - description: 'remove useless distutils usage'
@@ -5998,6 +6089,13 @@
5998
6089
  - depends:
5999
6090
  - 'keras.api._v2'
6000
6091
 
6092
+ - module-name: 'tensorrt_libs' # checksum: cb30dde5
6093
+ dlls:
6094
+ - from_filenames:
6095
+ prefixes:
6096
+ - 'libnv'
6097
+ dest_path: '.'
6098
+
6001
6099
  - module-name: 'text_unidecode' # checksum: e24d920b
6002
6100
  data-files:
6003
6101
  patterns:
@@ -6013,6 +6111,13 @@
6013
6111
  - depends:
6014
6112
  - '._*'
6015
6113
 
6114
+ - module-name: 'tf_keras.src' # checksum: 9760fd72
6115
+ anti-bloat:
6116
+ - description: 'remove unittest reference'
6117
+ replacements_plain:
6118
+ 'from keras.src.testing_infra import test_utils': 'test_utils = None'
6119
+ when: 'not use_unittest'
6120
+
6016
6121
  - module-name: 'tf_keras.src.utils.vis_utils' # checksum: 7d07a2d1
6017
6122
  anti-bloat:
6018
6123
  - description: 'remove IPython reference'
@@ -6136,10 +6241,12 @@
6136
6241
  dirs:
6137
6242
  - 'resources'
6138
6243
 
6139
- - module-name: 'toga_winforms' # checksum: 286969f5
6244
+ - module-name: 'toga_winforms' # checksum: 5dda2bcf
6140
6245
  data-files:
6141
6246
  dirs:
6142
6247
  - 'resources'
6248
+ include-metadata:
6249
+ - 'toga-winforms'
6143
6250
  dlls:
6144
6251
  - from_filenames:
6145
6252
  relative_path: 'libs/WebView2/arm64'
@@ -6508,7 +6615,7 @@
6508
6615
  patterns:
6509
6616
  - '*.css'
6510
6617
 
6511
- - module-name: 'transformers' # checksum: 81d84f69
6618
+ - module-name: 'transformers' # checksum: a442ab87
6512
6619
  data-files:
6513
6620
  include-metadata:
6514
6621
  - 'accelerate'
@@ -6530,6 +6637,12 @@
6530
6637
  - 'timm'
6531
6638
  - 'openai'
6532
6639
 
6640
+ anti-bloat:
6641
+ - description: 'remove IPython reference'
6642
+ no-auto-follow:
6643
+ 'IPython': 'ignore'
6644
+ when: 'not use_ipython'
6645
+
6533
6646
  - module-name: 'transformers.integrations' # checksum: ccb3fd3
6534
6647
  anti-bloat:
6535
6648
  - description: 'remove IPython reference'
@@ -6551,6 +6664,27 @@
6551
6664
  'load_cuda_kernels': 'un-callable'
6552
6665
  when: 'not use_setuptools'
6553
6666
 
6667
+ - module-name: 'transformers.models.deformable_detr.modeling_deformable_detr' # checksum: baab8e6b
6668
+ anti-bloat:
6669
+ - description: 'remove setuptools usage'
6670
+ change_function:
6671
+ 'load_cuda_kernels': 'un-callable'
6672
+ when: 'not use_setuptools'
6673
+
6674
+ - module-name: 'transformers.models.deta.modeling_deta' # checksum: baab8e6b
6675
+ anti-bloat:
6676
+ - description: 'remove setuptools usage'
6677
+ change_function:
6678
+ 'load_cuda_kernels': 'un-callable'
6679
+ when: 'not use_setuptools'
6680
+
6681
+ - module-name: 'transformers.models.mra.modeling_mra' # checksum: baab8e6b
6682
+ anti-bloat:
6683
+ - description: 'remove setuptools usage'
6684
+ change_function:
6685
+ 'load_cuda_kernels': 'un-callable'
6686
+ when: 'not use_setuptools'
6687
+
6554
6688
  - module-name: 'transformers.models.rwkv.modeling_rwkv' # checksum: f186b69e
6555
6689
  anti-bloat:
6556
6690
  - description: 'remove setuptools usage'
@@ -6558,6 +6692,13 @@
6558
6692
  'load_wkv_cuda_kernel': "'(lambda : None)'"
6559
6693
  when: 'not use_setuptools'
6560
6694
 
6695
+ - module-name: 'transformers.models.yoso.modeling_deta' # checksum: baab8e6b
6696
+ anti-bloat:
6697
+ - description: 'remove setuptools usage'
6698
+ change_function:
6699
+ 'load_cuda_kernels': 'un-callable'
6700
+ when: 'not use_setuptools'
6701
+
6561
6702
  - module-name: 'transformers.models.yoso.modeling_yoso' # checksum: 7f1a78b7
6562
6703
  anti-bloat:
6563
6704
  - description: 'remove setuptools usage'
@@ -6571,13 +6712,6 @@
6571
6712
  replacements_plain:
6572
6713
  'transformers_module = direct_transformers_import(Path(__file__).parent)': 'import transformers as transformers_module'
6573
6714
 
6574
- - module-name: 'transformers.tools.agent_types' # checksum: 7d07a2d1
6575
- anti-bloat:
6576
- - description: 'remove IPython reference'
6577
- no-auto-follow:
6578
- 'IPython': 'ignore'
6579
- when: 'not use_ipython'
6580
-
6581
6715
  - module-name: 'transformers.trainer' # checksum: f71d17eb
6582
6716
  anti-bloat:
6583
6717
  - description: 'remove IPython reference'
@@ -6798,6 +6932,13 @@
6798
6932
  - 'websockets.legacy.server'
6799
6933
  - 'uvicorn.logging'
6800
6934
 
6935
+ - module-name: 'uvicorn.importer' # checksum: ada37bba
6936
+ anti-bloat:
6937
+ - description: 'better error message for string imports'
6938
+ replacements_plain:
6939
+ 'Could not import module "{module_str}"': 'Nuitka: Could not import module "{module_str}" use "--include-module={module_str}" option during compilation'
6940
+ when: 'not deployment'
6941
+
6801
6942
  - module-name: 'uvicorn.lifespan' # checksum: f7b81412
6802
6943
  implicit-imports:
6803
6944
  - depends:
@@ -6990,6 +7131,16 @@
6990
7131
  - 'win32comext'
6991
7132
  when: 'win32'
6992
7133
 
7134
+ - module-name: 'win32com.server.register' # checksum: d2ea40f3
7135
+ anti-bloat:
7136
+ - replacements_plain:
7137
+ 'not pythoncom.frozen': 'False'
7138
+ change_function:
7139
+ 'ReExecuteElevated': "'''raise (RuntimeError('Nuitka: Needs to be elevated already, use --windows-uac-admin'))'''"
7140
+ implicit-imports:
7141
+ - depends:
7142
+ - 'win32timezone'
7143
+
6993
7144
  - module-name: 'win32ui' # checksum: 2f1beca2
6994
7145
  implicit-imports:
6995
7146
  - pre-import-code:
@@ -7100,6 +7251,11 @@
7100
7251
  'import dask.array as dask_array': 'raise ImportError'
7101
7252
  when: 'not use_dask'
7102
7253
 
7254
+ - module-name: 'xarray.core.nputils' # checksum: 46ca5d07
7255
+ data-files:
7256
+ include-metadata:
7257
+ - 'numpy'
7258
+
7103
7259
  - module-name: 'xarray.core.parallel' # checksum: 37f8ca49
7104
7260
  anti-bloat:
7105
7261
  - description: 'remove optional dask usage'
nuitka/reports/Reports.py CHANGED
@@ -49,7 +49,11 @@ from nuitka.utils.Distributions import (
49
49
  getDistributionsFromModuleName,
50
50
  getDistributionVersion,
51
51
  )
52
- from nuitka.utils.FileOperations import getReportPath, putTextFileContents
52
+ from nuitka.utils.FileOperations import (
53
+ getReportPath,
54
+ putBinaryFileContents,
55
+ putTextFileContents,
56
+ )
53
57
  from nuitka.utils.Jinja2 import getTemplate
54
58
  from nuitka.utils.MemoryUsage import getMemoryInfos
55
59
  from nuitka.utils.Utils import getArchitecture, getOS
@@ -643,10 +647,13 @@ def writeCompilationReport(report_filename, report_input_data, diffable):
643
647
  ),
644
648
  )
645
649
 
650
+ contents = TreeXML.toString(root)
651
+
652
+ if type(contents) is not bytes:
653
+ contents = contents.encode("utf8")
654
+
646
655
  try:
647
- putTextFileContents(
648
- filename=report_filename, contents=TreeXML.toString(root), encoding="utf8"
649
- )
656
+ putBinaryFileContents(filename=report_filename, contents=contents)
650
657
  except OSError as e:
651
658
  reports_logger.warning(
652
659
  "Compilation report write to file '%s' failed due to: %s."
@@ -818,6 +818,22 @@ def putTextFileContents(filename, contents, encoding=None):
818
818
  _writeContents(output_file)
819
819
 
820
820
 
821
+ def putBinaryFileContents(filename, contents):
822
+ """Write a binary file from given contents.
823
+
824
+ Args:
825
+ filename: str with the file to be created
826
+ contents: bytes that should be written into the file
827
+
828
+ Returns:
829
+ None
830
+ """
831
+
832
+ with withFileLock("writing file %s" % filename):
833
+ with openTextFile(filename, "wb") as output_file:
834
+ output_file.write(contents)
835
+
836
+
821
837
  def changeTextFileContents(filename, contents, encoding=None, compare_only=False):
822
838
  """Write a text file from given contents.
823
839
 
@@ -96,7 +96,7 @@ def getMemoryInfos():
96
96
 
97
97
 
98
98
  def collectMemoryUsageValue(memory_usage_name):
99
- assert memory_usage_name not in _memory_infos
99
+ assert memory_usage_name not in _memory_infos, memory_usage_name
100
100
  _memory_infos[memory_usage_name] = getOwnProcessMemoryUsage()
101
101
 
102
102
  return _memory_infos[memory_usage_name]