Nuitka-winsvc 1.7.3__cp310-cp310-win_amd64.whl → 1.7.5__cp310-cp310-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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Nuitka-winsvc
3
- Version: 1.7.3
3
+ Version: 1.7.5
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.7.3.data/scripts/nuitka-run.bat,sha256=ueVuKYMLV9dfqkkspy_F-2cpoZginLFiPDJAaj4fKYk,901
2
- Nuitka_winsvc-1.7.3.data/scripts/nuitka.bat,sha256=0wNE1iEysZFW4i7Tlo5TL5e_fv4jDoyAzMo_LTnjv_Y,1038
1
+ Nuitka_winsvc-1.7.5.data/scripts/nuitka-run.bat,sha256=ueVuKYMLV9dfqkkspy_F-2cpoZginLFiPDJAaj4fKYk,901
2
+ Nuitka_winsvc-1.7.5.data/scripts/nuitka.bat,sha256=0wNE1iEysZFW4i7Tlo5TL5e_fv4jDoyAzMo_LTnjv_Y,1038
3
3
  nuitka/Builtins.py,sha256=B8PlRVQVe0LOcTCS5DFLNzBIRhKFqtA6yUui1FrPIuY,7529
4
4
  nuitka/BytecodeCaching.py,sha256=rdC7LiIEL9iY92WXTbmrlLKpmsCU2hUVYzwpemJnqEA,5437
5
5
  nuitka/Bytecodes.py,sha256=RAyXg4PZFkVed36mSt1LrFgxsxvQdcN6nPHjvHzpjnQ,3440
@@ -21,7 +21,7 @@ nuitka/SourceCodeReferences.py,sha256=hO9Cl-QYVTG9TspnW9_xkUbFOoVKFQt7JKD9AubXfm
21
21
  nuitka/Tracing.py,sha256=rW9b1z0imuhiqFc8mw5yYaYD91mE84QHKzJ41l9h3VQ,11235
22
22
  nuitka/TreeXML.py,sha256=vP6kCV8GP6ULhW0A6VdENWY7ej6oyu6L85ElcZPJKyc,3395
23
23
  nuitka/Variables.py,sha256=uRo3zKyaoESlCG6iEj5ugJU1059mxKSZcys8s_CVpJA,15235
24
- nuitka/Version.py,sha256=xS5KT_HxVAzg90VpSgmO5bW_Z95CASoqZHJAec0HarY,2055
24
+ nuitka/Version.py,sha256=BoFPZDw6QOD7F6dREMdDmv_mZlJXq8ts_2U8XN3nLWM,2055
25
25
  nuitka/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
26
26
  nuitka/__main__.py,sha256=LUPruUJobJP_oXLuHo_TJd47cDJnsYh2IgXBierqaiI,5615
27
27
  nuitka/__past__.py,sha256=3CEbBU3I8IaVOHGLtVhDp-ibqBb5FET9W38YKk4O4rU,5295
@@ -474,7 +474,7 @@ nuitka/build/static_src/MetaPathBasedLoader.c,sha256=1dKRJr_CkjodWfXBDFgNgUjXqU-
474
474
  nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c,sha256=87dUFpSxtnEkA-FD-pYvI5d7mh89h7D-gTW9vuQ787Q,4537
475
475
  nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c,sha256=vYj2gYYcFn-F92BDW1LGKCfmC71HYtZSpOfpeat7VY8,6427
476
476
  nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c,sha256=tFnA9CUEl6Nopm8qBvJ7usjUul5kSJQkfE1-C3nE634,17285
477
- nuitka/build/static_src/OnefileBootstrap.c,sha256=YVwavZQx7iYDPnIhnVYgcmXbKvYiXBj72C_6eaKQd1Y,36105
477
+ nuitka/build/static_src/OnefileBootstrap.c,sha256=w7XEIGfMDiOgaYBEp3tjjE5F8ZWzKKdHaVY_wedS1qI,36107
478
478
  nuitka/build/static_src/OnefileSplashScreen.cpp,sha256=bOcTFq4Nbs9nxtOJKhTdydSYiKC_Odbe_IF1IpFBe10,8021
