Nuitka-winsvc 1.9.5__cp312-cp312-win_amd64.whl → 1.9.6__cp312-cp312-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 (32) hide show
  1. {Nuitka_winsvc-1.9.5.dist-info → Nuitka_winsvc-1.9.6.dist-info}/METADATA +1 -1
  2. {Nuitka_winsvc-1.9.5.dist-info → Nuitka_winsvc-1.9.6.dist-info}/RECORD +32 -30
  3. nuitka/Options.py +6 -1
  4. nuitka/PythonVersions.py +6 -0
  5. nuitka/Version.py +1 -1
  6. nuitka/build/Backend.scons +2 -0
  7. nuitka/build/include/nuitka/safe_string_ops.h +2 -0
  8. nuitka/build/static_src/CompiledFunctionType.c +0 -5
  9. nuitka/build/static_src/CompiledMethodType.c +0 -5
  10. nuitka/build/static_src/HelpersComparisonEq.c +2 -2
  11. nuitka/build/static_src/HelpersComparisonGe.c +2 -2
  12. nuitka/build/static_src/HelpersComparisonGt.c +2 -2
  13. nuitka/build/static_src/HelpersComparisonLe.c +2 -2
  14. nuitka/build/static_src/HelpersComparisonLt.c +2 -2
  15. nuitka/build/static_src/HelpersComparisonNe.c +2 -2
  16. nuitka/build/static_src/HelpersFilesystemPaths.c +1 -1
  17. nuitka/build/static_src/HelpersSafeStrings.c +1 -1
  18. nuitka/build/static_src/MetaPathBasedLoader.c +1 -1
  19. nuitka/code_generation/templates/CodeTemplatesModules.py +7 -4
  20. nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
  21. nuitka/nodes/PackageMetadataNodes.py +2 -4
  22. nuitka/plugins/PluginBase.py +4 -1
  23. nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
  24. nuitka/plugins/standard/DillPlugin/dill-postLoad.py +249 -0
  25. nuitka/plugins/standard/DillPlugin.py +10 -1
  26. nuitka/plugins/standard/standard.nuitka-package.config.yml +11 -0
  27. {Nuitka_winsvc-1.9.5.data → Nuitka_winsvc-1.9.6.data}/scripts/nuitka-run.bat +0 -0
  28. {Nuitka_winsvc-1.9.5.data → Nuitka_winsvc-1.9.6.data}/scripts/nuitka.bat +0 -0
  29. {Nuitka_winsvc-1.9.5.dist-info → Nuitka_winsvc-1.9.6.dist-info}/LICENSE.txt +0 -0
  30. {Nuitka_winsvc-1.9.5.dist-info → Nuitka_winsvc-1.9.6.dist-info}/WHEEL +0 -0
  31. {Nuitka_winsvc-1.9.5.dist-info → Nuitka_winsvc-1.9.6.dist-info}/entry_points.txt +0 -0
  32. {Nuitka_winsvc-1.9.5.dist-info → Nuitka_winsvc-1.9.6.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Nuitka-winsvc
3
- Version: 1.9.5
3
+ Version: 1.9.6
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-1.9.5.data/scripts/nuitka-run.bat,sha256=ueVuKYMLV9dfqkkspy_F-2cpoZginLFiPDJAaj4fKYk,901
2
- Nuitka_winsvc-1.9.5.data/scripts/nuitka.bat,sha256=0wNE1iEysZFW4i7Tlo5TL5e_fv4jDoyAzMo_LTnjv_Y,1038
1
+ Nuitka_winsvc-1.9.6.data/scripts/nuitka-run.bat,sha256=ueVuKYMLV9dfqkkspy_F-2cpoZginLFiPDJAaj4fKYk,901
2
+ Nuitka_winsvc-1.9.6.data/scripts/nuitka.bat,sha256=0wNE1iEysZFW4i7Tlo5TL5e_fv4jDoyAzMo_LTnjv_Y,1038
3
3
  nuitka/Builtins.py,sha256=API_eSf5QF-gVXcQYKTzv5Un5GSPcOVEFCy4nDT3JNw,7528
4
4
  nuitka/BytecodeCaching.py,sha256=HwdXL8IYrgvnIIg_QyWXTGsUBI9U-fB_AxxAMc5o1FM,5810
5
5
  nuitka/Bytecodes.py,sha256=yfpxDfJrYTGzGQpx9-UJ4MLUp8FTViI3dF0vcwfBC7A,3767
@@ -10,23 +10,23 @@ nuitka/HardImportRegistry.py,sha256=0cHxOOfsz4hv48d_oaqR-aLAwAOhTQ-MDlAQeLZWo_A,
10
10
  nuitka/MainControl.py,sha256=qDQGJx6LqpYG42HEStpHIau437JWnjIOml4y_djmK-8,37638
11
11
  nuitka/ModuleRegistry.py,sha256=Hq6dcnyR228oENzo1g_f3OL9oXvLMY-NZ7x8UjxuSCU,7397
12
12
  nuitka/OptionParsing.py,sha256=Ro_CfOHA-6ok_rTnH975DOK2YKgDLLdg6vVoruQoLR0,60538
13
- nuitka/Options.py,sha256=gBPPrLoXufuBZOzFhQxNo2EtpK1nk-DK6RtEA0Zx-K0,69744
13
+ nuitka/Options.py,sha256=nXE9pnDlaCb7DxeSxepCOHCrRZnihcSwpyntUV_xhOs,69946
14
14
  nuitka/OutputDirectories.py,sha256=kK-2IobI4u2KfyAHqY_W2IDo2-Vgd80NwSrhvlBH_6A,5022
15
15
  nuitka/PostProcessing.py,sha256=JutKXQevVTRAGiJA1yE-RnZ2uwzQzaXgxsVEcEHNwLc,14546
16
16
  nuitka/Progress.py,sha256=9nGTAZ46rQJ4KIcgNGQKZ9sEGJzK4trLbtvaeLJLIQg,6764
17
17
  nuitka/PythonFlavors.py,sha256=K-bi2FEKjoGo6DrZ6Rs-BSSt1EsvdIuNhNFdYfKfJAY,8307
18
18
  nuitka/PythonOperators.py,sha256=ZURjxq01Kei9hL5WPCjrHCFhrL15rZF9rJt1HHjEITA,4061
19
- nuitka/PythonVersions.py,sha256=LEFWUK4I9smD4twa6W5lcMminLE8F8oJZCRYu7Ie-0w,14270
19
+ nuitka/PythonVersions.py,sha256=hJ8J8gDe9Kfrp0iZ4cS_fIgZgNw4TQa8GkfzWXBtKVY,14524
20
20
  nuitka/Serialization.py,sha256=cPrVs7kSlHXiw-c3ar2B09k45fE1-Ex_AHT0X9vkBno,9173
21
21
  nuitka/SourceCodeReferences.py,sha256=hO9Cl-QYVTG9TspnW9_xkUbFOoVKFQt7JKD9AubXfmM,4670
22
22
  nuitka/Tracing.py,sha256=QjrkJoE5cqEnJ50ZHdscrVLOZPJm8_3pixYNlAlB7cg,12641
23
23
  nuitka/TreeXML.py,sha256=3gnyHOhUcxpGEBEel_drPW89Uysf9hkFzkb2y19-KlA,3480
24
24
  nuitka/Variables.py,sha256=dcEA7KAk2NASioIQjsF2VERYvjqNopKvw0PrYf6y2hw,15212
25
- nuitka/Version.py,sha256=RKt8ciwhQ152w0Cg634MtbjqVBkZIVF_U4vBAjScesQ,2388
25
+ nuitka/Version.py,sha256=85K-HnzmDCRZhqfEk9IB3yChYxa1xOPtidtCCkriEII,2388
26
26
  nuitka/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
27
27
  nuitka/__main__.py,sha256=6zt6foxHGZkh0EkdVkPjtqOAQedxiMsvKsgj1GUqT94,6129
28
28
  nuitka/__past__.py,sha256=fFm9_sAB580usi_aHrAHeGezskD7Ayq7plBVzqMrOQ8,5390
29
- nuitka/build/Backend.scons,sha256=k3Wd4e689EVwrlWP7Ay_KiBZ88ijAxT9GOkZ_sdZsKs,35411
29
+ nuitka/build/Backend.scons,sha256=2nr6KRqree3Qa_57nFldr5KsOUKCasEFBjXwi-5Xlag,35515
30
30
  nuitka/build/CCompilerVersion.scons,sha256=Su58Ok1ZFD3cTheiknLvnTMkjI7G3h1p7llcppH-TaA,8368
31
31
  nuitka/build/DataComposerInterface.py,sha256=UE_1aGp5xgvmSPCIaQB95vyRgioqHFVv_zTzodvvoww,3452
32
32
  nuitka/build/Onefile.scons,sha256=InXgUoAMjcT7V8Q42d1QIDh2ZNtU_hHxf5OcQCTwAYA,17593
@@ -64,7 +64,7 @@ nuitka/build/include/nuitka/incbin.h,sha256=TRcdv5KUprIKXyKr4SBYFvOVFdIKWm_dyfdl
64
64
  nuitka/build/include/nuitka/prelude.h,sha256=3dKvKPAKe4YYkoPMIEXzt-3nsOlXASqWwFD8He5uhvY,15100
65
65
  nuitka/build/include/nuitka/printing.h,sha256=iGfRD_gucWKGeQk5XWqcmjNKE8mKKqcFzO_4hULSwW8,2870
66
66
  nuitka/build/include/nuitka/python_pgo.h,sha256=0D1aTkWy0UFhrq8JAv59RGtpoOVq8WlZYDf8tRGHSlE,1761
67
- nuitka/build/include/nuitka/safe_string_ops.h,sha256=ieNEcKL45bv0P14Sirs6mZh05M3CCy5AyXH8XVVsE_M,2243
67
+ nuitka/build/include/nuitka/safe_string_ops.h,sha256=mshbo2JStGd3JKr32eDmNo5kTP9glVM4_URyEpz1Kp4,2314
68
68
  nuitka/build/include/nuitka/threading.h,sha256=P9TuPsXCtYxhDKBzy9EZmDinW_nwfi_UzedAAdHqgLY,3780
69
69
  nuitka/build/include/nuitka/tracing.h,sha256=YcYEUH8VTybQq1BvLivu_3zaMfjE2UYCZL-gOyANRI4,3418
70
70
  nuitka/build/include/nuitka/unfreezing.h,sha256=1poZGXY7TmHsylu3CgLLTNsvnuFvfeJGAja-okL1rQk,3106
@@ -396,10 +396,10 @@ nuitka/build/static_src/CompiledCellType.c,sha256=zpZEL1jHHm92RCYWC6h9ayek7dSMUw
396
396
  nuitka/build/static_src/CompiledCodeHelpers.c,sha256=2IQqB5UHxJdh7ULJAaw6K5ESTCjDySJpP16roYel3bk,57951
397
397
  nuitka/build/static_src/CompiledCoroutineType.c,sha256=8mhNzyQvdS5m1GB55guWwk0GM5kgadXXOftDHK5kXpo,73548
398
398
  nuitka/build/static_src/CompiledFrameType.c,sha256=oFsNG9ATz7Z5zFLYvPg9C-pMEYrlTSKQjZ7jdyamT1U,36739
399
- nuitka/build/static_src/CompiledFunctionType.c,sha256=qF65v3Hm2iipW_NjoSG_m87K5yGZn1vrhHmxA7ibEHM,107767
399
+ nuitka/build/static_src/CompiledFunctionType.c,sha256=LCEU-tyHNvw4mERkHGsfxEpu3dcX43rzfB1h6P2g9w0,107560
400
400
  nuitka/build/static_src/CompiledGeneratorType.c,sha256=r0w1zyuUecDg3QXWoYw16FpN97YAJJGAU4o9YRUNg7g,63557
401
401
  nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c,sha256=KBJ1eGq61B8gAv6n_OD9x1bS78x5PkbIznTxeEepbV4,56602
402
- nuitka/build/static_src/CompiledMethodType.c,sha256=QfAzI86cdJm50OW5ByQL2ekhz8-eAGvs6l9yUiFpOVo,22241
402
+ nuitka/build/static_src/CompiledMethodType.c,sha256=cCEsuEb60ghYztPTPIsNtDK_-vGEyIgnM2RC98W2pRE,22038
403
403
  nuitka/build/static_src/HelperEnvironmentVariables.c,sha256=Lrb2uJRUtH2xxwV6IwxS5EUO8ihhkElzcSG8XvrPRIE,3738
404
404
  nuitka/build/static_src/HelpersAllocator.c,sha256=0AzZCFFHG8_Kj41Nc_J-v2y26Lexz69D-f2KvBKXOs0,19025
405
405
  nuitka/build/static_src/HelpersAttributes.c,sha256=ci0kkbrm1vTm9yGaUKPyFUZfQRVbjRQ_AFXaYvEiyag,38236
@@ -410,20 +410,20 @@ nuitka/build/static_src/HelpersCalling.c,sha256=MiDSA1w83GUncbuZI6q0zkitwNJdIz0K
410
410
  nuitka/build/static_src/HelpersCallingGenerated.c,sha256=vcZ5jVKtUxwHgagkAXMX339hnlCohTL7zwUB-BCGtuc,481598
411
411
  nuitka/build/static_src/HelpersChecksumTools.c,sha256=R2CIA8OBKyW_x2LJze4InpeEccUgMX3CgmqQ9kWgkGk,2036
412
412
  nuitka/build/static_src/HelpersClasses.c,sha256=bHbS7rPMMLPKjlM6cjojXMaID2758hH7pWG-2I0dV7E,3022
413
- nuitka/build/static_src/HelpersComparisonEq.c,sha256=Sdq7HOs8Mn4sCVBGD-bCaIU936JzZr9QmddsD2EFCzU,317956
413
+ nuitka/build/static_src/HelpersComparisonEq.c,sha256=zAJMWuwj4CHrB7E10Oit9FWgyNZzvd35iSLM6DvlHdI,317968
414
414
  nuitka/build/static_src/HelpersComparisonEqUtils.c,sha256=RyGeCN37wqbN1acFv4911D6QNU4gMnUmrtVCmXmRrEM,4733
415
- nuitka/build/static_src/HelpersComparisonGe.c,sha256=y1lSgvYZNx7eztmp_pV4Zw5VQzm6bqeezAi5DWvD5wE,313003
416
- nuitka/build/static_src/HelpersComparisonGt.c,sha256=xT4CDm6ah_ecgTTJ-QFENWrT4hAw4lZrFYdSHTGUmZU,312414
417
- nuitka/build/static_src/HelpersComparisonLe.c,sha256=mWu3i_OBt1rFPJsP3Z7HCL5sP298OT_Fobo4YRKyXko,316217
418
- nuitka/build/static_src/HelpersComparisonLt.c,sha256=NnkA3xCMlF0lsu_mQGuuP90H4edvHnk8lSRheDJlgko,315628
419
- nuitka/build/static_src/HelpersComparisonNe.c,sha256=I4e6CvaVdpRzYZ04bf3mD5lCaOfyR42UG9lVANSppGc,314702
415
+ nuitka/build/static_src/HelpersComparisonGe.c,sha256=PRmd9pNvYVcP2U6Pa9RuDtXQCqbOzNHmmMp4uSnGDwA,313015
416
+ nuitka/build/static_src/HelpersComparisonGt.c,sha256=eAHmkvccWM9AhD0nkMEOFT7JH1U7WLdkzr8YAvVSEyc,312426
417
+ nuitka/build/static_src/HelpersComparisonLe.c,sha256=5QhK4gvwLSfMYxoGveAHBL3-EQZESAvX0W1YCTXKN7I,316229
418
+ nuitka/build/static_src/HelpersComparisonLt.c,sha256=-A6nQrci2i8VoltN86-BKYhnNwc0xnVV0qVZnqLL-bs,315640
419
+ nuitka/build/static_src/HelpersComparisonNe.c,sha256=ncMWPnZMlSVu766lc5tX2Sr0AJegQGum8JxgAjOyNs0,314714
420
420
  nuitka/build/static_src/HelpersConstantsBlob.c,sha256=LKcoc5L4LgePNtxG-G9SmbS3mlSkkttWWq5VYQhei2U,36747
421
421
  nuitka/build/static_src/HelpersDeepcopy.c,sha256=Pe-gd797Fg4MTF0FmvemYV7a30KMjyVQ4U9RHs3d3Aw,20332
422
422
  nuitka/build/static_src/HelpersDictionaries.c,sha256=D0e8cGTWpwDvlASz3WsPlwnTvz5JofJoal2QMWEMzCM,39555
423
423
  nuitka/build/static_src/HelpersDictionariesGenerated.c,sha256=aFzQZLuxIRftWu01X0U1UtpVs3LtLznXolhmIwqNzXM,26592
424
424
  nuitka/build/static_src/HelpersExceptions.c,sha256=8bKbTG0UbOCT1YYfVhYA7g-dxCgkaeS9Ov7UxPKy0uw,7116
425
425
  nuitka/build/static_src/HelpersFiles.c,sha256=NCQPNlyNOPx9WnfqAcNvCRhPYPBr_HNPTiixYG9j1bw,7641
426
- nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=1hMtN2T1ulOyv8qqVmtrfy1N8Kfhb8iGG60imUBeKsg,28328
426
+ nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=W_Ly3QqLd7AQ8SA5Jn4abZtt74qzeoylHNSACEoXJ0U,28329
427
427
  nuitka/build/static_src/HelpersFloats.c,sha256=LsB4wLW7Tm23hEoN4AdFYB_lxlTRJdiOpxHLpqT_f-k,2426
428
428
  nuitka/build/static_src/HelpersHeapStorage.c,sha256=M68iqxHG8GhmJWLZw7GeXfcr9l7TKvu7oKB53iZJ9EE,1774
429
429
  nuitka/build/static_src/HelpersImport.c,sha256=4ilznT-xdWxQuIw6F9dwh_LpYuwSPfZYIe1zwgx5Izs,16051
@@ -470,7 +470,7 @@ nuitka/build/static_src/HelpersOperationInplaceTruediv.c,sha256=IlOK8BNlM_FWmQoy
470
470
  nuitka/build/static_src/HelpersProfiling.c,sha256=6AgeD70Jb-eSw4ymxP4mdcpMEezYXTW1mxlYZnTMPko,3299
471
471
  nuitka/build/static_src/HelpersPythonPgo.c,sha256=Wuci-c8FdWKWKmDFoFYXGa1R6u1-vGOI-gP6X3afAlc,3811
472
472
  nuitka/build/static_src/HelpersRaising.c,sha256=6rJruNBs0mPQqQWSI-Q-IlL5y9GCFaaYE8KKiescKPc,15634
473
- nuitka/build/static_src/HelpersSafeStrings.c,sha256=Tzk7ZwGdmj0SIYB-ZZdWo5_h4QgTCuAqXB1GxZGEQog,3816
473
+ nuitka/build/static_src/HelpersSafeStrings.c,sha256=HZ9ly0cUFo8Rt6brA9mnIwwsoA5sbJfUg67Va7JG0dE,3839
474
474
  nuitka/build/static_src/HelpersSequences.c,sha256=5hbgQ5-QMF3UEjrrOXf37m6ttg1-84gk3NQImRtpeRo,3730
475
475
  nuitka/build/static_src/HelpersSlices.c,sha256=ivE0bIvvbkn2TxI-03YMHlX1OG-8VCQ8pP8eKfsZ7ls,1946
476
476
  nuitka/build/static_src/HelpersStrings.c,sha256=2d_dTc1yBsothBwDW_kAzBi7OooFiKyXzqEwL-1WXIQ,27027
@@ -478,7 +478,7 @@ nuitka/build/static_src/HelpersTuples.c,sha256=g7Rm5PkuzTHKN8i_eUoCZDb3u0S9A8sjL
478
478
  nuitka/build/static_src/HelpersTypes.c,sha256=izc0qjeJlYn9lph-P1TsD_SPeBGhaIbrqWG9c00Chjg,5599
479
479
  nuitka/build/static_src/InspectPatcher.c,sha256=qLlhdd7KwSz_VVT-QAqBrl8c5VE-8NkKwFk_DB1vN6w,12107
480
480
  nuitka/build/static_src/MainProgram.c,sha256=3CNavXG290Lbtilw90H6fX-RPFllhAMN4Js7Ob50QP8,52610
481
- nuitka/build/static_src/MetaPathBasedLoader.c,sha256=RjL4cpSer3gTM0JqwLQ00poOdtf5jcY7LIoyjIU6Knk,63235
481
+ nuitka/build/static_src/MetaPathBasedLoader.c,sha256=vJeudn7NQ3-J8AKM0db9j6iZLHpMKs7l291W7yvdwFo,63245
482
482
  nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c,sha256=jzKD-Qg6wG1NsiMYAy5XQp6GRvk0gQ1P8a9JrFi8ntI,4798
483
483
  nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c,sha256=QjXTcPYrEdJCTffiEbu_-3SnxpBn73b3Fc93WvVO20g,6622
484
484
  nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c,sha256=H6vtnpCSCM0cSe9nrtNx0BNHjW6zcmyyVVQ0ojiQcSY,21867
@@ -567,7 +567,7 @@ nuitka/code_generation/templates/CodeTemplatesFunction.py,sha256=CNQi1wHTP_7uO8w
567
567
  nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py,sha256=8BwEathqo8x9uiRtsdlrFKnR__4gnNJCdIhrtoLdS54,3337
568
568
  nuitka/code_generation/templates/CodeTemplatesIterators.py,sha256=VBgVHoAWhAryHS09QOdFo0R1WCSxZY_ThMIi0_a1yGc,2377
569
569
  nuitka/code_generation/templates/CodeTemplatesLoader.py,sha256=ejXbuOJal4r7xiUFkeosQCxydF2dshkMl6m4e4ISlG0,4503
570
- nuitka/code_generation/templates/CodeTemplatesModules.py,sha256=SVkO5gsA48Xg9tJAslvCYt6oDz8ai8-RdiNgPRmQs7A,21115
570
+ nuitka/code_generation/templates/CodeTemplatesModules.py,sha256=hYSNam4-9cxsJgNP7SktLTx3CoezV4jXzh0p_VPgeow,21306
571
571
  nuitka/code_generation/templates/CodeTemplatesVariables.py,sha256=Bci9l_bl0VniyHGN0KJAl-2WuhJ-KzNbC2WfwY_Gnyc,6768
572
572
  nuitka/code_generation/templates/TemplateDebugWrapper.py,sha256=0A9EH36wvCHkIRc-8aJFZVz0mkuh52Gfsa0NTwAfSb0,2475
573
573
  nuitka/code_generation/templates/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
@@ -580,7 +580,7 @@ nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2,sha256=5rvW8oQ
580
580
  nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2,sha256=QCsqiRNT3e-O8nA6n66OWWKB9KrZbXd7UCMFL64KE3o,2856
581
581
  nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2,sha256=e-iG-XuVZIntGDThn9LQGwEA80rcGVy0y9DzNZarpzc,13774
582
582
  nuitka/code_generation/templates_c/HelperImportHard.c.j2,sha256=2xLdu2T5wQgfMbcpvM1tsvvehocEMUF0Izt-3aWoqOs,2044
583
- nuitka/code_generation/templates_c/HelperLongTools.c.j2,sha256=ONJg3NJwvp2aoOr8jJpb0e_HSeUVLRLmShNbKIH-L2E,2762
583
+ nuitka/code_generation/templates_c/HelperLongTools.c.j2,sha256=BiGuelhSCeKKHiyQ4nR5DHZZGii5NFzM7P8pH82Ik0s,2768
584
584
  nuitka/code_generation/templates_c/HelperObjectTools.c.j2,sha256=NtA_GIE5xHJg4INUbxkTS2MGdUM9pbCzpoUM4c3BVZ8,1544
585
585
  nuitka/code_generation/templates_c/HelperOperationBinary.c.j2,sha256=_EZ4qU8O-ajndUZeN_jKtmeo7gV1iWFY7tLhuvcZFb8,7197
586
586
  nuitka/code_generation/templates_c/HelperOperationComparison.c.j2,sha256=5haHW_QITtjjS6Aug2965SKA2Ouax3BsrGBoBOwX-Sg,12850
@@ -704,7 +704,7 @@ nuitka/nodes/OperatorNodes.py,sha256=0KP0pZhOVw-4vRFdJ4doYOsVGxrzO51ljs3lnsaxbqg
704
704
  nuitka/nodes/OperatorNodesUnary.py,sha256=jn67kN7VrTPkpLi90Ae2STGwmXBr_c9y4Jzz33MxzQQ,8942
705
705
  nuitka/nodes/OsSysNodes.py,sha256=Lf0tCb9-8-EEW3ACQWCSOWfqHFD3sZFNtt7wBs_gDfQ,4202
706
706
  nuitka/nodes/OutlineNodes.py,sha256=f4YNDlblKC8d1AHVGI0Kb1BhJzPGtHPKnWz9UOuBrBo,12435
707
- nuitka/nodes/PackageMetadataNodes.py,sha256=jdvNbw8h5jSES1SuHm1T_4DHdBMProB_tzwWjvaii_o,34766
707
+ nuitka/nodes/PackageMetadataNodes.py,sha256=PCF2nUW_3lk9PfiktV3EI9KJzRW1cZGORJmSdXIrcpE,34703
708
708
  nuitka/nodes/PackageResourceNodes.py,sha256=ZijBGYgA06iPEnjRc0iavWNwz3PbyFJkZjXp6hW9Tbc,12208
709
709
  nuitka/nodes/PrintNodes.py,sha256=5QEvrX9ONOLIMVgojxBmQRUg6JRq0-w-_SjMBAibY8w,3407
710
710
  nuitka/nodes/ReturnNodes.py,sha256=i5vHloxJ5reYQa9bAcOdRmr6Bw8GeoGjHz5WPq6kfL4,6772
@@ -741,14 +741,14 @@ nuitka/optimizations/ValueTraces.py,sha256=VcdxfSwaVvfavj4bMucGKnUHLPcZays4AInK9
741
741
  nuitka/optimizations/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
742
742
  nuitka/pgo/PGO.py,sha256=_clue7LpdJCfqNLu2l8diVwqPll8AzxFBNSp_EOty7M,4899
743
743
  nuitka/pgo/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
744
- nuitka/plugins/PluginBase.py,sha256=4Yt9AhSUBvary8nxSvEGewRAvnfyJ3ADsWs82kS40xY,43029
744
+ nuitka/plugins/PluginBase.py,sha256=R0tl8JLD1Xm4gHRbQ0exbaaQlxsNz_T7wtzTfbVNwsg,43111
745
745
  nuitka/plugins/Plugins.py,sha256=kNjzDAWOY3rsjCzOFgqctj-ArNyGTnNehRuG6VUlwi0,59215
746
746
  nuitka/plugins/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
747
747
  nuitka/plugins/standard/AntiBloatPlugin.py,sha256=Vg_J6j2dn173yLMYdiqlpQ8-3ri0pDNk_e62o0z1W8Q,26766
748
748
  nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py,sha256=Qmad4nTfbVd-XogAYeVTIhV94uw2wGrpJpFzMYxOV_A,3477
749
749
  nuitka/plugins/standard/DataFilesPlugin.py,sha256=yaB_jLBGyPIl85_Sy7fnC14iuD1mN5U6swkQPAKhggY,10383
750
750
  nuitka/plugins/standard/DelvewheelPlugin.py,sha256=DxMPCIv4j03LI_CqIW3RatsB4e0B3YpkmEKySAkjnPU,5017
751
- nuitka/plugins/standard/DillPlugin.py,sha256=wItDo1v-B5dbGApvzuayDwiPvAr5zR5Rhx7UA5T_GK0,1725
751
+ nuitka/plugins/standard/DillPlugin.py,sha256=6ILUKlix5Y-0UlDCy55SAeyravFEOnSbJmqwsDb0FMk,2088
752
752
  nuitka/plugins/standard/DllFilesPlugin.py,sha256=wSGGfic_3jQJo8hKKdjJHZiuZezpoRXdrFiLygUSmwk,15334
753
753
  nuitka/plugins/standard/EnumPlugin.py,sha256=F8YTbMSP3llBVfDvgTo_7x9VUDQwxBskHuF9iSu1hto,2062
754
754
  nuitka/plugins/standard/EventletPlugin.py,sha256=k12dCxirk7GyAfb9Sibo8YcuUX3curjj8aBjyzp631M,1905
@@ -773,9 +773,11 @@ nuitka/plugins/standard/TransformersPlugin.py,sha256=XRUBuSkv7-yUb9HJ8QyM4J8cCM-
773
773
  nuitka/plugins/standard/TrioPlugin.py,sha256=1zkgZP5KFJ4xXhnh2poTD3zXv7ywBEeNE9hfYEbgVG8,1073
774
774
  nuitka/plugins/standard/UpxPlugin.py,sha256=bdYp-nBs3mI-fUeZ_icnRzW3TtTk3wSYJQWjlr5UEBA,5640
775
775
  nuitka/plugins/standard/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
776
- nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=yUa0hi-QtWXufzm6OwuQtiFObhAMF1hI5WpwTGE4yCo,190760
776
+ nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=vXouPSCkotLlGiDrSmIntOS_3feiJsMxObp5Q0YnbFs,190997
777
777
  nuitka/plugins/standard/stdlib2.nuitka-package.config.yml,sha256=ZQOgPAmYq0sqpi2Hn2D6tmKyHN9FurrPfhG8XpTxbyw,2067
778
778
  nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=j3Zxxcd2PRsCirzGTSkbAJ5v-Cp_cqExGOFEExK51uk,11122
779
+ nuitka/plugins/standard/DillPlugin/DillPlugin.c,sha256=o-NsdS4IulVQ2DQS0N2Si2aZFxE9ogKehbHM8uc2Jjc,1617
780
+ nuitka/plugins/standard/DillPlugin/dill-postLoad.py,sha256=Zliyr5-SovSueSqXYK9qPa3q_A27BRtAd9AKgJj4HHY,9587
779
781
  nuitka/reports/CompilationReportReader.py,sha256=6EYWAZm8ELDWaob-WK0CNVwmAnB_HMKv3i_DZIznFpo,1887
780
782
  nuitka/reports/LicenseReport.rst.j2,sha256=Hr7NBNb-bB3nnAx254QACjYhzOeqceMHQ0B3wwrd6WU,2239
781
783
  nuitka/reports/Reports.py,sha256=NY56pN-53msKRoWBhE28AkvI6sulqu1sX7AgOAfhKU4,24483
@@ -906,9 +908,9 @@ nuitka/utils/WindowsFileUsage.py,sha256=-HWxgeimCX2pz6oAUI0T7wSJN1tbk8XyIzPywdd0
906
908
  nuitka/utils/WindowsResources.py,sha256=Nf4DRlj7bQrdDXPNKqujqZCbppNx7xrdHuUP7pjVixc,19804
907
909
  nuitka/utils/Yaml.py,sha256=qf1IANYYNNS7gM3GEy4M_I9_2WELkd8MFHsxc5rgfco,6371
908
910
  nuitka/utils/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
909
- Nuitka_winsvc-1.9.5.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
910
- Nuitka_winsvc-1.9.5.dist-info/METADATA,sha256=q6DRRcC-cNfYgWHUBZTkSzTpttjwoB-owHGGnvn3DsM,4909
911
- Nuitka_winsvc-1.9.5.dist-info/WHEEL,sha256=j9Aissza3750LQHFAQyYerNjmkEON1-8w_RaZNFtKSs,102
912
- Nuitka_winsvc-1.9.5.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
913
- Nuitka_winsvc-1.9.5.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
914
- Nuitka_winsvc-1.9.5.dist-info/RECORD,,
911
+ Nuitka_winsvc-1.9.6.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
912
+ Nuitka_winsvc-1.9.6.dist-info/METADATA,sha256=N90ifmyC8FEsoGOkmWEdik3aQeuJE9GRfb6m0MAgidA,4909
913
+ Nuitka_winsvc-1.9.6.dist-info/WHEEL,sha256=j9Aissza3750LQHFAQyYerNjmkEON1-8w_RaZNFtKSs,102
914
+ Nuitka_winsvc-1.9.6.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
915
+ Nuitka_winsvc-1.9.6.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
916
+ Nuitka_winsvc-1.9.6.dist-info/RECORD,,
nuitka/Options.py CHANGED
@@ -366,7 +366,12 @@ Error, the Python from Windows app store is not supported.""",
366
366
  if options.is_onefile:
367
367
  options.is_standalone = True
368
368
 
369
- # Standalone implies no_site build
369
+ # macOS bundle implies standalone build.
370
+ if shallCreateAppBundle():
371
+ options.is_standalone = True
372
+
373
+ # Standalone implies no_site build unless overridden, therefore put it
374
+ # at start of flags, so "site" can override it.
370
375
  if options.is_standalone:
371
376
  options.python_flags.insert(0, "no_site")
372
377
 
nuitka/PythonVersions.py CHANGED
@@ -331,6 +331,12 @@ def getSystemPrefixPath():
331
331
 
332
332
  sys_prefix = getDirectoryRealPath(sys_prefix)
333
333
 
334
+ # Self-compiled Python version in source tree
335
+ if os.path.isdir(
336
+ os.path.join(os.path.dirname(os.path.realpath(sys.executable)), "PCbuild")
337
+ ):
338
+ sys_prefix = os.path.dirname(os.path.realpath(sys.executable))
339
+
334
340
  _the_sys_prefix = sys_prefix
335
341
 
336
342
  return _the_sys_prefix
nuitka/Version.py CHANGED
@@ -20,7 +20,7 @@
20
20
  """
21
21
 
22
22
  version_string = """\
23
- Nuitka V1.9.5
23
+ Nuitka V1.9.6
24
24
  Copyright (C) 2023 Kay Hayen."""
25
25
 
26
26
 
@@ -599,6 +599,8 @@ def _detectPythonHeaderPath():
599
599
  os.path.join(
600
600
  python_prefix_external, "include", "python" + python_abi_version
601
601
  ),
602
+ # CPython source code checkout
603
+ os.path.join(python_prefix_external, "Include"),
602
604
  # Haiku specific paths:
603
605
  os.path.join(
604
606
  python_prefix_external, "develop/headers", "python" + python_abi_version
@@ -40,9 +40,11 @@ extern void appendWStringSafeW(wchar_t *target, wchar_t const *source, size_t bu
40
40
  /* Get OS error code and print it to stderr. */
41
41
  #ifdef _WIN32
42
42
  typedef DWORD error_code_t;
43
+ #define ERROR_CODE_FORMAT_STR "%ld"
43
44
  static inline error_code_t getCurrentErrorCode(void) { return GetLastError(); }
44
45
  #else
45
46
  typedef int error_code_t;
47
+ #define ERROR_CODE_FORMAT_STR "%d"
46
48
  static inline error_code_t getCurrentErrorCode(void) { return errno; }
47
49
  #endif
48
50
  extern void printOSErrorMessage(char const *message, error_code_t error_code);
@@ -909,11 +909,6 @@ void _initCompiledFunctionType(void) {
909
909
  }
910
910
  }
911
911
  #endif
912
-
913
- #ifdef _NUITKA_PLUGIN_DILL_ENABLED
914
- // TODO: Move this to a __nuitka__ module maybe
915
- PyObject_SetAttrString((PyObject *)builtin_module, "compiled_function", (PyObject *)&Nuitka_Function_Type);
916
- #endif
917
912
  }
918
913
 
919
914
  // Shared implementations for empty functions. When a function body is empty, but
@@ -559,11 +559,6 @@ PyTypeObject Nuitka_Method_Type = {
559
559
 
560
560
  void _initCompiledMethodType(void) {
561
561
  Nuitka_PyType_Ready(&Nuitka_Method_Type, &PyMethod_Type, false, true, false, false, false);
562
-
563
- #ifdef _NUITKA_PLUGIN_DILL_ENABLED
564
- // TODO: Move this to a __nuitka__ module maybe
565
- PyObject_SetAttrString((PyObject *)builtin_module, "compiled_method", (PyObject *)&Nuitka_Method_Type);
566
- #endif
567
562
  }
568
563
 
569
564
  PyObject *Nuitka_Method_New(struct Nuitka_FunctionObject *function, PyObject *object, PyObject *klass) {
@@ -11770,7 +11770,7 @@ static PyObject *COMPARE_EQ_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
11770
11770
  }
11771
11771
 
11772
11772
  Py_ssize_t operand2_digit_count = 0;
11773
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11773
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11774
11774
  {
11775
11775
  unsigned long t = operand2_abs_ival;
11776
11776
 
@@ -11832,7 +11832,7 @@ static bool COMPARE_EQ_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
11832
11832
  }
11833
11833
 
11834
11834
  Py_ssize_t operand2_digit_count = 0;
11835
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11835
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11836
11836
  {
11837
11837
  unsigned long t = operand2_abs_ival;
11838
11838
 
@@ -11573,7 +11573,7 @@ static PyObject *COMPARE_GE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
11573
11573
  }
11574
11574
 
11575
11575
  Py_ssize_t operand2_digit_count = 0;
11576
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11576
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11577
11577
  {
11578
11578
  unsigned long t = operand2_abs_ival;
11579
11579
 
@@ -11637,7 +11637,7 @@ static bool COMPARE_GE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
11637
11637
  }
11638
11638
 
11639
11639
  Py_ssize_t operand2_digit_count = 0;
11640
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11640
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11641
11641
  {
11642
11642
  unsigned long t = operand2_abs_ival;
11643
11643
 
@@ -11557,7 +11557,7 @@ static PyObject *COMPARE_GT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
11557
11557
  }
11558
11558
 
11559
11559
  Py_ssize_t operand2_digit_count = 0;
11560
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11560
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11561
11561
  {
11562
11562
  unsigned long t = operand2_abs_ival;
11563
11563
 
@@ -11621,7 +11621,7 @@ static bool COMPARE_GT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
11621
11621
  }
11622
11622
 
11623
11623
  Py_ssize_t operand2_digit_count = 0;
11624
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11624
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11625
11625
  {
11626
11626
  unsigned long t = operand2_abs_ival;
11627
11627
 
@@ -11659,7 +11659,7 @@ static PyObject *COMPARE_LE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
11659
11659
  }
11660
11660
 
11661
11661
  Py_ssize_t operand2_digit_count = 0;
11662
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11662
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11663
11663
  {
11664
11664
  unsigned long t = operand2_abs_ival;
11665
11665
 
@@ -11723,7 +11723,7 @@ static bool COMPARE_LE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
11723
11723
  }
11724
11724
 
11725
11725
  Py_ssize_t operand2_digit_count = 0;
11726
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11726
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11727
11727
  {
11728
11728
  unsigned long t = operand2_abs_ival;
11729
11729
 
@@ -11643,7 +11643,7 @@ static PyObject *COMPARE_LT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
11643
11643
  }
11644
11644
 
11645
11645
  Py_ssize_t operand2_digit_count = 0;
11646
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11646
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11647
11647
  {
11648
11648
  unsigned long t = operand2_abs_ival;
11649
11649
 
@@ -11707,7 +11707,7 @@ static bool COMPARE_LT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
11707
11707
  }
11708
11708
 
11709
11709
  Py_ssize_t operand2_digit_count = 0;
11710
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11710
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11711
11711
  {
11712
11712
  unsigned long t = operand2_abs_ival;
11713
11713
 
@@ -11681,7 +11681,7 @@ static PyObject *COMPARE_NE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
11681
11681
  }
11682
11682
 
11683
11683
  Py_ssize_t operand2_digit_count = 0;
11684
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11684
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11685
11685
  {
11686
11686
  unsigned long t = operand2_abs_ival;
11687
11687
 
@@ -11742,7 +11742,7 @@ static bool COMPARE_NE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
11742
11742
  }
11743
11743
 
11744
11744
  Py_ssize_t operand2_digit_count = 0;
11745
- digit operand2_digits[5]; // Could be more minimal and depend on sizeof(digit)
11745
+ digit operand2_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
11746
11746
  {
11747
11747
  unsigned long t = operand2_abs_ival;
11748
11748
 
@@ -749,7 +749,7 @@ bool expandTemplatePathW(wchar_t *target, wchar_t const *source, size_t buffer_s
749
749
  }
750
750
  } else if (wcsicmp(var_name, L"PID") == 0) {
751
751
  char pid_buffer[128];
752
- snprintf(pid_buffer, sizeof(pid_buffer), "%d", GetCurrentProcessId());
752
+ snprintf(pid_buffer, sizeof(pid_buffer), "%ld", GetCurrentProcessId());
753
753
 
754
754
  appendStringSafeW(target, pid_buffer, buffer_size);
755
755
  } else if (wcsicmp(var_name, L"HOME") == 0) {
@@ -133,7 +133,7 @@ void printOSErrorMessage(char const *message, error_code_t error_code) {
133
133
  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL,
134
134
  error_code, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPTSTR)&err_buffer, 0, NULL);
135
135
 
136
- fprintf(stderr, "%s ([Error %d] %s)\n", message, error_code, err_buffer);
136
+ fprintf(stderr, "%s ([Error " ERROR_CODE_FORMAT_STR "] %s)\n", message, error_code, err_buffer);
137
137
  #else
138
138
  fprintf(stderr, "%s: %s\n", message, strerror(error_code));
139
139
  #endif
@@ -64,7 +64,7 @@ static inline bool isVerbose(void) { return false; }
64
64
  static struct Nuitka_MetaPathBasedLoaderEntry *loader_entries = NULL;
65
65
 
66
66
  static bool hasFrozenModule(char const *name) {
67
- for (struct _frozen const *p = PyImport_FrozenModules;; p++) {
67
+ for (struct _frozen const *p = PyImport_FrozenModules; p != NULL; p++) {
68
68
  if (p->name == NULL) {
69
69
  return false;
70
70
  }
@@ -308,6 +308,13 @@ PyObject *modulecode_%(module_identifier)s(PyThreadState *tstate, PyObject *modu
308
308
  init_done = true;
309
309
  }
310
310
 
311
+ #if defined(_NUITKA_MODULE) && %(is_top)d
312
+ PyObject *pre_load = IMPORT_EMBEDDED_MODULE(tstate, %(module_name_cstr)s "-preLoad");
313
+ if (pre_load == NULL) {
314
+ return NULL;
315
+ }
316
+ #endif
317
+
311
318
  // PRINT_STRING("in init%(module_identifier)s\n");
312
319
 
313
320
  moduledict_%(module_identifier)s = MODULE_DICT(module_%(module_identifier)s);
@@ -324,10 +331,6 @@ PyObject *modulecode_%(module_identifier)s(PyThreadState *tstate, PyObject *modu
324
331
 
325
332
  registerDillPluginTables(tstate, module_name_c, &_method_def_reduce_compiled_function, &_method_def_create_compiled_function);
326
333
  }
327
-
328
-
329
-
330
-
331
334
  #endif
332
335
 
333
336
  // Set "__compiled__" to what version information we have.
@@ -31,7 +31,7 @@
31
31
  }
32
32
 
33
33
  Py_ssize_t {{operand}}_digit_count = 0;
34
- digit {{operand}}_digits[5]; // Could be more minimal and depend on sizeof(digit)
34
+ digit {{operand}}_digits[5] = {0}; // Could be more minimal and depend on sizeof(digit)
35
35
  {
36
36
  unsigned long t = {{operand}}_abs_ival;
37
37
 
@@ -85,10 +85,8 @@ class ExpressionPkgResourcesRequireCall(ExpressionPkgResourcesRequireCallBase):
85
85
  resources_module.extern.packaging.requirements.InvalidRequirement
86
86
  )
87
87
  except AttributeError:
88
- # Debian removes "extern.packaging" in some versions
89
- import packaging
90
-
91
- InvalidRequirement = packaging.requirements.InvalidRequirement
88
+ # Very old versions of pkg_resources do not have it
89
+ InvalidRequirement = TypeError
92
90
 
93
91
  args = tuple(
94
92
  element.getCompileTimeConstant() for element in self.subnode_requirements
@@ -1087,8 +1087,11 @@ except ImportError:
1087
1087
  if shallShowExecutedCommands():
1088
1088
  self.info("Executing query command:\n%s" % cmd)
1089
1089
 
1090
+ env = dict(os.environ)
1091
+ env["PYTHONIOENCODING"] = "utf8"
1092
+
1090
1093
  try:
1091
- feedback = check_output([sys.executable, "-c", cmd])
1094
+ feedback = check_output([sys.executable, "-c", cmd], env=env)
1092
1095
  except NuitkaCalledProcessError as e:
1093
1096
  if e.returncode == 38:
1094
1097
  return None
@@ -0,0 +1,37 @@
1
+ // Copyright 2023, Kay Hayen, mailto:kay.hayen@gmail.com
2
+ //
3
+ // Part of "Nuitka", an optimizing Python compiler that is compatible and
4
+ // integrates with CPython, but also works on its own.
5
+ //
6
+ // Licensed under the Apache License, Version 2.0 (the "License");
7
+ // you may not use this file except in compliance with the License.
8
+ // You may obtain a copy of the License at
9
+ //
10
+ // http://www.apache.org/licenses/LICENSE-2.0
11
+ //
12
+ // Unless required by applicable law or agreed to in writing, software
13
+ // distributed under the License is distributed on an "AS IS" BASIS,
14
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ // See the License for the specific language governing permissions and
16
+ // limitations under the License.
17
+ //
18
+ // C code for use when the dill-plugin is active
19
+
20
+ #include "nuitka/prelude.h"
21
+
22
+ void registerDillPluginTables(PyThreadState *tstate, char const *module_name, PyMethodDef *reduce_compiled_function,
23
+ PyMethodDef *create_compiled_function) {
24
+ PyObject *function_tables = PyObject_GetAttrString((PyObject *)builtin_module, "compiled_function_tables");
25
+
26
+ if (function_tables == NULL) {
27
+ CLEAR_ERROR_OCCURRED(tstate);
28
+
29
+ function_tables = MAKE_DICT_EMPTY();
30
+ PyObject_SetAttrString((PyObject *)builtin_module, "compiled_function_tables", function_tables);
31
+ }
32
+
33
+ PyObject *funcs =
34
+ MAKE_TUPLE2_0(PyCFunction_New(reduce_compiled_function, NULL), PyCFunction_New(create_compiled_function, NULL));
35
+
36
+ PyDict_SetItemString(function_tables, module_name, funcs);
37
+ }
@@ -0,0 +1,249 @@
1
+ # Copyright 2023, Kay Hayen, mailto:kay.hayen@gmail.com
2
+ #
3
+ # Part of "Nuitka", an optimizing Python compiler that is compatible and
4
+ # integrates with CPython, but also works on its own.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ # Plugin dill-compat has this as post load code for the "dill" package.
19
+ # Not supposed to be good code,
20
+ # pylint: disable=invalid-name,missing-module-docstring,protected-access,too-many-branches,too-many-statements
21
+ from types import CodeType
22
+
23
+ # spell-checker: ignore kwdefaults,globalvars
24
+ # Nuitka will optimize this away, but VS code will warn about them otherwise.
25
+ from typing import TYPE_CHECKING
26
+
27
+ import dill._dill
28
+
29
+ if str is bytes:
30
+ import __builtin__ as builtins # Python2 code, pylint: disable=import-error
31
+ else:
32
+ import builtins
33
+
34
+ if TYPE_CHECKING:
35
+ compiled_function_tables = {}
36
+
37
+
38
+ class ForCompiledTypeLookups:
39
+ def for_compiled_type(self):
40
+ pass
41
+
42
+
43
+ compiled_function = type(ForCompiledTypeLookups.for_compiled_type)
44
+ compiled_method = type(ForCompiledTypeLookups().for_compiled_type)
45
+ assert "__compiled__" in globals()
46
+
47
+ dill_version = tuple(int(d) for d in dill.__version__.split("."))
48
+
49
+
50
+ # Compiled methods need to be created.
51
+ @dill.register(compiled_method)
52
+ def save_compiled_method(pickler, obj):
53
+ if str is not bytes:
54
+ pickler.save_reduce(compiled_method, (obj.__func__, obj.__self__), obj=obj)
55
+ else:
56
+ pickler.save_reduce(
57
+ compiled_method, (obj.im_func, obj.im_self, obj.im_class), obj=obj
58
+ )
59
+
60
+
61
+ if str is bytes:
62
+
63
+ def _create_compiled_function2(module_name, func_values, func_dict, func_defaults):
64
+ if module_name not in compiled_function_tables:
65
+ __import__(module_name)
66
+
67
+ # This gets the "_create_compiled_function" of the module and calls it.
68
+ func = compiled_function_tables[module_name][1](*func_values)
69
+ if func_dict:
70
+ for key, value in func_dict.items():
71
+ func[key] = value
72
+
73
+ func.__defaults__ = func_defaults
74
+
75
+ return func
76
+
77
+
78
+ if str is not bytes:
79
+
80
+ def _create_compiled_function3(
81
+ module_name, func_values, func_dict, func_defaults, func_kwdefaults
82
+ ):
83
+ if module_name not in compiled_function_tables:
84
+ __import__(module_name)
85
+
86
+ func = compiled_function_tables[module_name][1](*func_values)
87
+ if func_dict:
88
+ for key, value in func_dict.items():
89
+ func[key] = value
90
+
91
+ func.__defaults__ = func_defaults
92
+ func.__kwdefaults__ = func_kwdefaults
93
+
94
+ return func
95
+
96
+
97
+ # Compiled methods might have to be created as well. This is very closely following
98
+ # the code of "dill._dill.save_function" that is intended to do things for the
99
+ # uncompiled function.
100
+ @dill.register(compiled_function)
101
+ def save_compiled_function(pickler, obj):
102
+ # Complex beast, pylint: disable=too-many-locals
103
+
104
+ if dill_version >= (0, 3):
105
+ if not dill._dill._locate_function(obj, pickler):
106
+ if type(obj.__code__) is not CodeType:
107
+ # Some PyPy builtin functions have no module name, and thus are not
108
+ # able to be located
109
+ module_name = getattr(obj, "__module__", None)
110
+ if module_name is None:
111
+ module_name = builtins.__name__
112
+
113
+ _module = dill._dill._import_module(module_name, safe=True)
114
+
115
+ _recurse = getattr(pickler, "_recurse", None)
116
+ _postproc = getattr(pickler, "_postproc", None)
117
+ _main_modified = getattr(pickler, "_main_modified", None)
118
+ _original_main = getattr(pickler, "_original_main", builtins)
119
+
120
+ postproc_list = []
121
+ if _recurse:
122
+ # recurse to get all globals referred to by obj
123
+ from dill.detect import globalvars
124
+
125
+ globs_copy = globalvars(obj, recurse=True, builtin=True)
126
+
127
+ # Add the name of the module to the globs dictionary to prevent
128
+ # the duplication of the dictionary. Pickle the unpopulated
129
+ # globals dictionary and set the remaining items after the function
130
+ # is created to correctly handle recursion.
131
+ globs = {"__name__": obj.__module__}
132
+ else:
133
+ globs_copy = obj.__globals__
134
+
135
+ # If the globals is the __dict__ from the module being saved as a
136
+ # session, substitute it by the dictionary being actually saved.
137
+ if _main_modified and globs_copy is _original_main.__dict__:
138
+ globs_copy = getattr(pickler, "_main", _original_main).__dict__
139
+ globs = globs_copy
140
+ # If the globals is a module __dict__, do not save it in the pickle.
141
+ elif (
142
+ globs_copy is not None
143
+ and obj.__module__ is not None
144
+ and getattr(
145
+ dill._dill._import_module(obj.__module__, True),
146
+ "__dict__",
147
+ None,
148
+ )
149
+ is globs_copy
150
+ ):
151
+ globs = globs_copy
152
+ else:
153
+ globs = {"__name__": obj.__module__}
154
+
155
+ if globs_copy is not None and globs is not globs_copy:
156
+ # In the case that the globals are copied, we need to ensure that
157
+ # the globals dictionary is updated when all objects in the
158
+ # dictionary are already created.
159
+ glob_ids = {id(g) for g in globs_copy.values()}
160
+ for stack_element in _postproc:
161
+ if stack_element in glob_ids:
162
+ _postproc[stack_element].append(
163
+ (dill._dill._setitems, (globs, globs_copy))
164
+ )
165
+ break
166
+ else:
167
+ postproc_list.append((dill._dill._setitems, (globs, globs_copy)))
168
+
169
+ state_dict = {}
170
+ for fattrname in ("__doc__", "__kwdefaults__", "__annotations__"):
171
+ fattr = getattr(obj, fattrname, None)
172
+ if fattr is not None:
173
+ state_dict[fattrname] = fattr
174
+ if obj.__qualname__ != obj.__name__:
175
+ state_dict["__qualname__"] = obj.__qualname__
176
+ if "__name__" not in globs or obj.__module__ != globs["__name__"]:
177
+ state_dict["__module__"] = obj.__module__
178
+
179
+ pickler.save_reduce(
180
+ _create_compiled_function3,
181
+ (
182
+ obj.__module__,
183
+ # This gets the "_reduce_compiled_function" of the module and calls it.
184
+ compiled_function_tables[obj.__module__][0](obj),
185
+ obj.__dict__,
186
+ obj.__defaults__,
187
+ obj.__kwdefaults__,
188
+ ),
189
+ )
190
+ else:
191
+ name = getattr(obj, "__qualname__", getattr(obj, "__name__", None))
192
+ dill._dill.StockPickler.save_global(pickler, obj, name=name)
193
+ else:
194
+ if not dill._dill._locate_function(obj):
195
+ stack = dill._dill.stack
196
+
197
+ _byref = getattr(pickler, "_byref", None)
198
+ _recurse = getattr(pickler, "_recurse", None)
199
+ _memo = (id(obj) in stack) and (_recurse is not None)
200
+ stack[id(obj)] = len(stack), obj
201
+
202
+ if str is not bytes:
203
+ # Python3
204
+ _super = ("super" in getattr(obj.__code__, "co_names", ())) and (
205
+ _byref is not None
206
+ )
207
+ if _super:
208
+ pickler._byref = True
209
+ if _memo:
210
+ pickler._recurse = False
211
+
212
+ pickler.save_reduce(
213
+ _create_compiled_function3,
214
+ (
215
+ obj.__module__,
216
+ compiled_function_tables[obj.__module__][0](obj),
217
+ obj.__dict__,
218
+ obj.__defaults__,
219
+ obj.__kwdefaults__,
220
+ ),
221
+ )
222
+ else:
223
+ # Python2
224
+ _super = (
225
+ ("super" in getattr(obj.__code__, "co_names", ()))
226
+ and (_byref is not None)
227
+ and getattr(pickler, "_recurse", False)
228
+ )
229
+ if _super:
230
+ pickler._byref = True
231
+ if _memo:
232
+ pickler._recurse = False
233
+
234
+ pickler.save_reduce(
235
+ _create_compiled_function2,
236
+ (
237
+ obj.__module__,
238
+ compiled_function_tables[obj.__module__][0](obj),
239
+ obj.__dict__,
240
+ obj.__defaults__,
241
+ ),
242
+ )
243
+
244
+ if _super:
245
+ pickler._byref = _byref
246
+ if _memo:
247
+ pickler._recurse = _recurse
248
+ else:
249
+ dill._dill.StockPickler.save_global(pickler, obj)
@@ -19,6 +19,7 @@
19
19
 
20
20
  """
21
21
 
22
+ from nuitka.Options import shallMakeModule
22
23
  from nuitka.plugins.PluginBase import NuitkaPluginBase
23
24
 
24
25
 
@@ -36,7 +37,15 @@ class NuitkaPluginDillWorkarounds(NuitkaPluginBase):
36
37
  def createPostModuleLoadCode(self, module):
37
38
  full_name = module.getFullName()
38
39
 
39
- if full_name == "dill":
40
+ if full_name == "dill" and not shallMakeModule():
41
+ return (
42
+ self.getPluginDataFileContents("dill-postLoad.py"),
43
+ """\
44
+ Extending "dill" for compiled types to be pickle-able as well.""",
45
+ )
46
+
47
+ def createPreModuleLoadCode(self, module):
48
+ if shallMakeModule() and module.isTopModule():
40
49
  return (
41
50
  self.getPluginDataFileContents("dill-postLoad.py"),
42
51
  """\
@@ -640,6 +640,10 @@
640
640
  'comtypes': 'ignore'
641
641
 
642
642
  - module-name: 'curl_cffi'
643
+ data-files:
644
+ patterns:
645
+ - 'cacert.pem'
646
+
643
647
  implicit-imports:
644
648
  - depends:
645
649
  - '_cffi_backend'
@@ -5534,6 +5538,13 @@
5534
5538
  - depends:
5535
5539
  - '._*'
5536
5540
 
5541
+ - module-name: 'tf_keras.src.utils.vis_utils'
5542
+ anti-bloat:
5543
+ - description: 'remove IPython reference'
5544
+ no-auto-follow:
5545
+ 'IPython': 'ignore'
5546
+ when: 'not use_ipython'
5547
+
5537
5548
  - module-name: 'thinc.backends.cblas'
5538
5549
  implicit-imports:
5539
5550
  - depends: