Nuitka-winsvc 2.1.1__cp311-cp311-win_amd64.whl → 2.1.2__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of Nuitka-winsvc might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Nuitka-winsvc
3
- Version: 2.1.1
3
+ Version: 2.1.2
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.1.data/scripts/nuitka-run.bat,sha256=zzCZ6CymZcBcI_BMB1RwNIegL0JcACGwKTMeIW-aaOU,924
2
- Nuitka_winsvc-2.1.1.data/scripts/nuitka.bat,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
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
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,7 +9,7 @@ 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=iL4oJrHVZhbgom8ARBjG8oYntWjdJo0_b2DnZILFbJ4,63815
12
+ nuitka/OptionParsing.py,sha256=wTecTFl-o0ele9vHSSxB64Qz-NNtCmjPmE3SfZbMQtI,63838
13
13
  nuitka/Options.py,sha256=bNDx2h_ZNHTU7bO-9e2hyFyZrDBMeMHOKoXoYViPnPc,75543
14
14
  nuitka/OutputDirectories.py,sha256=7hM8zVNoclTVup6StkxUuhRJ8IEHjhaKXX3lb03BmcY,5276
15
15
  nuitka/PostProcessing.py,sha256=8IeVz3GNx4OkgEaP2HALSbZi1bFdaIicioD10l5_n3o,14940
@@ -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=qBco6039xf0njl2ucDFmo3_Kpexgap2J6MFkBo5gen8,2466
25
+ nuitka/Version.py,sha256=dQvWF7kFkUJINi-kD1YFJYUx6Ra9jDMc8z8ngBdTw4M,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
@@ -426,7 +426,7 @@ 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=WlF8JWsZPJ18TMnt3h0IvyMThJyMFH03rPN-9K3lZu8,28501
429
+ nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=b9guvQ9KsV5I0xEt8dP7RxavXmXDeXnsTWY1Q7gIJic,28522
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
@@ -744,10 +744,10 @@ 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=sU04GxeVb1fNmmJujUqjg6LdGhZlD8yvf0GsFN1_fLA,56166
748
- nuitka/plugins/Plugins.py,sha256=CRYf5YCAbaN10Qu2U_wL9Ta6xJX1BK4SUVBXoIM7X_g,59248
747
+ nuitka/plugins/PluginBase.py,sha256=I1hCNChRqMJCzXCBcU0wQTYizXRL3LRFljQ5vNR582Q,56620
748
+ nuitka/plugins/Plugins.py,sha256=6wOakwXv24G0rnvEyzafZF5xLT84Y_gx5fp5ToOwxEI,59723
749
749
  nuitka/plugins/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
750
- nuitka/plugins/standard/AntiBloatPlugin.py,sha256=LQ7QC_uaHm-pz2uYyfiytAO92YCVMsujeq6XaLwUVGY,28471
750
+ nuitka/plugins/standard/AntiBloatPlugin.py,sha256=cgEC5sM5yXVBnScn7kXvq_wIxrNP8HoGqJ6I2aQ52hg,30408
751
751
  nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py,sha256=wcMzzFP5rOcJAaJCR-nB4lE76gTiU_iUZj_2O6Y4uvc,3510
752
752
  nuitka/plugins/standard/DataFilesPlugin.py,sha256=EKpn58Sr6tQjeAr31t8V3HNGk5KuSWoXYjhEyEXp0eo,10754
753
753
  nuitka/plugins/standard/DelvewheelPlugin.py,sha256=LMH36X8CWgimaIOQU224JTnH75XHchmWt1P30_CbgRE,5080
@@ -776,7 +776,7 @@ 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=Jxs4-miz6dNFiwvuKJm0EPyWXmNs8X8AR3KyITowa04,224697
779
+ nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=gy8K_06zqP3krWX4gTcm5kjM7_cEKEusJLKZWcjpwyc,226505
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
@@ -855,8 +855,8 @@ nuitka/tree/ReformulationAssertStatements.py,sha256=QLHdt3hn0BSD5AmDNIBrqHyafQZT
855
855
  nuitka/tree/ReformulationAssignmentStatements.py,sha256=hB0gs9-MhCaev_dkaTJQIG5TObgh8ObXxnyw1R5jh24,43101
856
856
  nuitka/tree/ReformulationBooleanExpressions.py,sha256=CDr39t7MMCapxVOi7K1KMZ15ixfK3yeylVffZpCuHOI,2981
857
857
  nuitka/tree/ReformulationCallExpressions.py,sha256=dLZl54nxTaliwwbz1PhUUutUqCMsfDCkl83Qcl9ClBQ,11746