479
479
  nuitka/code_generation/AsyncgenCodes.py,sha256=gXddDQhyhMV1jNXreHMrnOS0cNe0Vm_HLXIKn3Fmm4A,6414
480
480
  nuitka/code_generation/AttributeCodes.py,sha256=t66kjUYVyVFdHdwxHihptCNXOTEp5Lw4Tp5j8l5cJJA,10599
@@ -760,12 +760,12 @@ nuitka/plugins/standard/TensorflowPlugin.py,sha256=_xoRI92gbMrrR5j_AsN-WTNDXma77
760
760
  nuitka/plugins/standard/TkinterPlugin.py,sha256=IWuWQPLY4gBvOMuVib2Zms9YlQIyegr-rWPWDahipfs,12242
761
761
  nuitka/plugins/standard/TorchPlugin.py,sha256=TJxTjA5DEFCvMGP2D_c-nMJVzh4eR_PTCDH6jJqUyDs,1140
762
762
  nuitka/plugins/standard/TransformersPlugin.py,sha256=74yy9j4CPGGzVCrc-bD2S7p8gouEtomwKkzkGiHI_b4,10191
763
- nuitka/plugins/standard/TrioPlugin.py,sha256=ou3lGaEjo1um2yDVk_vaxg09zdo2xe3S7GnroJ7KuGQ,3175
763
+ nuitka/plugins/standard/TrioPlugin.py,sha256=1zkgZP5KFJ4xXhnh2poTD3zXv7ywBEeNE9hfYEbgVG8,1073
764
764
  nuitka/plugins/standard/UpxPlugin.py,sha256=bdYp-nBs3mI-fUeZ_icnRzW3TtTk3wSYJQWjlr5UEBA,5640
765
765
  nuitka/plugins/standard/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
766
- nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=k2QhNtppVZttGeFnWtS-51KSa1a2mYGHeviOv9exUhw,160906
766
+ nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=F3Azh2vyVnxcKXkPiAs93Culx1b2cSFJdfAfDqscotM,164577
767
767
  nuitka/plugins/standard/stdlib2.nuitka-package.config.yml,sha256=EYjbl88U8dX_YLi9nxcEZbVpR20ACu5kHMQVUkvQEoE,2221
768
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=cvUa6LzWGEnG_aUsLwN9EaJhQCPyPCAU9n8VI5koxLA,9867
768
+ nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=HXsXwPEblkT2QoWtkPxPxfjCQ6kH2rvx7jJWZ87UnV8,9940
769
769
  nuitka/reports/LicenseReport.rst.j2,sha256=6Ew58DWnghJk9YDTKf26B2XwSc4YXZczOeybbd776lw,2209
770
770
  nuitka/reports/Reports.py,sha256=QFVdy7851wDjwwaP7mziVozDexBef5VzaRqSNzD7pkY,17538
771
771
  nuitka/reports/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
@@ -798,7 +798,7 @@ nuitka/tools/onefile_compressor/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmp
798
798
  nuitka/tools/onefile_compressor/__main__.py,sha256=Jn88vFTsWKJE_haU3Nno-4G_94XCqCGJF5PRbMHUYxA,1311
799
799
  nuitka/tools/podman/Podman.py,sha256=oCYqACsYvA4l_dDwmmYxoNtbtidsWQ7UI9VBNvXzvO4,1872
800
800
  nuitka/tools/podman/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
801
- nuitka/tools/podman/__main__.py,sha256=Xs_sOVryHb52qjEn5VNYvnt2PcAYAQi_4qNYc24VNMM,6612
801
+ nuitka/tools/podman/__main__.py,sha256=p2fyl223QQgkCF4ETbJ9rCx0yupVjKDDt_Ss1wGAQYg,6685
802
802
  nuitka/tools/profiler/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
803
803
  nuitka/tools/profiler/__main__.py,sha256=A7AHr0ixdPt0zrzqIV5SbQOiHbIDqbFUF8Y_sm64IqY,2529
804
804
  nuitka/tools/scanning/DisplayPackageDLLs.py,sha256=AHnFovWB1i-7s25UCCdV5wsMjNO0hbfxQ_gnny93HBc,3344
