naeural-client 2.5.22__py3-none-any.whl → 2.5.24__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_client/_ver.py +1 -1
- naeural_client/base/generic_session.py +14 -7
- naeural_client/cli/cli.py +12 -11
- naeural_client/cli/nodes.py +51 -24
- naeural_client/const/__init__.py +1 -1
- naeural_client/const/misc.py +10 -0
- naeural_client/utils/config.py +4 -2
- {naeural_client-2.5.22.dist-info → naeural_client-2.5.24.dist-info}/METADATA +1 -1
- {naeural_client-2.5.22.dist-info → naeural_client-2.5.24.dist-info}/RECORD +12 -12
- {naeural_client-2.5.22.dist-info → naeural_client-2.5.24.dist-info}/WHEEL +0 -0
- {naeural_client-2.5.22.dist-info → naeural_client-2.5.24.dist-info}/entry_points.txt +0 -0
- {naeural_client-2.5.22.dist-info → naeural_client-2.5.24.dist-info}/licenses/LICENSE +0 -0
naeural_client/_ver.py
CHANGED
@@ -14,7 +14,7 @@ from ..bc import DefaultBlockEngine, _DotDict
|
|
14
14
|
from ..const import (
|
15
15
|
COMMANDS, ENVIRONMENT, HB, PAYLOAD_DATA, STATUS_TYPE,
|
16
16
|
PLUGIN_SIGNATURES, DEFAULT_PIPELINES,
|
17
|
-
BLOCKCHAIN_CONFIG
|
17
|
+
BLOCKCHAIN_CONFIG, SESSION_CT
|
18
18
|
)
|
19
19
|
from ..const import comms as comm_ct
|
20
20
|
from ..io_formatter import IOFormatterWrapper
|
@@ -2255,6 +2255,7 @@ class GenericSession(BaseDecentrAIObject):
|
|
2255
2255
|
min_supervisors=2,
|
2256
2256
|
allowed_only=False,
|
2257
2257
|
supervisor=None,
|
2258
|
+
df_only=False,
|
2258
2259
|
):
|
2259
2260
|
"""
|
2260
2261
|
This function will return a Pandas dataframe known nodes in the network based on
|
@@ -2282,6 +2283,9 @@ class GenericSession(BaseDecentrAIObject):
|
|
2282
2283
|
supervisor : str, optional
|
2283
2284
|
The supervisor to wait for. Defaults to None.
|
2284
2285
|
|
2286
|
+
df_only : bool, optional
|
2287
|
+
If True, will return only the Pandas dataframe. Defaults to False.
|
2288
|
+
|
2285
2289
|
Returns
|
2286
2290
|
-------
|
2287
2291
|
|
@@ -2324,10 +2328,11 @@ class GenericSession(BaseDecentrAIObject):
|
|
2324
2328
|
elapsed = tm() - start
|
2325
2329
|
# end while
|
2326
2330
|
# done waiting for supervisors
|
2331
|
+
best_super = 'ERROR'
|
2332
|
+
best_super_alias = 'ERROR'
|
2327
2333
|
|
2328
2334
|
if len(self.__current_network_statuses) > 0:
|
2329
2335
|
best_info = {}
|
2330
|
-
best_super = None
|
2331
2336
|
for supervisor, net_info in self.__current_network_statuses.items():
|
2332
2337
|
if len(net_info) > len(best_info):
|
2333
2338
|
best_info = net_info
|
@@ -2368,10 +2373,12 @@ class GenericSession(BaseDecentrAIObject):
|
|
2368
2373
|
# end if
|
2369
2374
|
pd.options.display.float_format = '{:.1f}'.format
|
2370
2375
|
dct_result = _DotDict({
|
2371
|
-
|
2372
|
-
|
2373
|
-
|
2374
|
-
|
2375
|
-
|
2376
|
+
SESSION_CT.NETSTATS_REPORT : pd.DataFrame(res),
|
2377
|
+
SESSION_CT.NETSTATS_REPORTER : best_super,
|
2378
|
+
SESSION_CT.NETSTATS_REPORTER_ALIAS : best_super_alias,
|
2379
|
+
SESSION_CT.NETSTATS_NR_SUPERVISORS : len(self.__current_network_statuses),
|
2380
|
+
SESSION_CT.NETSTATS_ELAPSED : elapsed,
|
2376
2381
|
})
|
2382
|
+
if df_only:
|
2383
|
+
return dct_result[SESSION_CT.NETSTATS_REPORT]
|
2377
2384
|
return dct_result
|
naeural_client/cli/cli.py
CHANGED
@@ -98,17 +98,18 @@ def main():
|
|
98
98
|
"""
|
99
99
|
try:
|
100
100
|
# Initialize configuration if necessary
|
101
|
-
maybe_init_config()
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
args
|
110
|
-
|
111
|
-
|
101
|
+
initialized = maybe_init_config()
|
102
|
+
|
103
|
+
if initialized:
|
104
|
+
# Build the CLI parser
|
105
|
+
parser = build_parser()
|
106
|
+
args = parser.parse_args()
|
107
|
+
|
108
|
+
# Check if a command function is provided
|
109
|
+
if hasattr(args, "func"):
|
110
|
+
args.func(args) # Pass parsed arguments to the command function
|
111
|
+
else:
|
112
|
+
parser.print_help()
|
112
113
|
|
113
114
|
except Exception as e:
|
114
115
|
# Handle unexpected errors gracefully
|
naeural_client/cli/nodes.py
CHANGED
@@ -1,6 +1,30 @@
|
|
1
|
+
from time import time
|
1
2
|
from naeural_client.utils.config import log_with_color
|
3
|
+
from naeural_client.const import SESSION_CT
|
2
4
|
|
3
5
|
|
6
|
+
def _get_netstats(
|
7
|
+
silent=True,
|
8
|
+
online_only=False,
|
9
|
+
allowed_only=False,
|
10
|
+
supervisor=None,
|
11
|
+
supervisors_only=False,
|
12
|
+
):
|
13
|
+
t1 = time()
|
14
|
+
from naeural_client import Session
|
15
|
+
sess = Session(silent=silent)
|
16
|
+
dct_info = sess.get_network_known_nodes(
|
17
|
+
online_only=online_only, allowed_only=allowed_only, supervisor=supervisor,
|
18
|
+
supervisors_only=supervisors_only,
|
19
|
+
)
|
20
|
+
df = dct_info[SESSION_CT.NETSTATS_REPORT]
|
21
|
+
supervisor = dct_info[SESSION_CT.NETSTATS_REPORTER]
|
22
|
+
super_alias = dct_info[SESSION_CT.NETSTATS_REPORTER_ALIAS]
|
23
|
+
nr_supers = dct_info[SESSION_CT.NETSTATS_NR_SUPERVISORS]
|
24
|
+
_elapsed = dct_info[SESSION_CT.NETSTATS_ELAPSED] # computed on call
|
25
|
+
elapsed = time() - t1 # elapsed=_elapsed
|
26
|
+
return df, supervisor, super_alias, nr_supers, elapsed
|
27
|
+
|
4
28
|
def get_nodes(args):
|
5
29
|
"""
|
6
30
|
This function is used to get the information about the nodes and it will perform the following:
|
@@ -13,22 +37,21 @@ def get_nodes(args):
|
|
13
37
|
supervisor_addr = args.supervisor
|
14
38
|
if args.verbose:
|
15
39
|
log_with_color(f"Getting nodes from supervisor <{supervisor_addr}>...", color='b')
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
online_only=online_only, allowed_only=allowed_only, supervisor=supervisor_addr
|
40
|
+
|
41
|
+
res = _get_netstats(
|
42
|
+
silent=not args.verbose,
|
43
|
+
online_only=args.online or args.peered,
|
44
|
+
allowed_only=args.peered,
|
45
|
+
supervisor=supervisor_addr,
|
23
46
|
)
|
24
|
-
df =
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
47
|
+
df, supervisor, super_alias, nr_supers, elapsed = res
|
48
|
+
|
49
|
+
prefix = "Online n" if (args.online or args.peered) else "N"
|
50
|
+
if supervisor == "ERROR":
|
51
|
+
log_with_color(f"No supervisors or no comms available in {elapsed:.1f}s. Please check your settings.", color='r')
|
52
|
+
else:
|
53
|
+
log_with_color(f"{prefix}odes reported by <{supervisor}> '{super_alias}' in {elapsed:.1f}s ({nr_supers} supervisors seen):", color='b')
|
54
|
+
log_with_color(f"{df}")
|
32
55
|
return
|
33
56
|
|
34
57
|
|
@@ -38,15 +61,19 @@ def get_supervisors(args):
|
|
38
61
|
"""
|
39
62
|
if args.verbose:
|
40
63
|
log_with_color("Getting supervisors...", color='b')
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
elapsed =
|
48
|
-
|
49
|
-
|
64
|
+
|
65
|
+
res = _get_netstats(
|
66
|
+
silent=not args.verbose,
|
67
|
+
online_only=True,
|
68
|
+
supervisors_only=True,
|
69
|
+
)
|
70
|
+
df, supervisor, super_alias, nr_supers, elapsed = res
|
71
|
+
|
72
|
+
if supervisor == "ERROR":
|
73
|
+
log_with_color(f"No supervisors or no comms available in {elapsed:.1f}s. Please check your settings.", color='r')
|
74
|
+
else:
|
75
|
+
log_with_color(f"Supervisors reported by <{supervisor}> '{super_alias}' in {elapsed:.1f}s", color='b')
|
76
|
+
log_with_color(f"{df}")
|
50
77
|
return
|
51
78
|
|
52
79
|
|
naeural_client/const/__init__.py
CHANGED
naeural_client/const/misc.py
CHANGED
@@ -18,3 +18,13 @@ WEEKDAYS_SHORT = [
|
|
18
18
|
'SAT',
|
19
19
|
'SUN'
|
20
20
|
]
|
21
|
+
|
22
|
+
|
23
|
+
class SESSION_CT:
|
24
|
+
NETSTATS_REPORT = 'report'
|
25
|
+
NETSTATS_REPORTER = 'reporter'
|
26
|
+
NETSTATS_REPORTER_ALIAS = 'reporter_alias'
|
27
|
+
NETSTATS_NR_SUPERVISORS = 'nr_super'
|
28
|
+
NETSTATS_ELAPSED = 'elapsed'
|
29
|
+
|
30
|
+
|
naeural_client/utils/config.py
CHANGED
@@ -181,10 +181,12 @@ def load_user_defined_config(verbose=False):
|
|
181
181
|
def maybe_init_config():
|
182
182
|
"""
|
183
183
|
Initializes the configuration if it doesn't exist yet.
|
184
|
+
|
185
|
+
TODO: in v3+ this will be migrated to a online authentication process.
|
184
186
|
"""
|
185
187
|
config_file = get_user_config_file()
|
186
|
-
|
187
188
|
if not config_file.exists():
|
188
189
|
log_with_color(f"No configuration file found at {config_file}. Initializing configuration...", color="y")
|
189
190
|
reset_config()
|
190
|
-
|
191
|
+
return False
|
192
|
+
return load_user_defined_config()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: naeural_client
|
3
|
-
Version: 2.5.
|
3
|
+
Version: 2.5.24
|
4
4
|
Summary: `naeural_client` is the Python SDK required for client app development for the Naeural Edge Protocol Edge Protocol framework
|
5
5
|
Project-URL: Homepage, https://github.com/NaeuralEdgeProtocol/naeural_client
|
6
6
|
Project-URL: Bug Tracker, https://github.com/NaeuralEdgeProtocol/naeural_client/issues
|
@@ -1,10 +1,10 @@
|
|
1
1
|
naeural_client/__init__.py,sha256=GP8WSrn87sjTPO-QRNL2PG8JK5Mixbiea_HrtbG8RAQ,592
|
2
|
-
naeural_client/_ver.py,sha256=
|
2
|
+
naeural_client/_ver.py,sha256=uGIO8Y2Ti2ygzfAD39SyFQ38eg8DPnoMAKuoyqc1ddo,331
|
3
3
|
naeural_client/base_decentra_object.py,sha256=C4iwZTkhKNBS4VHlJs5DfElRYLo4Q9l1V1DNVSk1fyQ,4412
|
4
4
|
naeural_client/plugins_manager_mixin.py,sha256=X1JdGLDz0gN1rPnTN_5mJXR8JmqoBFQISJXmPR9yvCo,11106
|
5
5
|
naeural_client/base/__init__.py,sha256=hACh83_cIv7-PwYMM3bQm2IBmNqiHw-3PAfDfAEKz9A,259
|
6
6
|
naeural_client/base/distributed_custom_code_presets.py,sha256=cvz5R88P6Z5V61Ce1vHVVh8bOkgXd6gve_vdESDNAsg,2544
|
7
|
-
naeural_client/base/generic_session.py,sha256=
|
7
|
+
naeural_client/base/generic_session.py,sha256=Yo65LwSS3R3-ahQlAtXoNsnQHMAEYCFtPGrvYumwgHs,89524
|
8
8
|
naeural_client/base/instance.py,sha256=kcZJmjLBtx8Bjj_ysIOx1JmLA-qSpG7E28j5rq6IYus,20444
|
9
9
|
naeural_client/base/pipeline.py,sha256=b4uNHrEIOlAtw4PGUx20dxwBhDck5__SrVXaHcSi8ZA,58251
|
10
10
|
naeural_client/base/plugin_template.py,sha256=qGaXByd_JZFpjvH9GXNbT7KaitRxIJB6-1IhbKrZjq4,138123
|
@@ -20,9 +20,9 @@ naeural_client/bc/ec.py,sha256=mWjodWCRgC3omVXOA9jtNdtPVNn2kMKV3Dcjt9oFUCQ,22974
|
|
20
20
|
naeural_client/certs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt,sha256=y-6io0tseyx9-a4Pmde1z1gPULtJNSYUpG_YFkYaMKU,1337
|
22
22
|
naeural_client/cli/README.md,sha256=WPdI_EjzAbUW1aPyj1sSR8rLydcJKZtoiaEtklQrjHo,74
|
23
|
-
naeural_client/cli/cli.py,sha256=
|
23
|
+
naeural_client/cli/cli.py,sha256=Lo5qsANtjvWP0CG2BxIdYF8QLSpUQoLmYIgCGCVZp9Y,3808
|
24
24
|
naeural_client/cli/cli_commands.py,sha256=Y81oKz5Rx8qxYgzEzCwI9eB8iVL6iET7dETLVygs_VE,1686
|
25
|
-
naeural_client/cli/nodes.py,sha256=
|
25
|
+
naeural_client/cli/nodes.py,sha256=lC6M2ODPyt_ciGIAqz0IJOm9s5PpGWy-gpFdRYlvNuI,3248
|
26
26
|
naeural_client/code_cheker/__init__.py,sha256=pwkdeZGVL16ZA4Qf2mRahEhoOvKhL7FyuQbMFLr1E5M,33
|
27
27
|
naeural_client/code_cheker/base.py,sha256=lT5DRIFO5rqzsMNCmdMRfkAeevmezozehyfgmhnKpuI,19074
|
28
28
|
naeural_client/code_cheker/checker.py,sha256=QWupeM7ToancVIq1tRUxRNUrI8B5l5eoY0kDU4-O5aE,7365
|
@@ -30,14 +30,14 @@ naeural_client/comm/__init__.py,sha256=za3B2HUKNXzYtjElMgGM9xbxNsdQfFY4JB_YzdyFk
|
|
30
30
|
naeural_client/comm/amqp_wrapper.py,sha256=hzj6ih07DnLQy2VSfA88giDIFHaCp9uSdGLTA-IFE4s,8535
|
31
31
|
naeural_client/comm/mqtt_wrapper.py,sha256=Ig3bFZkCbWd4y_Whn2PPa91Z3aLgNbNPau6Tn5yLPZ8,16167
|
32
32
|
naeural_client/const/README.md,sha256=6OHesr-f5NBuuJGryEoi_TCu2XdlhfQYlDKx_IJoXeg,177
|
33
|
-
naeural_client/const/__init__.py,sha256=
|
33
|
+
naeural_client/const/__init__.py,sha256=MM6Zib6i7M2qWcMkLtLx14zqU-lE-u2uPHjNvbh2jAM,478
|
34
34
|
naeural_client/const/apps.py,sha256=gIONTZUkqPveu3DwelyJWpbFMeIR9l6DlaNg-xEfK1A,611
|
35
35
|
naeural_client/const/base.py,sha256=-NeZPwE0JrbTHmlI9BOmgzaGu5jUZHl9vOZ4hhh_QQo,3100
|
36
36
|
naeural_client/const/comms.py,sha256=La6JXWHexH8CfcBCKyT4fCIoeaoZlcm7KtZ57ab4ZgU,2201
|
37
37
|
naeural_client/const/environment.py,sha256=iytmTDgbOjvORPwHQmc0K0r-xJx7dnnzNnqAJJiFCDA,870
|
38
38
|
naeural_client/const/formatter.py,sha256=AW3bWlqf39uaqV4BBUuW95qKYfF2OkkU4f9hy3kSVhM,200
|
39
39
|
naeural_client/const/heartbeat.py,sha256=jGHmKfeHTFOXJaKUT3o_ocnQyF-EpcLeunW-ifkYKfU,2534
|
40
|
-
naeural_client/const/misc.py,sha256=
|
40
|
+
naeural_client/const/misc.py,sha256=VDCwwpf5bl9ltx9rzT2WPVP8B3mZFRufU1tSS5MO240,413
|
41
41
|
naeural_client/const/payload.py,sha256=vHKxSrPXnfBTBwD_xp9Aw7nue0_gxz4r01YjXRYiTIM,6479
|
42
42
|
naeural_client/default/__init__.py,sha256=ozU6CMMuWl0LhG8Ae3LrZ65a6tLrptfscVYGf83zjxM,46
|
43
43
|
naeural_client/default/instance/__init__.py,sha256=w1de6OMj9a5GPGF-Wl1b_I_YAy9fWBEss2QnyPPyaB0,546
|
@@ -79,10 +79,10 @@ naeural_client/logging/tzlocal/win32.py,sha256=zBoj0vFVrGhnCm_f7xmYzGym4-fV-4Ij2
|
|
79
79
|
naeural_client/logging/tzlocal/windows_tz.py,sha256=Sv9okktjZJfRGGUOOppsvQuX_eXyXUxkSKCAFmWT9Hw,34203
|
80
80
|
naeural_client/utils/__init__.py,sha256=mAnke3-MeRzz3nhQvhuHqLnpaaCSmDxicd7Ck9uwpmI,77
|
81
81
|
naeural_client/utils/comm_utils.py,sha256=4cS9llRr_pK_3rNgDcRMCQwYPO0kcNU7AdWy_LtMyCY,1072
|
82
|
-
naeural_client/utils/config.py,sha256=
|
82
|
+
naeural_client/utils/config.py,sha256=m1O6D7jE_vVpWM7kd2ZEs9JOKlM9yMDy5YDcf8vElWo,5357
|
83
83
|
naeural_client/utils/dotenv.py,sha256=_AgSo35n7EnQv5yDyu7C7i0kHragLJoCGydHjvOkrYY,2008
|
84
|
-
naeural_client-2.5.
|
85
|
-
naeural_client-2.5.
|
86
|
-
naeural_client-2.5.
|
87
|
-
naeural_client-2.5.
|
88
|
-
naeural_client-2.5.
|
84
|
+
naeural_client-2.5.24.dist-info/METADATA,sha256=9a21TM1JGOIB0I-xmF0eOpBtbqVpKdHNogqAIZ-Novs,14619
|
85
|
+
naeural_client-2.5.24.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
86
|
+
naeural_client-2.5.24.dist-info/entry_points.txt,sha256=PNdyotDaQBAslZREx5luVyj0kqpQnwNACwkFNTPIHU4,55
|
87
|
+
naeural_client-2.5.24.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
|
88
|
+
naeural_client-2.5.24.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|