858
- nuitka/tree/ReformulationClasses.py,sha256=RV-bcZopht29Ey5KPyqxrlrtgV_cehzrMATL8qI2MTk,15255
859
- nuitka/tree/ReformulationClasses3.py,sha256=tf-0AIGkaQOnJ8aVf6zRu05ZczJaeHBSasbeQTN6Fj0,38044
858
+ nuitka/tree/ReformulationClasses.py,sha256=zDr3V159pyeBiJxUg7hkpXNZ2CjUeBJTw9mZmRC6DP8,15446
859
+ nuitka/tree/ReformulationClasses3.py,sha256=HV2rrWaneRDa-u3PyFNhvKApOVH4GiUxSGD6DR9SRVA,38235
860
860
  nuitka/tree/ReformulationComparisonExpressions.py,sha256=uBs7JGSndDEGqqe4aZra4kkcyOwPCKttYOP16TKCbUo,6523
861
861
  nuitka/tree/ReformulationContractionExpressions.py,sha256=1i82b0xbEvRec63KRfRHYBGOkWRMsab5vNKlQrEvN9s,22175
862
862
  nuitka/tree/ReformulationDictionaryCreation.py,sha256=ij6RTNUZcSA5VBWtKtC28Xumz-lF-eUdY8TZcaMwbuc,11196
@@ -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.1.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
916
- Nuitka_winsvc-2.1.1.dist-info/METADATA,sha256=Cl2HE1Z5wCD9k3sd_IExhAd_npgFETb0mMyCedeIqyE,4909
917
- Nuitka_winsvc-2.1.1.dist-info/WHEEL,sha256=nSybvzWlmdJnHiUQSY-d7V1ycwEVUTqXiTvr2eshg44,102
918
- Nuitka_winsvc-2.1.1.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
919
- Nuitka_winsvc-2.1.1.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
920
- Nuitka_winsvc-2.1.1.dist-info/RECORD,,
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,,
nuitka/OptionParsing.py CHANGED
@@ -2001,6 +2001,7 @@ def _considerGithubWorkflowOptions(phase):
2001
2001
  "enable-plugins",
2002
2002
  "disable-plugin",
2003
2003
  "disable-plugins",
2004
+ "user-plugin",
2004
2005
  )
2005
2006
 
2006
2007
  def filterByName(key):
nuitka/Version.py CHANGED
@@ -20,7 +20,7 @@
20
20
  """
21
21
 
22
22
  version_string = """\
23
- Nuitka V2.1.1
23
+ Nuitka V2.1.2
24
24
  Copyright (C) 2024 Kay Hayen."""
25
25
 
26
26
 
@@ -836,7 +836,7 @@ bool expandTemplatePath(char *target, char const *source, size_t buffer_size) {
836
836
  char var_name[1024];
837
837
  char *w = NULL;
838
838
 
839
- bool var_started = false;
839
+ NUITKA_MAY_BE_UNUSED bool var_started = false;
840
840
 
841
841
  while (*source != 0) {
842
842
  if (*source == '{') {
@@ -14,7 +14,6 @@ it being used.
14
14
 
15
15
  import ast
16
16
  import functools
17
- import importlib
18
17
  import inspect
19
18
  import os
20
19
  import sys
@@ -106,6 +105,15 @@ _module_config_constants = {}
106
105
  _module_config_variables = {}
107
106
 
108
107
 
108
+ def _getImportLibModule():
109
+ try:
110
+ import importlib
111
+ except ImportError:
112
+ return None
113
+ else:
114
+ return importlib
115
+
116
+
109
117
  def _getEvaluationContext():
110
118
  # Using global here, as this is really a singleton, in the form of a module,
111
119
  # pylint: disable=global-statement
@@ -145,7 +153,7 @@ def _getEvaluationContext():
145
153
  # Frequent used modules
146
154
  "sys": sys,
147
155
  "os": os,
148
- "importlib": importlib,
156
+ "importlib": _getImportLibModule(),
149
157
  "appdirs": getAppdirsModule(),
150
158
  # Python version string
151
159
  "python_version_str": python_version_str,
@@ -1259,6 +1267,14 @@ except ImportError:
1259
1267
  # Virtual method, pylint: disable=no-self-use,unused-argument
1260
1268
  return False
1261
1269
 
1270
+ def onClassBodyParsing(self, module_name, class_name, node):
1271
+ # Virtual method, pylint: disable=no-self-use,unused-argument
1272
+ """Provide a different class body for the class of that module.
1273
+
1274
+ Should return a boolean, indicating if any actual change was done.
1275
+ """
1276
+ return False
1277
+
1262
1278
  def getCacheContributionValues(self, module_name):
1263
1279
  """Provide values that represent the include of a plugin on the compilation.
1264
1280
 
nuitka/plugins/Plugins.py CHANGED
@@ -1354,6 +1354,19 @@ class Plugins(object):
1354
1354
  body=body,
1355
1355
  )