@@ -829,7 +829,7 @@ nuitka/tools/testing/run_nuitka_tests/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzS
829
829
  nuitka/tools/testing/run_nuitka_tests/__main__.py,sha256=7rG-sqbBy-c6DM7qWs2pV1ry5D0SqDAiZY6jthFuquo,36321
830
830
  nuitka/tools/watch/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
831
831
  nuitka/tools/watch/__main__.py,sha256=UG-BXBM-Y_DOncC_1gOYnFwAgM2w78U6SVOId0PNhZc,9503
832
- nuitka/tree/Building.py,sha256=na7p-jzy3dwPJ_8Qi-qS3Aby9qgNafuF525_ou6SvAA,47138
832
+ nuitka/tree/Building.py,sha256=MvBDrfC_NYsEzjsnjhySHRzPmNUVmvL5p1TK9UWN0SY,47135
833
833
  nuitka/tree/ComplexCallHelperFunctions.py,sha256=leZj4OjNUqZOfrkyxqPw7OQS8ds4VPEh8xYM2cZQvmQ,74608
834
834
  nuitka/tree/Extractions.py,sha256=4ucKZVJr3zMuqygsnQ8hRtlNtFuan7YO-TbqqGdGtog,1700
835
835
  nuitka/tree/InternalModule.py,sha256=RSOXUCo8AASt5FxF2726gmebLsmfR_uCG8phRZnB3II,2572
@@ -845,7 +845,7 @@ nuitka/tree/ReformulationContractionExpressions.py,sha256=FFb3cZA5mAvLDJAB6kpqg0
845
845
  nuitka/tree/ReformulationDictionaryCreation.py,sha256=-Cdmq6f0M0gcuZ1qUGl8EiJZdPzBmlX_KTPxcVNnLH8,11061
846
846
  nuitka/tree/ReformulationExecStatements.py,sha256=aRn5E8HzMVBkGWdV22Em-M5KoMgnxlIHYqVIi_fejaA,14607
847
847
  nuitka/tree/ReformulationForLoopStatements.py,sha256=XK6zeM7ws6sFMldQRSoQ9Rf7CIPP_rb8OdjjS3xNVoY,7782
848
- nuitka/tree/ReformulationFunctionStatements.py,sha256=LYsk0_0OASf79FG2pQJZk0RP7gfWyAHN7MBi_o_AWNM,29594
848
+ nuitka/tree/ReformulationFunctionStatements.py,sha256=KPrbgInIvOb0_Vn0gSf5BKrafgavlv_uLV41cdu5yJk,30544
849
849
  nuitka/tree/ReformulationImportStatements.py,sha256=vxE_yXGt505Hx88KKB64E0WGqvOkijO0b6rAuZnbWD0,13437
850
850
  nuitka/tree/ReformulationLambdaExpressions.py,sha256=QsHcwsMXNPx3nS1xF9CPHClndnvUCQP8FBr6DryJ39E,6577
851
851
  nuitka/tree/ReformulationMatchStatements.py,sha256=_vs5BQqomGbGrhtvLQYH3GNVJkOtiEbhG9OCmVxwkQk,20962
@@ -894,9 +894,9 @@ nuitka/utils/WindowsFileUsage.py,sha256=-HWxgeimCX2pz6oAUI0T7wSJN1tbk8XyIzPywdd0
894
894
  nuitka/utils/WindowsResources.py,sha256=57Jvx_2l69JcHAxmEZtLekic4bVd-_J2xNjJghXja40,19540
895
895
  nuitka/utils/Yaml.py,sha256=yf51kDIByzZvXpuJIA0d80O0pIQKUNNKyu58ZqN6_z0,6108
896
896
  nuitka/utils/__init__.py,sha256=iZG7yicSsBwC9oGrAFAJSzSlj0bmpyijEHyrTKLQ8GM,833
