naeural-core 7.7.243__py3-none-any.whl → 7.7.245__py3-none-any.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.
- naeural_core/business/base/base_plugin_biz.py +57 -1
- naeural_core/business/base/base_plugin_biz_loop.py +10 -2
- naeural_core/business/business_manager.py +42 -20
- naeural_core/main/orchestrator.py +8 -2
- naeural_core/main/ver.py +1 -1
- naeural_core/manager.py +28 -3
- {naeural_core-7.7.243.dist-info → naeural_core-7.7.245.dist-info}/METADATA +1 -1
- {naeural_core-7.7.243.dist-info → naeural_core-7.7.245.dist-info}/RECORD +10 -10
- {naeural_core-7.7.243.dist-info → naeural_core-7.7.245.dist-info}/WHEEL +0 -0
- {naeural_core-7.7.243.dist-info → naeural_core-7.7.245.dist-info}/licenses/LICENSE +0 -0
|
@@ -5,7 +5,7 @@ import numpy as np
|
|
|
5
5
|
import traceback
|
|
6
6
|
import json
|
|
7
7
|
|
|
8
|
-
from time import time, sleep
|
|
8
|
+
from time import time, sleep, perf_counter
|
|
9
9
|
from copy import deepcopy
|
|
10
10
|
from collections import deque, OrderedDict
|
|
11
11
|
from functools import partial
|
|
@@ -1933,6 +1933,16 @@ class BasePluginExecutor(
|
|
|
1933
1933
|
return updates
|
|
1934
1934
|
|
|
1935
1935
|
def _update_instance_config(self):
|
|
1936
|
+
debug_load_timings = self.log.config_data.get('PLUGINS_DEBUG_LOAD_TIMINGS', False)
|
|
1937
|
+
if debug_load_timings:
|
|
1938
|
+
cfg_start = perf_counter()
|
|
1939
|
+
env_merge_s = 0.0
|
|
1940
|
+
default_merge_s = 0.0
|
|
1941
|
+
validate_s = 0.0
|
|
1942
|
+
warnings_s = 0.0
|
|
1943
|
+
alerters_s = 0.0
|
|
1944
|
+
timebins_s = 0.0
|
|
1945
|
+
shmem_s = 0.0
|
|
1936
1946
|
if self._instance_config is not None:
|
|
1937
1947
|
reconfig = True
|
|
1938
1948
|
self.P("* * * * Reconfiguring plugin {} * *".format(self), color='b')
|
|
@@ -1946,30 +1956,46 @@ class BasePluginExecutor(
|
|
|
1946
1956
|
# initially this call did not have `default_config = self._instance_config` that led
|
|
1947
1957
|
# to wrongly using at each update the _default_config
|
|
1948
1958
|
self.__set_loop_stage('_update_instance_config._environment_variables')
|
|
1959
|
+
if debug_load_timings:
|
|
1960
|
+
env_start = perf_counter()
|
|
1949
1961
|
self._instance_config = self._merge_prepare_config(
|
|
1950
1962
|
default_config=self._instance_config,
|
|
1951
1963
|
delta_config=self._environment_variables,
|
|
1952
1964
|
debug=self.__debug_config_changes,
|
|
1953
1965
|
)
|
|
1966
|
+
if debug_load_timings:
|
|
1967
|
+
env_merge_s = perf_counter() - env_start
|
|
1954
1968
|
# now normal delta config from upstream
|
|
1955
1969
|
self.__set_loop_stage('_update_instance_config._default_config')
|
|
1956
1970
|
|
|
1957
1971
|
updates = self._check_delta_config(self._upstream_config) # check if there are any updates
|
|
1958
1972
|
is_instance_command_only = len(updates) == 1 and 'INSTANCE_COMMAND' in updates
|
|
1959
1973
|
|
|
1974
|
+
if debug_load_timings:
|
|
1975
|
+
default_merge_start = perf_counter()
|
|
1960
1976
|
self._instance_config = self._merge_prepare_config(
|
|
1961
1977
|
default_config=self._instance_config,
|
|
1962
1978
|
debug=self.__debug_config_changes,
|
|
1963
1979
|
)
|
|
1980
|
+
if debug_load_timings:
|
|
1981
|
+
default_merge_s = perf_counter() - default_merge_start
|
|
1964
1982
|
|
|
1965
1983
|
self.__set_loop_stage('_update_instance_config.setup_config_and_validate')
|
|
1966
1984
|
|
|
1967
1985
|
# if we do not run the next line then the config will not be updated for each of the cfg_* handlers
|
|
1968
1986
|
# as they will point to the old config_data dict
|
|
1987
|
+
if debug_load_timings:
|
|
1988
|
+
validate_start = perf_counter()
|
|
1969
1989
|
self.setup_config_and_validate(self._instance_config) # here _instance_config will be copyed to config_data
|
|
1990
|
+
if debug_load_timings:
|
|
1991
|
+
validate_s = perf_counter() - validate_start
|
|
1970
1992
|
|
|
1971
1993
|
self.__set_loop_stage('_update_instance_config._print_warnings')
|
|
1994
|
+
if debug_load_timings:
|
|
1995
|
+
warnings_start = perf_counter()
|
|
1972
1996
|
self._print_warnings()
|
|
1997
|
+
if debug_load_timings:
|
|
1998
|
+
warnings_s = perf_counter() - warnings_start
|
|
1973
1999
|
|
|
1974
2000
|
# now for the second part of the config: reset/set stuff
|
|
1975
2001
|
if is_instance_command_only:
|
|
@@ -1981,18 +2007,30 @@ class BasePluginExecutor(
|
|
|
1981
2007
|
# TODO: make sure you set RESTART_ALERTERS_ON_CONFIG to False for plugins
|
|
1982
2008
|
# that should NOT restart alerters
|
|
1983
2009
|
self.__set_loop_stage('_update_instance_config._create_alert_state_machine')
|
|
2010
|
+
if debug_load_timings:
|
|
2011
|
+
alerters_start = perf_counter()
|
|
1984
2012
|
self._create_alert_state_machine()
|
|
2013
|
+
if debug_load_timings:
|
|
2014
|
+
alerters_s = perf_counter() - alerters_start
|
|
1985
2015
|
|
|
1986
2016
|
# Create time bins mixin default # TODO: refactor similar with alerters
|
|
1987
2017
|
self.__set_loop_stage('_update_instance_config.timebins_create_bin')
|
|
2018
|
+
if debug_load_timings:
|
|
2019
|
+
timebins_start = perf_counter()
|
|
1988
2020
|
self.timebins_create_bin()
|
|
2021
|
+
if debug_load_timings:
|
|
2022
|
+
timebins_s = perf_counter() - timebins_start
|
|
1989
2023
|
|
|
1990
2024
|
# now maybe re-init plugin shmem if uptate or new initialization
|
|
1991
2025
|
if (self.cfg_restart_shmem_on_config and reconfig) or not reconfig:
|
|
1992
2026
|
# `global_shmem` here is WRONG: we should NOT allow plugins to access global shmem!
|
|
1993
2027
|
# so instead we use `plugins_shmem` initiated by the BizMgr
|
|
1994
2028
|
self.__set_loop_stage('_update_instance_config.init_plugins_shared_memory')
|
|
2029
|
+
if debug_load_timings:
|
|
2030
|
+
shmem_start = perf_counter()
|
|
1995
2031
|
self.init_plugins_shared_memory(self.plugins_shmem)
|
|
2032
|
+
if debug_load_timings:
|
|
2033
|
+
shmem_s = perf_counter() - shmem_start
|
|
1996
2034
|
|
|
1997
2035
|
self.last_config_timestamp = self.log.now_str(nice_print=True, short=False)
|
|
1998
2036
|
if self.is_plugin_stopped:
|
|
@@ -2000,6 +2038,24 @@ class BasePluginExecutor(
|
|
|
2000
2038
|
msg='Plugin configured while being stopped',
|
|
2001
2039
|
notif_code=ct.NOTIFICATION_CODES.PLUGIN_CONFIG_IN_PAUSE_OK,
|
|
2002
2040
|
)
|
|
2041
|
+
if debug_load_timings:
|
|
2042
|
+
total_s = perf_counter() - cfg_start
|
|
2043
|
+
other_s = total_s - (env_merge_s + default_merge_s + validate_s + warnings_s + alerters_s + timebins_s + shmem_s)
|
|
2044
|
+
self.P(
|
|
2045
|
+
"CONFIG_TIMING {} total={:.3f}s other={:.3f}s env_merge={:.3f}s default_merge={:.3f}s validate={:.3f}s warnings={:.3f}s alerters={:.3f}s timebins={:.3f}s shmem={:.3f}s".format(
|
|
2046
|
+
self,
|
|
2047
|
+
total_s,
|
|
2048
|
+
other_s,
|
|
2049
|
+
env_merge_s,
|
|
2050
|
+
default_merge_s,
|
|
2051
|
+
validate_s,
|
|
2052
|
+
warnings_s,
|
|
2053
|
+
alerters_s,
|
|
2054
|
+
timebins_s,
|
|
2055
|
+
shmem_s,
|
|
2056
|
+
),
|
|
2057
|
+
color='b',
|
|
2058
|
+
)
|
|
2003
2059
|
self.__set_loop_stage('_update_instance_config.EXIT_update_instance_config')
|
|
2004
2060
|
return
|
|
2005
2061
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import traceback
|
|
2
2
|
import numpy as np
|
|
3
3
|
|
|
4
|
-
from time import time, sleep
|
|
4
|
+
from time import time, sleep, perf_counter
|
|
5
5
|
from collections import deque
|
|
6
6
|
|
|
7
7
|
from naeural_core import constants as ct
|
|
@@ -387,6 +387,9 @@ class _BasePluginLoopMixin(object):
|
|
|
387
387
|
|
|
388
388
|
def __on_init(self):
|
|
389
389
|
self.P("Running build-in & custom on_init events...")
|
|
390
|
+
debug_load_timings = self.log.config_data.get('PLUGINS_DEBUG_LOAD_TIMINGS', False)
|
|
391
|
+
if debug_load_timings:
|
|
392
|
+
init_start = perf_counter()
|
|
390
393
|
if self.cfg_disabled:
|
|
391
394
|
self.P(f"WARNING: This plugin instance of `{self.__class__.__name__}` is DISABLED", boxed=True, color='r')
|
|
392
395
|
return
|
|
@@ -400,7 +403,13 @@ class _BasePluginLoopMixin(object):
|
|
|
400
403
|
msg=f"Custom on_init event failed: {e}",
|
|
401
404
|
displayed=True,
|
|
402
405
|
)
|
|
406
|
+
if debug_load_timings:
|
|
407
|
+
init_s = perf_counter() - init_start
|
|
408
|
+
self.P("PLUGIN_INIT_TIMING {} status=error on_init={:.3f}s".format(self, init_s), color='r')
|
|
403
409
|
raise e
|
|
410
|
+
if debug_load_timings:
|
|
411
|
+
init_s = perf_counter() - init_start
|
|
412
|
+
self.P("PLUGIN_INIT_TIMING {} status=ok on_init={:.3f}s".format(self, init_s), color='b')
|
|
404
413
|
self._init_process_finalized = True
|
|
405
414
|
return
|
|
406
415
|
|
|
@@ -537,4 +546,3 @@ class _BasePluginLoopMixin(object):
|
|
|
537
546
|
#### del self.__upstream_inputs_deque ### this should NOT be called here - please do not ADD/DECOMMENT
|
|
538
547
|
self._on_close()
|
|
539
548
|
return
|
|
540
|
-
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import gc
|
|
3
3
|
import os
|
|
4
|
+
import sys
|
|
4
5
|
|
|
5
6
|
import traceback
|
|
6
7
|
|
|
@@ -67,6 +68,15 @@ class BusinessManager(Manager):
|
|
|
67
68
|
def startup(self):
|
|
68
69
|
super().startup()
|
|
69
70
|
self._dct_current_instances = self._dct_subalterns # this allows usage of `self.get_subaltern(instance_hash)`
|
|
71
|
+
if self.config_data.get('PLUGINS_DEBUG_LOAD_TIMINGS', False):
|
|
72
|
+
self.P(
|
|
73
|
+
"Plugin timing env: python={} dont_write_bytecode={} env_PYTHONDONTWRITEBYTECODE={}".format(
|
|
74
|
+
sys.version.split()[0],
|
|
75
|
+
getattr(sys, 'dont_write_bytecode', None),
|
|
76
|
+
os.environ.get('PYTHONDONTWRITEBYTECODE'),
|
|
77
|
+
),
|
|
78
|
+
color='b',
|
|
79
|
+
)
|
|
70
80
|
return
|
|
71
81
|
|
|
72
82
|
@property
|
|
@@ -246,14 +256,17 @@ class BusinessManager(Manager):
|
|
|
246
256
|
self.set_loop_stage('2.bm.refresh._check_instances.get_current_jobs')
|
|
247
257
|
all_jobs = self.get_current_jobs()
|
|
248
258
|
n_all_jobs = len(all_jobs)
|
|
249
|
-
self.
|
|
250
|
-
|
|
259
|
+
debug_load_timings = self.config_data.get('PLUGINS_DEBUG_LOAD_TIMINGS', False)
|
|
260
|
+
if debug_load_timings:
|
|
261
|
+
self.P("Checking {} business plugin instances...".format(n_all_jobs))
|
|
262
|
+
total_start = perf_counter()
|
|
251
263
|
for idx_job, (initiator_addr, initiator_id, modified_by_addr, modified_by_id, session_id, stream_name, signature, instance_id, upstream_config) in enumerate(all_jobs):
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
264
|
+
if debug_load_timings:
|
|
265
|
+
iter_start = perf_counter()
|
|
266
|
+
get_class_s = 0.0
|
|
267
|
+
instantiate_s = 0.0
|
|
268
|
+
start_thread_s = 0.0
|
|
269
|
+
update_config_s = 0.0
|
|
257
270
|
is_new_instance = False
|
|
258
271
|
try:
|
|
259
272
|
obj_identification = (stream_name, signature, instance_id)
|
|
@@ -279,7 +292,8 @@ class BusinessManager(Manager):
|
|
|
279
292
|
self.set_loop_stage('2.bm.refresh.get_class.{}:{}'.format(signature,instance_id))
|
|
280
293
|
if 'update_monitor' in signature.lower():
|
|
281
294
|
print('debug')
|
|
282
|
-
|
|
295
|
+
if debug_load_timings:
|
|
296
|
+
get_class_start = perf_counter()
|
|
283
297
|
_module_name, _class_name, _cls_def, _config_dict = self._get_module_name_and_class(
|
|
284
298
|
locations=ct.PLUGIN_SEARCH.LOC_BIZ_PLUGINS,
|
|
285
299
|
name=signature,
|
|
@@ -289,7 +303,8 @@ class BusinessManager(Manager):
|
|
|
289
303
|
safe_locations=ct.PLUGIN_SEARCH.SAFE_BIZ_PLUGINS,
|
|
290
304
|
safe_imports=ct.PLUGIN_SEARCH.SAFE_BIZ_IMPORTS
|
|
291
305
|
)
|
|
292
|
-
|
|
306
|
+
if debug_load_timings:
|
|
307
|
+
get_class_s = perf_counter() - get_class_start
|
|
293
308
|
|
|
294
309
|
self.set_loop_stage('2.bm.refresh.check_class.{}:{}'.format(signature,instance_id))
|
|
295
310
|
|
|
@@ -320,7 +335,8 @@ class BusinessManager(Manager):
|
|
|
320
335
|
|
|
321
336
|
_module_version = _config_dict.get('MODULE_VERSION', '0.0.0')
|
|
322
337
|
|
|
323
|
-
|
|
338
|
+
if debug_load_timings:
|
|
339
|
+
instantiate_start = perf_counter()
|
|
324
340
|
plugin = _cls_def(
|
|
325
341
|
log=self.log,
|
|
326
342
|
global_shmem=self.shmem, # this SHOULD NOT be used for inter-plugin mem access
|
|
@@ -344,7 +360,8 @@ class BusinessManager(Manager):
|
|
|
344
360
|
pipelines_view_function=self.owner.get_pipelines_view,
|
|
345
361
|
pipeline_use_local_comms_only=self._dct_config_streams[stream_name].get(ct.CONFIG_STREAM.K_USE_LOCAL_COMMS_ONLY, False),
|
|
346
362
|
)
|
|
347
|
-
|
|
363
|
+
if debug_load_timings:
|
|
364
|
+
instantiate_s = perf_counter() - instantiate_start
|
|
348
365
|
if plugin.cfg_runs_only_on_supervisor_node:
|
|
349
366
|
if not self.is_supervisor_node:
|
|
350
367
|
self.P(
|
|
@@ -384,40 +401,45 @@ class BusinessManager(Manager):
|
|
|
384
401
|
|
|
385
402
|
self.P("New plugin instance {} added for exec.".format(plugin), color='g')
|
|
386
403
|
if self._run_on_threads:
|
|
387
|
-
|
|
404
|
+
if debug_load_timings:
|
|
405
|
+
start_thread_start = perf_counter()
|
|
388
406
|
plugin.start_thread()
|
|
389
|
-
|
|
390
|
-
|
|
407
|
+
if debug_load_timings:
|
|
408
|
+
start_thread_s = perf_counter() - start_thread_start
|
|
409
|
+
#endif new instance
|
|
391
410
|
else:
|
|
392
411
|
# I do have the instance, I just need to modify the config
|
|
393
412
|
plugin = self._dct_current_instances[instance_hash]
|
|
394
413
|
if plugin is not None:
|
|
395
414
|
# next we need to check if the config has changed and handle also the particular
|
|
396
415
|
# case when the plugin just received a INSTANCE_COMMAND
|
|
397
|
-
|
|
416
|
+
if debug_load_timings:
|
|
417
|
+
update_config_start = perf_counter()
|
|
398
418
|
plugin.maybe_update_instance_config(
|
|
399
419
|
upstream_config=upstream_config,
|
|
400
420
|
session_id=session_id,
|
|
401
421
|
modified_by_addr=modified_by_addr,
|
|
402
422
|
modified_by_id=modified_by_id,
|
|
403
423
|
)
|
|
404
|
-
|
|
424
|
+
if debug_load_timings:
|
|
425
|
+
update_config_s = perf_counter() - update_config_start
|
|
405
426
|
self.set_loop_stage('2.bm.refresh.maybe_update_instance_config.DONE: {}:{}:{}'.format(stream_name, signature, instance_id))
|
|
406
427
|
#endif
|
|
407
428
|
#endif
|
|
408
429
|
finally:
|
|
409
|
-
|
|
410
|
-
if is_new_instance:
|
|
430
|
+
if is_new_instance and debug_load_timings:
|
|
411
431
|
iter_total_s = perf_counter() - iter_start
|
|
412
432
|
total_elapsed_s = perf_counter() - total_start
|
|
433
|
+
other_s = iter_total_s - (get_class_s + instantiate_s + start_thread_s + update_config_s)
|
|
413
434
|
self.P(
|
|
414
|
-
" START Plugin {}/{} {}:{} new={} total={:.2f}s get_class={:.2f}s init={:.2f}s start_thread={:.2f}s update_cfg={:.2f}s (ALL={:.2f}s)".format(
|
|
435
|
+
" START Plugin {}/{} {}:{} new={} total={:.2f}s other={:.2f}s get_class={:.2f}s init={:.2f}s start_thread={:.2f}s update_cfg={:.2f}s (ALL={:.2f}s)".format(
|
|
415
436
|
idx_job + 1,
|
|
416
437
|
n_all_jobs,
|
|
417
438
|
signature,
|
|
418
439
|
instance_id,
|
|
419
440
|
is_new_instance,
|
|
420
441
|
iter_total_s,
|
|
442
|
+
other_s,
|
|
421
443
|
get_class_s,
|
|
422
444
|
instantiate_s,
|
|
423
445
|
start_thread_s,
|
|
@@ -426,7 +448,7 @@ class BusinessManager(Manager):
|
|
|
426
448
|
),
|
|
427
449
|
boxed=True
|
|
428
450
|
)
|
|
429
|
-
# endif
|
|
451
|
+
# endif debug_load_timings
|
|
430
452
|
# end try-finally
|
|
431
453
|
|
|
432
454
|
return current_instances
|
|
@@ -160,8 +160,14 @@ class Orchestrator(DecentrAIObject,
|
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
def startup(self):
|
|
163
|
-
super().startup()
|
|
164
|
-
self.P(
|
|
163
|
+
super().startup()
|
|
164
|
+
self.P(
|
|
165
|
+
"Starting Execution Engine '{}' v.{}, core {}, (WORK_OFFLINE={})".format(
|
|
166
|
+
self.cfg_eeid, self.__version__, self.core_version,
|
|
167
|
+
self.cfg_work_offline,
|
|
168
|
+
),
|
|
169
|
+
boxed=True
|
|
170
|
+
)
|
|
165
171
|
if self.runs_in_docker:
|
|
166
172
|
self.P("Running in Docker container detected.")
|
|
167
173
|
self._maybe_env_and_docker_setup()
|
naeural_core/main/ver.py
CHANGED
naeural_core/manager.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from naeural_core import constants as ct
|
|
2
2
|
|
|
3
|
+
from time import perf_counter
|
|
3
4
|
from naeural_core import Logger
|
|
4
5
|
from ratio1 import _PluginsManagerMixin
|
|
5
6
|
from naeural_core import DecentrAIObject
|
|
@@ -75,13 +76,21 @@ class Manager(DecentrAIObject, _PluginsManagerMixin):
|
|
|
75
76
|
def _get_module_name_and_class(self, locations, name, suffix=None, verbose=1, safety_check=True, safe_locations=None, safe_imports=None):
|
|
76
77
|
if safe_locations is None:
|
|
77
78
|
self.P(" Warning: no safe location provided", color='r')
|
|
79
|
+
debug_load_timings = self.config_data.get('PLUGINS_DEBUG_LOAD_TIMINGS', False)
|
|
80
|
+
cache_key = name.lower()
|
|
81
|
+
cache_hit = cache_key in self.plugin_locations_cache
|
|
82
|
+
if debug_load_timings:
|
|
83
|
+
load_start = perf_counter()
|
|
84
|
+
lookup_s = 0.0
|
|
78
85
|
self.P("Attempting to load {} plugin '{}'".format(
|
|
79
86
|
self.__class__.__name__, name,
|
|
80
87
|
))
|
|
81
|
-
if
|
|
82
|
-
_module_name, _class_name, _cls_def, _config_dict = self.plugin_locations_cache[
|
|
88
|
+
if cache_hit:
|
|
89
|
+
_module_name, _class_name, _cls_def, _config_dict = self.plugin_locations_cache[cache_key]
|
|
83
90
|
self.P(f'Attempting to load plugin {name} from cache.')
|
|
84
91
|
else:
|
|
92
|
+
if debug_load_timings:
|
|
93
|
+
lookup_start = perf_counter()
|
|
85
94
|
_module_name, _class_name, _cls_def, _config_dict = super()._get_module_name_and_class(
|
|
86
95
|
locations=locations,
|
|
87
96
|
name=name,
|
|
@@ -92,9 +101,25 @@ class Manager(DecentrAIObject, _PluginsManagerMixin):
|
|
|
92
101
|
search_in_packages=ct.PLUGIN_SEARCH.SEARCH_IN_PACKAGES,
|
|
93
102
|
safe_imports=safe_imports,
|
|
94
103
|
)
|
|
95
|
-
|
|
104
|
+
if debug_load_timings:
|
|
105
|
+
lookup_s = perf_counter() - lookup_start
|
|
106
|
+
self.plugin_locations_cache[cache_key] = _module_name, _class_name, _cls_def, _config_dict
|
|
96
107
|
# endif name in cache
|
|
97
108
|
|
|
109
|
+
if debug_load_timings:
|
|
110
|
+
total_s = perf_counter() - load_start
|
|
111
|
+
self.P(
|
|
112
|
+
"Plugin load timing name='{}' cache_hit={} lookup={:.3f}s total={:.3f}s module={} class={}".format(
|
|
113
|
+
name,
|
|
114
|
+
cache_hit,
|
|
115
|
+
lookup_s,
|
|
116
|
+
total_s,
|
|
117
|
+
_module_name,
|
|
118
|
+
_class_name,
|
|
119
|
+
),
|
|
120
|
+
color='b',
|
|
121
|
+
)
|
|
122
|
+
|
|
98
123
|
if _cls_def is None and verbose >= 1:
|
|
99
124
|
self._create_notification(
|
|
100
125
|
notif=ct.STATUS_TYPE.STATUS_EXCEPTION,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: naeural_core
|
|
3
|
-
Version: 7.7.
|
|
3
|
+
Version: 7.7.245
|
|
4
4
|
Summary: Ratio1 Core is the backbone of the Ratio1 Edge Protocol.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Ratio1/naeural_core
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/Ratio1/naeural_core/issues
|
|
@@ -2,15 +2,15 @@ naeural_core/__init__.py,sha256=DqUL1kr0r9wXGYpH4OQAdHgSe00nfdukr2fekqkgiiY,88
|
|
|
2
2
|
naeural_core/constants.py,sha256=jOOkIy93obAkD_x73rzBbQgcYNSK6JGyJ7Pk2wZEG9g,38027
|
|
3
3
|
naeural_core/data_structures.py,sha256=Qp7VL8N8nKOkzUfRPbJDWbcWyo1Rjc6QarRK7pol-g0,13848
|
|
4
4
|
naeural_core/decentrai_object.py,sha256=pw-NRmlQRAzvUVFfh1xTJdj1Ltd2Y-UVrpompriUQzA,4408
|
|
5
|
-
naeural_core/manager.py,sha256=
|
|
5
|
+
naeural_core/manager.py,sha256=BJrcIBIwykW_46xhbFHJXM9tbnLiF0LDJJc3Dxwi9Wg,4147
|
|
6
6
|
naeural_core/bc/__init__.py,sha256=Su7YuJjTPI1P3a6L8WGRqW2YvDADyLMYSipcZognAEM,176
|
|
7
7
|
naeural_core/business/__init__.py,sha256=9boWpUoISx1OkCftejQXaw-sqv6M88LLt7CLNZjdnfU,46
|
|
8
|
-
naeural_core/business/business_manager.py,sha256=
|
|
8
|
+
naeural_core/business/business_manager.py,sha256=gbupztHqlm_u-8LW-gLfLcYuSJGEjTG3ppMvcLuHWjk,29736
|
|
9
9
|
naeural_core/business/utils.py,sha256=ykl7d1snVldTPR7LyDjSSPL4LOGag0pgkRfOnGZXJKg,15765
|
|
10
10
|
naeural_core/business/base/__init__.py,sha256=OEhyheZKcCk2GafJuO6bDVi1ph1pZyW0A8wan_SuesA,270
|
|
11
|
-
naeural_core/business/base/base_plugin_biz.py,sha256=
|
|
11
|
+
naeural_core/business/base/base_plugin_biz.py,sha256=FPI5sDVnj3PkWu9jmzfSrCAvs3trAy9BW4HBxhrPW9Q,76653
|
|
12
12
|
naeural_core/business/base/base_plugin_biz_api.py,sha256=r1xwa1UrPvtD7ArFHlH54zwwLSxZVXOo4Jmc8eTyxU8,16956
|
|
13
|
-
naeural_core/business/base/base_plugin_biz_loop.py,sha256=
|
|
13
|
+
naeural_core/business/base/base_plugin_biz_loop.py,sha256=IIVPKXcxW5odZNokI3whmJi01MW5o4ZM2xu8la_LUTI,18964
|
|
14
14
|
naeural_core/business/base/cv_plugin_executor.py,sha256=1k8m26-1POBOts13AMMJfxZb0GzaAoAO6qXbCYL1Ymw,36661
|
|
15
15
|
naeural_core/business/base/network_processor.py,sha256=9HXRufgHpwM6PChHmQgE_pmfKpByk2hc-rBDHtW6D_8,953
|
|
16
16
|
naeural_core/business/base/sd_plugin_executor.py,sha256=sdAQZBmFkgvvKCMirDdwgeklBq3j-rZcgkvBEojcHw4,2952
|
|
@@ -344,8 +344,8 @@ naeural_core/main/epochs_manager.py,sha256=lH01Pv9E_uz5fdvh_W2dZ29hZLM0CL2NZfuYJ
|
|
|
344
344
|
naeural_core/main/geoloc.py,sha256=TEqyuNzpVqZSBCo0OOrpHYncIsHSClvRt28hgvxJ35o,24909
|
|
345
345
|
naeural_core/main/main_loop_data_handler.py,sha256=hABB65OUBhtur3rd2mYsEhdAc54jVILzybrvxml5h0s,13815
|
|
346
346
|
naeural_core/main/net_mon.py,sha256=qlyo1fqTeQy_M9VfJOxon_PBbQat0QO9Zbu_93FMbLc,88144
|
|
347
|
-
naeural_core/main/orchestrator.py,sha256=
|
|
348
|
-
naeural_core/main/ver.py,sha256=
|
|
347
|
+
naeural_core/main/orchestrator.py,sha256=EodPSzrJd-Yg_RnBIA6-aIsMBa94I5uV1ATZUR5j3Kg,70750
|
|
348
|
+
naeural_core/main/ver.py,sha256=ULuSaZSXo9u6tjfLVaOUf9FIoBZf8ONzlyZwK0NdiOs,335
|
|
349
349
|
naeural_core/main/orchestrator_mixins/__init__.py,sha256=MNleg48vdlqsyAR8Vamjl4ahG2jwCH5kLbQN5CfU57E,149
|
|
350
350
|
naeural_core/main/orchestrator_mixins/managers_init.py,sha256=sQVqpr99a5WP9HCloYCyaWDW5J3IypEImlf703bqTF4,6692
|
|
351
351
|
naeural_core/main/orchestrator_mixins/utils.py,sha256=jMa0uStVNLQmp0VhNMRvfBDjo387ORLlUVLthRNBKqc,1866
|
|
@@ -555,7 +555,7 @@ naeural_core/utils/tracing/onnx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
|
555
555
|
naeural_core/utils/tracing/onnx/base_trt_scripter.py,sha256=1FelEBo7JGsc8hbJ3sevzxnM-J61nvBHz6L1VLpZrVc,2043
|
|
556
556
|
naeural_core/utils/tracing/onnx/utils.py,sha256=IKmqUWakrMWn34uJvbRjNLacdszD8jkkQBFPUhgJtOQ,5618
|
|
557
557
|
naeural_core/utils/web_app/favicon.ico,sha256=zU6-Jxx4ol1A9FJvcQELYV9DiqwqyvjPS89xQybZE74,15406
|
|
558
|
-
naeural_core-7.7.
|
|
559
|
-
naeural_core-7.7.
|
|
560
|
-
naeural_core-7.7.
|
|
561
|
-
naeural_core-7.7.
|
|
558
|
+
naeural_core-7.7.245.dist-info/METADATA,sha256=YBBsJaDZLe6Pwtp_OZa5CmVJOxHELr4eAhMVF-0u8w4,6522
|
|
559
|
+
naeural_core-7.7.245.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
560
|
+
naeural_core-7.7.245.dist-info/licenses/LICENSE,sha256=SPHPWjOdAUUUUI020nI5VNCtFjmTOlJpi1cZxyB3gKo,11339
|
|
561
|
+
naeural_core-7.7.245.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|