1356
1356
 
1357
+ @classmethod
1358
+ def onClassBodyParsing(cls, provider, class_name, node):
1359
+ module_name = provider.getParentModule().getFullName()
1360
+
1361
+ for plugin in getActivePlugins():
1362
+ # TODO: Could record what classes got modified by what plugin
1363
+ # and in what way checking the return value
1364
+ plugin.onClassBodyParsing(
1365
+ module_name=module_name,
1366
+ class_name=class_name,
1367
+ node=node,
1368
+ )
1369
+
1357
1370
  @classmethod
1358
1371
  def getCacheContributionValues(cls, module_name):
1359
1372
  for plugin in getActivePlugins():
@@ -535,6 +535,66 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
535
535
 
536
536
  return result
537
537
 
538
+ def _onClassBodyParsing(self, module_name, anti_bloat_config, class_name, node):
539
+ replace_code = anti_bloat_config.get("change_class", {}).get(class_name)
540
+
541
+ if replace_code == "un-usable":
542
+ replace_code = """
543
+ '''
544
+ class %(class_name)s:
545
+ def __init__(self, *args, **kwargs):
546
+ raise RuntimeError("Must not call %(module_name)s.%(class_name)s")
547
+ '''
548
+ """ % {
549
+ "module_name": module_name,
550
+ "class_name": class_name,
551
+ }
552
+
553
+ if replace_code is None:
554
+ return False
555
+
556
+ replacement = self.evaluateExpression(
557
+ full_name=module_name,
558
+ expression=replace_code,
559
+ config_name="module '%s' config 'change_class' of '%s'"
560
+ % (module_name, class_name),
561
+ extra_context=self._getContextCode(
562
+ module_name=module_name, anti_bloat_config=anti_bloat_config
563
+ ),
564
+ single_value=True,
565
+ )
566
+
567
+ # Single node is required, extract the generated module body with
568
+ # single expression only statement value or a function body.
569
+ replacement = ast.parse(replacement).body[0]
570
+
571
+ node.body[:] = replacement.body
572
+ node.bases = replacement.bases
573
+
574
+ if self.show_changes:
575
+ self.info(
576
+ "Updated module '%s' class '%s'." % (module_name.asString(), class_name)
577
+ )
578
+
579
+ return True
580
+
581
+ def onClassBodyParsing(self, module_name, class_name, node):
582
+ result = False
583
+
584
+ config = self.config.get(module_name, section="anti-bloat")
585
+
586
+ if config:
587
+ for anti_bloat_config in config:
588
+ if self._onClassBodyParsing(
589
+ module_name=module_name,
590
+ anti_bloat_config=anti_bloat_config,
591
+ class_name=class_name,
592
+ node=node,
593
+ ):
594
+ result = True
595
+
596
+ return result
597
+
538
598
  def _getModuleBloatModeOverrides(self, using_module_name, intended_module_name):
539
599
  while 1:
540
600
  config = self.config.get(using_module_name, section="anti-bloat")
@@ -90,6 +90,38 @@
90
90
  patterns:
91
91
  - 'public.xml'
92
92
 
93
+ - module-name: 'antlr4.FileStream' # checksum: b7fe4fce
94
+ anti-bloat:
95
+ - description: 'remove unittest reference'
96
+ replacements_plain:
97
+ 'import unittest': ''
98
+ change_class:
99
+ 'TestFileStream': 'un-usable'
100
+
101
+ - module-name: 'antlr4.InputStream' # checksum: e9e7bd9b
102
+ anti-bloat:
103
+ - description: 'remove unittest reference'
104
+ replacements_plain:
105
+ 'import unittest': ''
106
+ change_class:
107
+ 'TestInputStream': 'un-usable'
108
+
109
+ - module-name: 'antlr4.IntervalSet' # checksum: 214ba83e
110
+ anti-bloat:
111
+ - description: 'remove unittest reference'
112
+ replacements_plain:
113
+ 'import unittest': ''
114
+ change_class:
115
+ 'TestIntervalSet': 'un-usable'
116
+
117
+ - module-name: 'antlr4.Recognizer' # checksum: 6e605dda
118
+ anti-bloat:
119
+ - description: 'remove unittest reference'
120
+ replacements_plain:
121
+ 'import unittest': ''
122
+ change_class:
123
+ 'Test': 'un-usable'
124
+
93
125
  - module-name: 'anyio._core._eventloop' # checksum: c0b82a1e
94
126
  implicit-imports:
95
127
  - depends:
@@ -534,6 +566,13 @@
534
566
  - depends:
535
567
  - 'urllib.request'
536
568
 