897
- Nuitka_winsvc-1.7.3.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
898
- Nuitka_winsvc-1.7.3.dist-info/METADATA,sha256=QSd4m07zdWCOKzJp0gVHaJRWEP787yUB67opjtCTejA,4751
899
- Nuitka_winsvc-1.7.3.dist-info/WHEEL,sha256=jrOhEbqKwvzRFSJcbYXlJCyVkgVdHg4_7__YHrdTUfw,102
900
- Nuitka_winsvc-1.7.3.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
901
- Nuitka_winsvc-1.7.3.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
902
- Nuitka_winsvc-1.7.3.dist-info/RECORD,,
897
+ Nuitka_winsvc-1.7.5.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
898
+ Nuitka_winsvc-1.7.5.dist-info/METADATA,sha256=7u5fYnCM6-ItfnTUIG6o8yOSuo142KbM3PCdh2BG7m4,4751
899
+ Nuitka_winsvc-1.7.5.dist-info/WHEEL,sha256=jrOhEbqKwvzRFSJcbYXlJCyVkgVdHg4_7__YHrdTUfw,102
900
+ Nuitka_winsvc-1.7.5.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
901
+ Nuitka_winsvc-1.7.5.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
902
+ Nuitka_winsvc-1.7.5.dist-info/RECORD,,
nuitka/Version.py CHANGED
@@ -20,7 +20,7 @@
20
20
  """
21
21
 
22
22
  version_string = """\
