naeural-client 2.3.1__tar.gz → 2.3.2__tar.gz
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-2.3.1 → naeural_client-2.3.2}/PKG-INFO +1 -1
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/_ver.py +1 -1
- naeural_client-2.3.2/naeural_client/cli/cli.py +90 -0
- naeural_client-2.3.2/naeural_client/cli/cli_commands.py +42 -0
- naeural_client-2.3.2/naeural_client/cli/nodes.py +53 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/misc.py +1 -1
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/base_logger.py +2 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/utils/config.py +4 -3
- {naeural_client-2.3.1 → naeural_client-2.3.2}/pyproject.toml +1 -1
- naeural_client-2.3.1/naeural_client/cli/cli.py +0 -48
- naeural_client-2.3.1/naeural_client/cli/cli_commands.py +0 -15
- naeural_client-2.3.1/naeural_client/cli/nodes.py +0 -22
- {naeural_client-2.3.1 → naeural_client-2.3.2}/.devcontainer/Dockerfile +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/.devcontainer/devcontainer.json +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/.gitattributes +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/.github/workflows/python-publish.yml +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/.gitignore +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/.vscode/launch.json +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/LICENSE +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/README.md +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/TODOs.md +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/distributed_custom_code_presets.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/generic_session.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/instance.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/payload/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/payload/payload.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/pipeline.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/plugin_template.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/responses.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/transaction.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base_decentra_object.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/bc/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/bc/base.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/bc/chain.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/bc/ec.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/certs/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/cli/README.md +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/code_cheker/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/code_cheker/base.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/code_cheker/checker.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/comm/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/comm/amqp_wrapper.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/comm/mqtt_wrapper.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/README.md +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/apps.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/base.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/comms.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/environment.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/formatter.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/heartbeat.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/const/payload.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/custom_web_app_01_plugin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/telegram_basic_bot_01_plugin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/session/mqtt_session.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/base/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/base/base_formatter.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/a_dummy.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/aixp1.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/default.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/small_logger.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/tzlocal/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/tzlocal/unix.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/tzlocal/utils.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/tzlocal/win32.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/plugins_manager_mixin.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/utils/__init__.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/utils/comm_utils.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/utils/dotenv.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/requirements.txt +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/.example_env +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/_example_pk_sdk.pem +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex01_part1_connect.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex01_part2_filter.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex02_first_deploy.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex08_custom_web_app.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex10_telegram_echo_bot.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex12_telegram_smart_bot.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/winrun.bat +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/.example_env +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/README.md +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/_archive/test.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/_tutorials/3. simple_real_time_custom_code.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/_tutorials/4. real_time_custom_code_2.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/_tutorials/8. chatbot.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/attach_example.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/decentralized/chain_dist_example.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/enc_dec/enc_dec_test.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/eth/eth_sign.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/eth/info.md +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/ex1.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/hello.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/remote_exec.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/save_images.py +0 -0
- {naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/utils/get_documentation.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: naeural_client
|
3
|
-
Version: 2.3.
|
3
|
+
Version: 2.3.2
|
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
|
@@ -0,0 +1,90 @@
|
|
1
|
+
import argparse
|
2
|
+
|
3
|
+
from naeural_client.utils.config import maybe_init_config, log_with_color
|
4
|
+
from naeural_client.cli.cli_commands import CLI_COMMANDS
|
5
|
+
|
6
|
+
from naeural_client import version
|
7
|
+
|
8
|
+
def build_parser():
|
9
|
+
"""
|
10
|
+
Dynamically builds the argument parser based on CLI_COMMANDS.
|
11
|
+
|
12
|
+
Returns
|
13
|
+
-------
|
14
|
+
argparse.ArgumentParser
|
15
|
+
Configured argument parser.
|
16
|
+
"""
|
17
|
+
descr = f"nepctl v{version} - CLI for Naeural Edge Protocol SDK package"
|
18
|
+
parser = argparse.ArgumentParser(description=descr)
|
19
|
+
subparsers = parser.add_subparsers(dest="command", help="Available commands")
|
20
|
+
|
21
|
+
for command, subcommands in CLI_COMMANDS.items():
|
22
|
+
command_parser = subparsers.add_parser(command, help=f"{command} commands")
|
23
|
+
|
24
|
+
if isinstance(subcommands, dict) and "func" not in subcommands:
|
25
|
+
# Nested subcommands
|
26
|
+
command_subparsers = command_parser.add_subparsers(dest="subcommand")
|
27
|
+
for subcommand, subcmd_info in subcommands.items():
|
28
|
+
subcommand_parser = command_subparsers.add_parser(
|
29
|
+
subcommand, help=f"{subcommand} command"
|
30
|
+
)
|
31
|
+
if isinstance(subcmd_info, dict) and "params" in subcmd_info:
|
32
|
+
for param, description in subcmd_info["params"].items():
|
33
|
+
if param.startswith("--"):
|
34
|
+
subcommand_parser.add_argument(
|
35
|
+
param, action="store_true", help=description
|
36
|
+
)
|
37
|
+
else:
|
38
|
+
subcommand_parser.add_argument(
|
39
|
+
param, help=description
|
40
|
+
)
|
41
|
+
#end if
|
42
|
+
#end for
|
43
|
+
#end if
|
44
|
+
subcommand_parser.set_defaults(func=subcmd_info["func"])
|
45
|
+
else:
|
46
|
+
# Single-level commands with parameters
|
47
|
+
if "params" in subcommands:
|
48
|
+
for param, description in subcommands["params"].items():
|
49
|
+
if param.startswith("--"):
|
50
|
+
command_parser.add_argument(
|
51
|
+
param, action="store_true", help=description
|
52
|
+
)
|
53
|
+
else:
|
54
|
+
command_parser.add_argument(
|
55
|
+
param, help=description
|
56
|
+
)
|
57
|
+
#end if
|
58
|
+
command_parser.set_defaults(func=subcommands["func"])
|
59
|
+
|
60
|
+
return parser
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
def main():
|
65
|
+
"""
|
66
|
+
Main entry point for the CLI.
|
67
|
+
Ensures the configuration is initialized, builds the parser,
|
68
|
+
and executes the appropriate command function.
|
69
|
+
"""
|
70
|
+
try:
|
71
|
+
# Initialize configuration if necessary
|
72
|
+
maybe_init_config()
|
73
|
+
|
74
|
+
# Build the CLI parser
|
75
|
+
parser = build_parser()
|
76
|
+
args = parser.parse_args()
|
77
|
+
|
78
|
+
# Check if a command function is provided
|
79
|
+
if hasattr(args, "func"):
|
80
|
+
args.func(args) # Pass parsed arguments to the command function
|
81
|
+
else:
|
82
|
+
parser.print_help()
|
83
|
+
|
84
|
+
except Exception as e:
|
85
|
+
# Handle unexpected errors gracefully
|
86
|
+
print(f"Error: {e}")
|
87
|
+
|
88
|
+
|
89
|
+
if __name__ == "__main__":
|
90
|
+
main()
|
@@ -0,0 +1,42 @@
|
|
1
|
+
from naeural_client.cli.nodes import (
|
2
|
+
get_nodes, get_supervisors,
|
3
|
+
restart_node, shutdown_node
|
4
|
+
)
|
5
|
+
from naeural_client.utils.config import show_config, reset_config
|
6
|
+
|
7
|
+
|
8
|
+
# Define the available commands
|
9
|
+
CLI_COMMANDS = {
|
10
|
+
"get": {
|
11
|
+
"nodes": {
|
12
|
+
"func": get_nodes,
|
13
|
+
"params": {
|
14
|
+
"--all": "Get all nodes",
|
15
|
+
"--peered": "Get only peered nodes"
|
16
|
+
}
|
17
|
+
},
|
18
|
+
"supervisors": {
|
19
|
+
"func": get_supervisors,
|
20
|
+
},
|
21
|
+
},
|
22
|
+
"config": {
|
23
|
+
"show": {
|
24
|
+
"func": show_config,
|
25
|
+
},
|
26
|
+
"reset": {
|
27
|
+
"func": reset_config,
|
28
|
+
},
|
29
|
+
},
|
30
|
+
"restart": {
|
31
|
+
"func": restart_node,
|
32
|
+
"params": {
|
33
|
+
"node": "The node to restart"
|
34
|
+
}
|
35
|
+
},
|
36
|
+
"shutdown": {
|
37
|
+
"func": shutdown_node,
|
38
|
+
"params": {
|
39
|
+
"node": "The node to shutdown"
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from naeural_client.utils.config import log_with_color
|
2
|
+
|
3
|
+
|
4
|
+
def get_nodes(args):
|
5
|
+
"""
|
6
|
+
This function is used to get the information about the nodes and it will perform the following:
|
7
|
+
|
8
|
+
1. Create a Session object.
|
9
|
+
2. Wait for the first net mon message via Session and show progress.
|
10
|
+
3. Wait for the second net mon message via Session and show progress.
|
11
|
+
4. Get the active nodes union via Session and display the nodes marking those peered vs non-peered.
|
12
|
+
"""
|
13
|
+
if args.all:
|
14
|
+
log_with_color("Getting all nodes information", color="b")
|
15
|
+
elif args.peered:
|
16
|
+
log_with_color("Getting peered nodes information", color="b")
|
17
|
+
else:
|
18
|
+
log_with_color("Getting default nodes information", color="b")
|
19
|
+
return
|
20
|
+
|
21
|
+
|
22
|
+
def get_supervisors(args):
|
23
|
+
"""
|
24
|
+
This function is used to get the information about the supervisors.
|
25
|
+
"""
|
26
|
+
log_with_color("Getting supervisors information", color='b')
|
27
|
+
return
|
28
|
+
|
29
|
+
|
30
|
+
def restart_node(args):
|
31
|
+
"""
|
32
|
+
This function is used to restart the node.
|
33
|
+
|
34
|
+
Parameters
|
35
|
+
----------
|
36
|
+
args : argparse.Namespace
|
37
|
+
Arguments passed to the function.
|
38
|
+
"""
|
39
|
+
log_with_color(f"Restarting node {args.node}", color='b')
|
40
|
+
return
|
41
|
+
|
42
|
+
|
43
|
+
def shutdown_node(args):
|
44
|
+
"""
|
45
|
+
This function is used to shutdown the node.
|
46
|
+
|
47
|
+
Parameters
|
48
|
+
----------
|
49
|
+
args : argparse.Namespace
|
50
|
+
Arguments passed to the function.
|
51
|
+
"""
|
52
|
+
log_with_color(f"Shutting down node {args.node}", color='b')
|
53
|
+
return
|
@@ -31,8 +31,9 @@ def log_with_color(s, color='n'):
|
|
31
31
|
'r': '\033[31m', # Red
|
32
32
|
'g': '\033[32m', # Green
|
33
33
|
'y': '\033[33m', # Yellow
|
34
|
-
'b':
|
34
|
+
'b': "\x1b[1;34m", # bright blue
|
35
35
|
'w': '\033[97m', # Light white
|
36
|
+
'c': "\x1b[1;36m", # bright cyan
|
36
37
|
'n': '\033[37m', # Dark white (default)
|
37
38
|
}
|
38
39
|
|
@@ -53,7 +54,7 @@ def get_user_config_file():
|
|
53
54
|
"""
|
54
55
|
return get_user_folder() / "config"
|
55
56
|
|
56
|
-
def reset_config():
|
57
|
+
def reset_config(args):
|
57
58
|
"""
|
58
59
|
Resets the configuration by creating a ~/.naeural folder and populating
|
59
60
|
~/.naeural/config with values from a local .env file, if it exists.
|
@@ -78,7 +79,7 @@ def reset_config():
|
|
78
79
|
log_with_color(f"Configuration has been reset to default in {config_file}:\n{ENV_TEMPLATE}", color='y')
|
79
80
|
|
80
81
|
|
81
|
-
def show_config():
|
82
|
+
def show_config(args):
|
82
83
|
"""
|
83
84
|
Displays the current configuration from ~/.naeural/config.
|
84
85
|
"""
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import argparse
|
2
|
-
|
3
|
-
from naeural_client.utils.config import maybe_init_config, log_with_color
|
4
|
-
from naeural_client.cli.cli_commands import CLI_COMMANDS
|
5
|
-
|
6
|
-
from naeural_client import version
|
7
|
-
|
8
|
-
def build_parser():
|
9
|
-
"""
|
10
|
-
Dynamically builds the argument parser based on CLI_COMMANDS.
|
11
|
-
|
12
|
-
Returns
|
13
|
-
-------
|
14
|
-
argparse.ArgumentParser
|
15
|
-
Configured argument parser.
|
16
|
-
"""
|
17
|
-
descr = f"nepctl v{version} - CLI for Naeural Edge Protocol SDK package"
|
18
|
-
|
19
|
-
|
20
|
-
parser = argparse.ArgumentParser(description=descr)
|
21
|
-
subparsers = parser.add_subparsers(dest="command", help="Available commands")
|
22
|
-
|
23
|
-
# Iterate over top-level commands
|
24
|
-
for command, subcommands in CLI_COMMANDS.items():
|
25
|
-
command_parser = subparsers.add_parser(command, help=f"{command} commands")
|
26
|
-
if isinstance(subcommands, dict): # Nested subcommands
|
27
|
-
command_subparsers = command_parser.add_subparsers(dest="subcommand")
|
28
|
-
for subcommand, func in subcommands.items():
|
29
|
-
subcommand_parser = command_subparsers.add_parser(
|
30
|
-
subcommand, help=f"{subcommand} command"
|
31
|
-
)
|
32
|
-
subcommand_parser.set_defaults(func=func)
|
33
|
-
else:
|
34
|
-
command_parser.set_defaults(func=subcommands)
|
35
|
-
|
36
|
-
return parser
|
37
|
-
|
38
|
-
def main():
|
39
|
-
maybe_init_config()
|
40
|
-
parser = build_parser()
|
41
|
-
args = parser.parse_args()
|
42
|
-
if hasattr(args, "func"):
|
43
|
-
args.func() # Call the dynamically loaded function
|
44
|
-
else:
|
45
|
-
parser.print_help()
|
46
|
-
|
47
|
-
if __name__ == "__main__":
|
48
|
-
main()
|
@@ -1,15 +0,0 @@
|
|
1
|
-
from naeural_client.cli.nodes import get_nodes, get_supervisors
|
2
|
-
from naeural_client.utils.config import show_config, reset_config
|
3
|
-
|
4
|
-
|
5
|
-
# Define the available commands
|
6
|
-
CLI_COMMANDS = {
|
7
|
-
"get": {
|
8
|
-
"nodes": get_nodes,
|
9
|
-
"supervisors": get_supervisors,
|
10
|
-
},
|
11
|
-
"config": {
|
12
|
-
"show": show_config,
|
13
|
-
"reset": reset_config,
|
14
|
-
},
|
15
|
-
}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
from naeural_client.utils.config import log_with_color
|
2
|
-
|
3
|
-
|
4
|
-
def get_nodes():
|
5
|
-
"""
|
6
|
-
This function is used to get the information about the nodes and it will perform the following:
|
7
|
-
|
8
|
-
1. Create a Session object.
|
9
|
-
2. Wait for the first net mon message via Session and show progress.
|
10
|
-
3. Wait for the second net mon message via Session and show progress.
|
11
|
-
4. Get the active nodes union via Session and display the nodes marking those peered vs non-peered.
|
12
|
-
"""
|
13
|
-
log_with_color("Getting nodes information", color="b")
|
14
|
-
return
|
15
|
-
|
16
|
-
|
17
|
-
def get_supervisors():
|
18
|
-
"""
|
19
|
-
This function is used to get the information about the supervisors.
|
20
|
-
"""
|
21
|
-
log_with_color("Getting supervisors information", color='b')
|
22
|
-
return
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/base/distributed_custom_code_presets.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/instance/net_mon_01_plugin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/default/session/mqtt_session.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/base/base_formatter.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/__init__.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/a_dummy.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/default/default.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/io_formatter/io_formatter_manager.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/datetime_mixin.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/download_mixin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/process_mixin.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/timers_mixin.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/upload_mixin.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/naeural_client/logging/logger_mixins/utils_mixin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/8. custom_code_fastapi_assets/index.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex03_custom_code_on_one_remote__example_1.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex04_custom_code_on_one_remote__example_2.py
RENAMED
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/ex05_custom_code_on_one_remote__example_3.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/tutorials/video_presentation/1. hello_world.ipynb
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/_tutorials/4. real_time_custom_code_2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/decentralized/chain_dist_example.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-2.3.1 → naeural_client-2.3.2}/xperimental/decentralized/chain_dist_example_worker.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|