569
+ - module-name: 'celery' # checksum: 7d07a2d1
570
+ anti-bloat:
571
+ - description: 'remove IPython reference'
572
+ no-auto-follow:
573
+ 'IPython': 'ignore'
574
+ when: 'not use_ipython'
575
+
537
576
  - module-name: 'certifi' # checksum: 73df1a1e
538
577
  data-files:
539
578
  patterns:
@@ -1039,6 +1078,11 @@
1039
1078
  - depends:
1040
1079
  - 'Equation.equation_*'
1041
1080
 
1081
+ - module-name: 'eth_utils' # checksum: c62fca1b
1082
+ data-files:
1083
+ dirs:
1084
+ - '__json'
1085
+
1042
1086
  - module-name: 'evaluate.config' # checksum: becc1d28
1043
1087
  anti-bloat:
1044
1088
  - description: 'workaround python version test not compile time recognized'
@@ -1540,6 +1584,17 @@
1540
1584
  - description: 'workaround hard module import attribute bug'
1541
1585
  append_plain: 'from .utils.tqdm import tqdm'
1542
1586
 
1587
+ - module-name: 'hydra' # checksum: 380a0a91
1588
+ data-files:
1589
+ dirs:
1590
+ - 'conf'
1591
+
1592
+ - module-name: 'hydra.core.plugins' # checksum: f4d9feae
1593
+ implicit-imports:
1594
+ - depends:
1595
+ - 'hydra._internal.core_plugins.*'
1596
+ - 'hydra_plugins.*'
1597
+
1543
1598
  - module-name: 'imageio.core.imopen' # checksum: 7af58240
1544
1599
  anti-bloat:
1545
1600
  - replacements_plain:
@@ -4287,6 +4342,18 @@
4287
4342
  patterns:
4288
4343
  - 'words.txt'
4289
4344
 
4345
+ - module-name: 'selenium' # checksum: 19747624
4346
+ data-files:
4347
+ dirs:
4348
+ - '.'
4349
+ dlls:
4350
+ - from_filenames:
4351
+ relative_path: 'webdriver/common/windows'
4352
+ prefixes:
4353
+ - 'selenium-manager'
4354
+ executable: 'yes'
4355
+ when: 'win32'
4356
+
4290
4357
  - module-name: 'sentence_transformers.SentenceTransformer' # checksum: c6062648
4291
4358
  implicit-imports:
4292
4359
  - depends:
@@ -6655,6 +6722,11 @@
6655
6722
  'from distributed import Client': 'raise ImportError'
6656
6723
  when: 'not use_dask'
6657
6724
 
6725
+ - module-name: 'twofish' # checksum: c8ae9b1e
6726
+ implicit-imports:
6727
+ - depends:
6728
+ - '_twofish'
6729
+
6658
6730
  - module-name: 'tzdata' # checksum: dae3c0e3
6659
6731
  data-files:
6660
6732
  dirs:
@@ -45,6 +45,7 @@ from nuitka.nodes.VariableReleaseNodes import (
45
45
  makeStatementReleaseVariable,
46
46
  makeStatementsReleaseVariables,
47
47
  )
48
+ from nuitka.plugins.Plugins import Plugins
48
49
  from nuitka.PythonVersions import python_version
49
50
 
50
51
  from .ReformulationClasses3 import buildClassNode3
@@ -63,6 +64,10 @@ from .TreeHelpers import (
63
64
  def buildClassNode2(provider, node, source_ref):
64
65
  # This function is the Python2 special case with special re-formulation as
65
66
  # according to Developer Manual, and it's very detailed, pylint: disable=too-many-locals
67
+
68
+ # First, allow plugins to modify the code if they want to.
69
+ Plugins.onClassBodyParsing(provider=provider, class_name=node.name, node=node)
70
+
66
71
  class_statement_nodes, class_doc = extractDocFromBody(node)
67
72
 
68
73
  function_body = ExpressionClassBodyP2(
@@ -79,6 +79,7 @@ from nuitka.nodes.VariableRefNodes import (
79
79
  )
80
80
  from nuitka.nodes.VariableReleaseNodes import makeStatementsReleaseVariables
81
81
  from nuitka.Options import isExperimental
82
+ from nuitka.plugins.Plugins import Plugins
82
83
  from nuitka.PythonVersions import python_version
83
84
  from nuitka.specs.ParameterSpecs import ParameterSpec
84
85
 
@@ -126,6 +127,10 @@ def buildClassNode3(provider, node, source_ref):
126
127
 
127
128
  # This function is the Python3 special case with special re-formulation as
128
129
  # according to Developer Manual.
130
+
131
+ # First, allow plugins to modify the code if they want to.
132
+ Plugins.onClassBodyParsing(provider=provider, class_name=node.name, node=node)
133
+
129
134
  class_statement_nodes, class_doc = extractDocFromBody(node)
130
135
 
131
136
  # We need a scope for the temporary variables, and they might be closured.