23
- Nuitka V1.7.3
23
+ Nuitka V1.7.5
24
24
  Copyright (C) 2023 Kay Hayen."""
25
25
 
26
26
 
@@ -842,7 +842,7 @@ DWORD PrintError(const wchar_t* fnName)
842
842
  MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
843
843
  (LPWSTR)&errorMessage,
844
844
  0, NULL);
845
- wprintf(L"%s failed (%d): %s", fnName, errorCode, errorMessage);
845
+ wprintf(L"%LS failed (%d): %LS", fnName, errorCode, errorMessage);
846
846
  LocalFree(errorMessage);
847
847
  return errorCode;
848
848
  }
@@ -15,75 +15,15 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
- """Trio plugin module."""
19
-
18
+ """ Deprecated trio plugin.
19
+ """
20
20
  from nuitka.plugins.PluginBase import NuitkaPluginBase
21
21
 
22
- _trio_patches = {
23
- "trio._core._ki": (
24
- """\
25
- enable_ki_protection = _ki_protection_decorator(True) # type: Callable[[F], F]
26
- enable_ki_protection.__name__ = "enable_ki_protection"
27
-
28
- disable_ki_protection = _ki_protection_decorator(False) # type: Callable[[F], F]
29
- disable_ki_protection.__name__ = "disable_ki_protection"
30
- """,
31
- """\
32
- def enable_ki_protection(fn):
33
- return fn
34
-
35
- def disable_ki_protection(fn):
36
- return fn
37
- """,
38
- ),
39
- "trio._core._run": (
40
- "coro.cr_frame.f_locals.setdefault(LOCALS_KEY_KI_PROTECTION_ENABLED, system_task)",
41
- "# coro.cr_frame.f_locals.setdefault(LOCALS_KEY_KI_PROTECTION_ENABLED, system_task)",
42
- ),
43
- }
44
-
45
22
 
46
23
  class NuitkaPluginTrio(NuitkaPluginBase):
47
- """Plugin for compatibility with Trio.
48
-
49
- The only incompatibility in Trio is the way it handles KeyboardInterrupt exceptions (ctrl+C):
50
-
51
- https://github.com/Nuitka/Nuitka/issues/561
52
- https://github.com/python-trio/trio/issues/1752
53
-
54
- It does this to ensure that Trio's internal data structures stay consistent and that the
55
- `finally` blocks in suspended coroutines are all run:
56
-
57
- https://vorpus.org/blog/control-c-handling-in-python-and-trio/
58
-
59
- So, be warned, when this plugin is enabled, your Trio code may not behave as expected when the
60
- user hits CTRL+C. One option to cope with this is to run your Trio code in a separate thread,
61
- listen for it in the main thread (with a try/except block), then notify the Trio thread to
62
- shutdown (e.g. with `trio_token.run_sync_soon(cancel_scope.cancel())`).
63
-
64
- """
65
-
66
24
  plugin_name = "trio"
67
- plugin_desc = "Required for 'trio' package."
68
-
69
- # TODO: Change this to Yaml configuration.
70
-
71
- def __init__(self):
72
- self.shown_warning = False
73
-
74
- def onModuleSourceCode(self, module_name, source_code):
75
- if module_name not in _trio_patches:
76
- return
77
-
78
- if not self.shown_warning:
79
- self.info("Disabling careful handling of KeyboardInterrupt in Trio")
80
- self.shown_warning = True
81
-
82
- code_before, code_after = _trio_patches[module_name]
83
-
84
- if code_before not in source_code:
85
- self.sysexit(
86
- "Could not find code to patch in " + module_name + ":\n" + code_before
87
- )
25
+ plugin_desc = "Deprecated, was once required by the 'trio' package"
88
26
 
89
- return source_code.replace(code_before, code_after)
27
+ @classmethod
28
+ def isDeprecated(cls):
29
+ return True
@@ -251,6 +251,11 @@
251
251
  - depends:
252
252
  - '_cffi_backend'
253
253
 
254
+ - module-name: 'cairo'
255
+ implicit-imports:
256
+ - depends:
257
+ - 'gi._gi_cairo'
258
+
254
259
  - module-name: 'cairo._cairo'
255
260
  implicit-imports:
256
261
  - depends:
@@ -503,6 +508,12 @@
503
508
  support_info: 'warning'
504
509
  when: 'version("opencv-python") < (4,6)'
505
510
 
511
+ - module-name: 'cvxpy.utilities.key_utils'
512
+ anti-bloat:
513
+ - description: 'workaround for disallowed slice optimization'
514
+ replacements_plain:
515
+ 'key[i].step': '(key[i].step if key[i].step is not None else 1)'
516
+
506
517
  - module-name: 'cytoolz.functoolz'
507
518
  implicit-imports:
508
519
  - depends:
@@ -604,7 +615,8 @@
604
615
  - module-name: 'dns.rdtypes'
605
616
  implicit-imports:
606
617
  - depends:
607
- - '.IN.A'
618
+ - '.ANY.*'
619
+ - '.IN.*'
608
620
  - '.CH.A'
609
621
 
610
622
  - module-name: 'dotenv'
@@ -958,6 +970,20 @@
958
970
  - 'gevent.resolver.cares'
959
971
  - 'gevent.resolver.thread'
960
972
 
973
+ - module-name: 'git.objects.submodule.base'
974
+ anti-bloat:
975
+ - description: 'remove unittest reference'
976
+ replacements_plain:
977
+ 'if HIDE_WINDOWS_KNOWN_ERRORS': 'if False'
978
+ when: 'not use_unittest'
979
+
980
+ - module-name: 'git.util'
981
+ anti-bloat:
982
+ - description: 'remove unittest reference'
983
+ replacements_plain:
984
+ 'if HIDE_WINDOWS_KNOWN_ERRORS': 'if False'
985
+ when: 'not use_unittest'
986
+
961
987
  - module-name: 'gooey'
962
988
  data-files:
963
989
  dirs:
@@ -1217,6 +1243,11 @@
1217
1243
  - depends:
1218
1244
  - 'lxml.etree'
1219
1245
 
1246
+ - module-name: 'markdown'
1247
+ implicit-imports:
1248
+ - depends:
1249
+ - 'markdown.extensions.*'
1250
+
1220
1251
  - module-name: 'matplotlib'
1221
1252
  anti-bloat:
1222
1253
  - description: 'remove setuptools and pytest testing framework reference'
@@ -1642,6 +1673,18 @@
1642
1673
  def assert_equal(actual, desired, err_msg='', verbose=True):
1643
1674
  pass
1644
1675
 
1676
+ def assert_approx_equal(actual, desired, significant=7, err_msg='', verbose=True):
1677
+ pass
1678
+
1679
+ def assert_almost_equal(actual, desired, decimal=7, err_msg='', verbose=True):
1680
+ pass
1681
+
1682
+ def assert_array_equal(x, y, err_msg='', verbose=True, *, strict=False):
1683
+ pass
1684
+
1685
+ def assert_array_less(x, y, err_msg='', verbose=True):
1686
+ pass
1687
+
1645
1688
  def assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True):
1646
1689
  pass
1647
1690
 
@@ -3419,6 +3462,8 @@
3419
3462
  when: 'not use_pytest'
3420
3463
 
3421
3464
  - module-name: 'skimage.draw'
3465
+ data-files:
3466
+ include-pyi-file: 'yes'
3422
3467
  implicit-imports:
3423
3468
  - depends:
3424
3469
  - 'skimage.draw._draw'
@@ -3468,6 +3513,10 @@
3468
3513
  - 'skimage.filters.rank.generic_cy'
3469
3514
  - 'skimage.filters.rank.percentile_cy'
3470
3515
 
3516
+ - module-name: 'skimage.future'
3517
+ data-files:
3518
+ include-pyi-file: 'yes'
3519
+
3471
3520
  - module-name: 'skimage.future.graph'
3472
3521
  implicit-imports:
3473
3522
  - depends:
@@ -3769,12 +3818,21 @@
3769
3818
  '_dummy = TestCase("__init__")': ''
3770
3819
  'assert_dict_equal = _dummy.assert_dict_equal': 'def assert_dict_equal(*args, **kwargs): pass'
3771
3820
  'assert_raises = _dummy.assertRaises': 'def assert_raises(*args, **kwargs): pass'
3772
- 'assert_raises_regex = _dummy.assert_raises_regex': 'def assert_dict_equal(*args, **kwargs): pass'
3821
+ 'assert_raises_regex = _dummy.assert_raises_regex': 'def assert_raises_regex(*args, **kwargs): pass'
3822
+ 'assert_dict_equal = _dummy.assertDictEqual': 'def assert_dict_equal(*args, **kwargs): pass'
3823
+ 'assert_raises_regex = _dummy.assertRaisesRegex': 'def assert_raises_regex(*args, **kwargs): pass'
3773
3824
  'from unittest import TestCase': ''
3774
3825
  'import pytest': 'raise ImportError'
3775
3826
  'import unittest': ''
3776
3827
  'unittest.case.SkipTest': 'None'
3777
3828
 
3829
+ - module-name: 'sklearn.utils.estimator_checks'
3830
+ anti-bloat:
3831
+ - description: 'remove pytest reference'
3832
+ change_function:
3833
+ 'parametrize_with_checks': 'un-callable'
3834
+ when: 'not use_pytest'
3835
+
3778
3836
  - module-name: 'sklearn.utils.sparsetools'
3779
3837
  implicit-imports:
3780
3838
  - depends:
@@ -4217,6 +4275,16 @@
4217
4275
  dirs:
4218
4276
  - 'static'
4219
4277
 
4278
+ - module-name: 'streamlit.delta_generator'
4279
+ anti-bloat:
4280
+ - description: 'remove IPython reference'
4281
+ replacements_plain:
4282
+ 'from streamlit.elements.legacy_altair import LegacyAltairMixin': ''
4283
+ 'LegacyAltairMixin,': ''
4284
+ 'from streamlit.elements.arrow_altair import ArrowAltairMixin': ''
4285
+ 'ArrowAltairMixin,': ''
4286
+ when: 'not use_ipython'
4287
+
4220
4288
  - module-name: 'sv_ttk'
4221
4289
  data-files:
4222
4290
  dirs:
@@ -5054,6 +5122,13 @@
5054
5122
  - no-auto-follow:
5055
5123
  - 'pandas'
5056
5124
 
5125
+ - module-name: 'transformers'
5126
+ data-files:
5127
+ include-metadata:
5128
+ - 'torch'
5129
+ - 'flax'
5130
+ - 'tensorflow'
5131
+
5057
5132
  - module-name: 'transformers.integrations'
5058
5133
  anti-bloat:
5059
5134
  - description: 'remove IPython reference'
@@ -5152,6 +5227,29 @@
5152
5227
  'boolean_sparse': 'un-callable'
5153
5228
  when: 'not use_numba'
5154
5229
 
5230
+ - module-name: 'trio._core._ki'
5231
+ anti-bloat:
5232
+ - description: 'workaround for trio compatibility'
5233
+ # The only incompatibility in Trio is the way it handles KeyboardInterrupt exceptions (ctrl+C):
5234
+ # https://github.com/Nuitka/Nuitka/issues/561
5235
+ # https://github.com/python-trio/trio/issues/1752
5236
+ # It does this to ensure that Trio's internal data structures stay consistent and that the
5237
+ # `finally` blocks in suspended coroutines are all run:
5238
+ # https://vorpus.org/blog/control-c-handling-in-python-and-trio/
5239
+ # So, be warned, when this plugin is enabled, your Trio code may not behave as expected when the
5240
+ # user hits CTRL+C. One option to cope with this is to run your Trio code in a separate thread,
5241
+ # listen for it in the main thread (with a try/except block), then notify the Trio thread to
5242
+ # shutdown (e.g. with `trio_token.run_sync_soon(cancel_scope.cancel())`).
5243
+ append_plain: |
5244
+ def enable_ki_protection(fn):
5245
+ return fn
5246
+ def disable_ki_protection(fn):
5247
+ return fn
5248
+ options:
5249
+ checks:
5250
+ - description: "Disabled careful handling of KeyboardInterrupt in 'trio'"
5251
+ support_info: 'info'
5252
+
5155
5253
  - module-name: 'trio._core._multierror'
5156
5254
  anti-bloat:
5157
5255
  - description: 'remove IPython reference'
@@ -5159,6 +5257,12 @@
5159
5257
  '"IPython" in sys.modules': 'False'
5160
5258
  when: 'not use_ipython'
5161
5259
 
5260
+ - module-name: 'trio._core._run'
5261
+ anti-bloat:
5262
+ - description: 'workaround for trio compatibility'
5263
+ replacements_plain:
5264
+ 'coro.cr_frame.f_locals.setdefault(LOCALS_KEY_KI_PROTECTION_ENABLED, system_task)': ''
5265
+
5162
5266
  - module-name: 'triton.compiler'
5163
5267
  anti-bloat:
5164
5268
  - description: 'remove setuptools usage'
@@ -162,7 +162,6 @@
162
162
 
163
163
  - module-name: 'lib2to3.pgen2'
164
164
  data-files:
165
- dest_path: 'lib2to3'
166
165
  patterns:
167
166
  - '../*.pickle'
168
167
  when: 'not debian_python'
@@ -173,6 +172,11 @@
173
172
  change_function:
174
173
  'test': "'(lambda: None)'"
175
174
 
175
+ - module-name: 'lib2to3.refactor'
176
+ implicit-imports:
177
+ - depends:
178
+ - 'lib2to3.fixes.*'
179
+
176
180
  - module-name: 'locale'
177
181
  anti-bloat:
178
182
  - description: 'remove module ability to run as a binary'
@@ -203,7 +203,9 @@ def main():
203
203
  "type=bind,source=.,dst=/src,relabel=shared",
204
204
  ]
205
205
 
206
- if not options.network:
206
+ if options.network:
207
+ command.append("--add-host=ssh.nuitka.net:116.202.30.188")
208
+ else:
207
209
  command.append("--network=none")
208
210
 
209
211
  # May need to allow pbuilder to create device nodes, makes the container insecure
nuitka/tree/Building.py CHANGED
@@ -1313,7 +1313,7 @@ def buildModule(
1313
1313
  plugins_logger.warning(line)
1314
1314
 
1315
1315
  if len(contributing_plugins) == 1:
1316
- next(iter(contributing_plugins[0])).sysexit(
1316
+ next(iter(contributing_plugins)).sysexit(
1317
1317
  "Making changes to '%s' that cause SyntaxError '%s'"
1318
1318
  % (module_name, e)
1319
1319
  )
@@ -66,7 +66,7 @@ from nuitka.nodes.VariableRefNodes import (
66
66
  )
67
67
  from nuitka.nodes.VariableReleaseNodes import makeStatementReleaseVariable
68
68
  from nuitka.Options import hasPythonFlagNoAnnotations
69
- from nuitka.plugins.Plugins import Plugins
69
+ from nuitka.plugins.Plugins import Plugins, hasActivePlugin
70
70
  from nuitka.PythonVersions import python_version
71
71
  from nuitka.specs.ParameterSpecs import ParameterSpec
72
72
 
@@ -137,14 +137,29 @@ def _injectDecorator(decorators, inject, acceptable, source_ref):
137
137
  )
138
138
 
139
139
 
140
+ _has_pyqt_plugin = None
141
+
142
+
140
143
  def decideFunctionCompilationMode(decorators):
141
- for decorator in decorators:
142
- if (
143
- decorator.isExpressionCall()
144
- and decorator.subnode_called.isExpressionVariableNameRef()
145
- ):
146
- if decorator.subnode_called.variable_name == "pyqtSlot":
147
- return "bytecode"
144
+ """Decide how to compile a function based on decorator names."""
145
+
146
+ global _has_pyqt_plugin # singleton, pylint: disable=global-statement
147
+
148
+ if _has_pyqt_plugin is None:
149
+ _has_pyqt_plugin = hasActivePlugin("pyqt5") or hasActivePlugin("pyqt6")
150
+
151
+ # TODO: Expose the interface to plugins, so we don't hardcode stuff for
152
+ # specific plugins here, but for performance I guess, we would have to add a
153
+ # registry for the plugins to use, so not every decorator name is being
154
+ # called for every plugin.
155
+ if _has_pyqt_plugin:
156
+ for decorator in decorators:
157
+ if (
158
+ decorator.isExpressionCall()
159
+ and decorator.subnode_called.isExpressionVariableNameRef()
160
+ ):
161
+ if decorator.subnode_called.variable_name == "pyqtSlot":
162
+ return "bytecode"
148
163
 
149
164
  return "compiled"
150
165
 
@@ -152,10 +167,10 @@ def decideFunctionCompilationMode(decorators):
152
167
  def _buildBytecodeOrSourceFunction(provider, node, compilation_mode, source_ref):
153
168
  # TODO: We should have a compile() builtin usage here, lookup "co_code" and
154
169
  # support that as a constant value. We then would have the "bytecode" only
155
- # in the binary, right now "bytecode" and "sourcecode" make no difference.
156
- # For commercial, we need to protect this constant just like all the others,
157
- # and ideally maybe, we add (delayed creation) code objects from blobs for
158
- # use by compiled code, while doing this. pylint: disable=unused-argument
170
+ # in the binary, right now "bytecode" and "source" make no difference. For
171
+ # commercial, we need to protect this constant just like all the others, and
172
+ # ideally maybe, we add (delayed creation) code objects from blobs for use
173
+ # by compiled code, while doing this. pylint: disable=unused-argument
159
174
  source_code = ast.unparse(node)
160
175
 
161
176
  source = makeConstantRefNode(
@@ -175,11 +190,16 @@ def _buildBytecodeOrSourceFunction(provider, node, compilation_mode, source_ref)
175
190
  # source_ref=source_ref
176
191
  # )
177
192
 
193
+ # This is actually for the globals locals usage to be default values of the
194
+ # scope.
195
+
196
+ temp_scope = provider.allocateTempScope("function_exec")
197
+
178
198
  globals_ref, locals_ref, tried, final = wrapEvalGlobalsAndLocals(
179
199
  provider=provider,
180
200
  globals_node=None,
181
201
  locals_node=None,
182
- temp_scope=None,
202
+ temp_scope=temp_scope,
183
203
  source_ref=source_ref,
184
204
  )
185
205
 
@@ -564,6 +584,10 @@ def buildParameterKwDefaults(provider, node, function_body, source_ref):
564
584
  def buildParameterAnnotations(provider, node, source_ref):
565
585
  # Too many branches, because there is too many cases, pylint: disable=too-many-branches
566
586
 
587
+ # The ast uses funny names a bunch.
588
+ # spellchecker: ignore varnames,elts,posonlyargs,kwonlyargs,varargannotation,vararg
589
+ # spellchecker: ignore kwargannotation
590
+
567
591
  # Build annotations. We are hiding here, that it is a Python3 only feature.
568
592
  if python_version < 0x300 or hasPythonFlagNoAnnotations():
569
593
  return None