naeural-client 2.5.9__tar.gz → 2.5.11__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.
Files changed (139) hide show
  1. {naeural_client-2.5.9 → naeural_client-2.5.11}/PKG-INFO +1 -1
  2. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/_ver.py +1 -1
  3. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/generic_session.py +4 -6
  4. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/bc/base.py +1 -0
  5. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/apps.py +1 -0
  6. naeural_client-2.5.11/nepctl.MD +159 -0
  7. {naeural_client-2.5.9 → naeural_client-2.5.11}/pyproject.toml +1 -1
  8. naeural_client-2.5.11/tutorials/ex13_launch_repo_based_webapp.py +70 -0
  9. naeural_client-2.5.9/tutorials/ex13_launch_repo_based_webapp.py +0 -26
  10. {naeural_client-2.5.9 → naeural_client-2.5.11}/.devcontainer/Dockerfile +0 -0
  11. {naeural_client-2.5.9 → naeural_client-2.5.11}/.devcontainer/devcontainer.json +0 -0
  12. {naeural_client-2.5.9 → naeural_client-2.5.11}/.gitattributes +0 -0
  13. {naeural_client-2.5.9 → naeural_client-2.5.11}/.github/workflows/python-publish.yml +0 -0
  14. {naeural_client-2.5.9 → naeural_client-2.5.11}/.gitignore +0 -0
  15. {naeural_client-2.5.9 → naeural_client-2.5.11}/.vscode/launch.json +0 -0
  16. {naeural_client-2.5.9 → naeural_client-2.5.11}/LICENSE +0 -0
  17. {naeural_client-2.5.9 → naeural_client-2.5.11}/README.md +0 -0
  18. {naeural_client-2.5.9 → naeural_client-2.5.11}/TODOs.md +0 -0
  19. {naeural_client-2.5.9 → naeural_client-2.5.11}/__init__.py +0 -0
  20. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/__init__.py +0 -0
  21. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/__init__.py +0 -0
  22. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/distributed_custom_code_presets.py +0 -0
  23. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/instance.py +0 -0
  24. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/payload/__init__.py +0 -0
  25. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/payload/payload.py +0 -0
  26. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/pipeline.py +0 -0
  27. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/plugin_template.py +0 -0
  28. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/responses.py +0 -0
  29. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/transaction.py +0 -0
  30. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base/webapp_pipeline.py +0 -0
  31. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/base_decentra_object.py +0 -0
  32. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/bc/__init__.py +0 -0
  33. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/bc/chain.py +0 -0
  34. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/bc/ec.py +0 -0
  35. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/certs/__init__.py +0 -0
  36. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  37. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/cli/README.md +0 -0
  38. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/cli/cli.py +0 -0
  39. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/cli/cli_commands.py +0 -0
  40. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/cli/nodes.py +0 -0
  41. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/code_cheker/__init__.py +0 -0
  42. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/code_cheker/base.py +0 -0
  43. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/code_cheker/checker.py +0 -0
  44. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/comm/__init__.py +0 -0
  45. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/comm/amqp_wrapper.py +0 -0
  46. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/comm/mqtt_wrapper.py +0 -0
  47. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/README.md +0 -0
  48. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/__init__.py +0 -0
  49. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/base.py +0 -0
  50. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/comms.py +0 -0
  51. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/environment.py +0 -0
  52. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/formatter.py +0 -0
  53. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/heartbeat.py +0 -0
  54. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/misc.py +0 -0
  55. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/const/payload.py +0 -0
  56. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/__init__.py +0 -0
  57. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/__init__.py +0 -0
  58. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  59. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/custom_webapi_01_plugin.py +0 -0
  60. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
  61. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  62. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  63. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
  64. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/default/session/mqtt_session.py +0 -0
  65. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/__init__.py +0 -0
  66. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/base/__init__.py +0 -0
  67. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/base/base_formatter.py +0 -0
  68. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/default/__init__.py +0 -0
  69. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/default/a_dummy.py +0 -0
  70. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/default/aixp1.py +0 -0
  71. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/default/default.py +0 -0
  72. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
  73. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/__init__.py +0 -0
  74. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/base_logger.py +0 -0
  75. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/__init__.py +0 -0
  76. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
  77. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
  78. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
  79. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
  80. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
  81. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
  82. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  83. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
  84. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
  85. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
  86. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
  87. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
  88. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/small_logger.py +0 -0
  89. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/tzlocal/__init__.py +0 -0
  90. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/tzlocal/unix.py +0 -0
  91. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/tzlocal/utils.py +0 -0
  92. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/tzlocal/win32.py +0 -0
  93. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
  94. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/plugins_manager_mixin.py +0 -0
  95. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/utils/__init__.py +0 -0
  96. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/utils/comm_utils.py +0 -0
  97. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/utils/config.py +0 -0
  98. {naeural_client-2.5.9 → naeural_client-2.5.11}/naeural_client/utils/dotenv.py +0 -0
  99. {naeural_client-2.5.9 → naeural_client-2.5.11}/requirements.txt +0 -0
  100. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/.example_env +0 -0
  101. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  102. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  103. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/_example_pk_sdk.pem +0 -0
  104. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex01_part1_connect.py +0 -0
  105. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex01_part2_filter.py +0 -0
  106. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex01_part3_adv_filter.py +0 -0
  107. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex02_first_deploy.py +0 -0
  108. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  109. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  110. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  111. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  112. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  113. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex08_custom_webapi.py +0 -0
  114. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  115. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex10_telegram_echo_bot.py +0 -0
  116. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  117. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/ex12_telegram_smart_bot.py +0 -0
  118. {naeural_client-2.5.9 → naeural_client-2.5.11}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  119. {naeural_client-2.5.9 → naeural_client-2.5.11}/winrun.bat +0 -0
  120. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/.example_env +0 -0
  121. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/_archive/test.py +0 -0
  122. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/_tutorials/3. simple_real_time_custom_code.py +0 -0
  123. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/_tutorials/4. real_time_custom_code_2.py +0 -0
  124. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/_tutorials/8. chatbot.py +0 -0
  125. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/decentralized/chain_dist_example.py +0 -0
  126. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  127. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  128. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/enc_dec/enc_dec_test.py +0 -0
  129. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/eth/eth_sign.py +0 -0
  130. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/eth/info.md +0 -0
  131. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/eth/sign.py +0 -0
  132. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/multi-enc-dec/multi_test1.py +0 -0
  133. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/utils/get_documentation.py +0 -0
  134. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/various/README.md +0 -0
  135. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/various/attach_example.py +0 -0
  136. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/various/ex1.py +0 -0
  137. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/various/hello.py +0 -0
  138. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/various/remote_exec.py +0 -0
  139. {naeural_client-2.5.9 → naeural_client-2.5.11}/xperimental/various/save_images.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naeural_client
3
- Version: 2.5.9
3
+ Version: 2.5.11
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,4 +1,4 @@
1
- __VER__ = "2.5.9"
1
+ __VER__ = "2.5.11"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1810,9 +1810,6 @@ class GenericSession(BaseDecentrAIObject):
1810
1810
  """
1811
1811
 
1812
1812
  ngrok_use_api = True
1813
-
1814
- # if isinstance(signature, str):
1815
-
1816
1813
 
1817
1814
  pipeline: WebappPipeline = self.create_pipeline(
1818
1815
  node=node,
@@ -1887,14 +1884,15 @@ class GenericSession(BaseDecentrAIObject):
1887
1884
  kwargs.pop('use_ngrok', None)
1888
1885
  kwargs.pop('ngrok_use_api', None)
1889
1886
 
1890
- # if isinstance(signature, str):
1891
-
1887
+ if ngrok_edge_label is None:
1888
+ raise ValueError("The `ngrok_edge_label` parameter is mandatory when creating a balanced web app, in order for all instances to respond to the same URL.")
1889
+
1892
1890
  pipelines, instances = [], []
1893
1891
 
1894
1892
  for node in nodes:
1895
1893
  self.P("Creating web app on node {}...".format(node), color='b')
1896
1894
  pipeline: WebappPipeline = self.create_pipeline(
1897
- node=nodes[0],
1895
+ node=node,
1898
1896
  name=name,
1899
1897
  pipeline_type=WebappPipeline,
1900
1898
  extra_debug=extra_debug,
@@ -377,6 +377,7 @@ class BaseBlockEngine:
377
377
  password=self.__password,
378
378
  )
379
379
  self.P(" Loaded sk from {}".format(full_path), verbosity=1)
380
+ os.environ[BCct.K_USER_CONFIG_PEM_FILE] = self.__pem_file
380
381
  except:
381
382
  self.P(" Failed to load sk from {}".format(full_path), color='r', verbosity=1)
382
383
 
@@ -6,6 +6,7 @@ class PLUGIN_SIGNATURES:
6
6
  NET_MON_01 = 'NET_MON_01'
7
7
  VIEW_SCENE_01 = 'VIEW_SCENE_01'
8
8
  CUSTOM_WEBAPI_01 = 'CUSTOM_CODE_FASTAPI_01'
9
+ GENERIC_WEB_APP = 'GENERIC_WEB_APP'
9
10
  CHAIN_DIST_CUSTOM_JOB_01 = 'PROCESS_REAL_TIME_COLLECTED_DATA_CUSTOM_EXEC_CHAIN_DIST'
10
11
  TELEGRAM_BASIC_BOT_01 = 'TELEGRAM_BASIC_BOT_01'
11
12
  TELEGRAM_CONVERSATIONAL_BOT_01 = 'TELEGRAM_CONVERSATIONAL_BOT_01'
@@ -0,0 +1,159 @@
1
+ # NepCTL Manual
2
+
3
+ ## Overview
4
+ **NepCTL** (Naeural Edge Protocol Command-Line Tool) is a CLI utility for interacting with a decentralized network of nodes running Naeural Edge Protocol. It provides commands to query network nodes, configure the client, and manage nodes directly from the terminal.
5
+
6
+ ## Installation
7
+
8
+ Installation is straightforward using `pip` so make sure you have python 3.9+ and pip installed on your system.
9
+
10
+ ```bash
11
+ pip install naeural_client
12
+ ```
13
+
14
+ Following the instalation make sure you edit `~/.naeural/config` file and put the correct mqtt broker credentials, particularly `EE_MQTT_USER` and `EE_MQTT` which are the username and password for the mqtt broker.
15
+
16
+ ```plaintext
17
+ EE_MQTT_HOST=r9092118.ala.eu-central-1.emqxsl.com
18
+ EE_MQTT_PORT=8883
19
+ EE_MQTT_USER=
20
+ EE_MQTT=
21
+
22
+ EE_SECURED=true
23
+
24
+ TARGET_NODE=
25
+ ```
26
+
27
+
28
+ ### General Usage
29
+ ```bash
30
+ nepctl [COMMAND] [OPTIONS]
31
+ ```
32
+
33
+ ### Available Commands
34
+ - **`get`**: Query nodes or supervisors.
35
+ - **`config`**: Display and manage configuration settings.
36
+ - **`restart`**: Restart a specific node.
37
+ - **`shutdown`**: Shutdown a specific node.
38
+
39
+ ## Commands and Options
40
+
41
+ ### `get`
42
+ Query nodes or supervisors in the network.
43
+
44
+ #### `get nodes`
45
+ Retrieve information about network nodes.
46
+
47
+ **Options**:
48
+ - `--all`: Get all known nodes.
49
+ - `--online`: Get only online nodes.
50
+ - `--supervisor="addr"`: Query nodes using a specific supervisor address.
51
+
52
+ **Examples**:
53
+ ```bash
54
+ # Get all known nodes:
55
+ nepctl get nodes --all
56
+
57
+ # Get online nodes using a specific supervisor:
58
+ nepctl get nodes --online --supervisor="Amfnbt3N-qg2-qGtywZIPQBTVlAnoADVRmSAsdDhlQ-6"
59
+ ```
60
+
61
+ #### `get supervisors`
62
+ Retrieve information about supervisors in the network.
63
+
64
+ **Examples**:
65
+ ```bash
66
+ # Get all supervisors:
67
+ nepctl get supervisors
68
+ ```
69
+
70
+ ### `config`
71
+ Manage client configuration settings.
72
+
73
+ #### `config show`
74
+ Display the current configuration, including its location and client address.
75
+
76
+ **Examples**:
77
+ ```bash
78
+ # Show current configuration:
79
+ nepctl config show
80
+ ```
81
+
82
+ #### `config reset`
83
+ Reset the configuration to its default values.
84
+
85
+ **Examples**:
86
+ ```bash
87
+ # Reset configuration:
88
+ nepctl config reset
89
+ ```
90
+
91
+ #### `config addr`
92
+ Display the current client address.
93
+
94
+ **Examples**:
95
+ ```bash
96
+ # Show client address:
97
+ nepctl config addr
98
+ ```
99
+
100
+ ### `restart`
101
+ Restart a specific node.
102
+
103
+
104
+ **Options**:
105
+ - `node`: The address of the node to restart.
106
+
107
+ **Examples**:
108
+ ```bash
109
+ # Restart a node:
110
+ nepctl restart --node="0xai_AleLPKqUHV-iPc-76-rUvDkRWW4dFMIGKW1xFVcy65nH"
111
+ ```
112
+
113
+ ### `shutdown`
114
+ Shutdown a specific node.
115
+
116
+ **Options**:
117
+ - `node`: The address of the node to shutdown.
118
+
119
+ **Examples**:
120
+ ```bash
121
+ # Shutdown a node:
122
+ nepctl shutdown --node="0xai_AhsgqiqJZzav1OHUlam7K9tZWysPv1QWcZU0AhFJ6wsJ"
123
+ ```
124
+
125
+ ## Example Outputs
126
+
127
+ ### `get nodes`
128
+ ```plaintext
129
+ Network full map reported by <0xai_Amfnbt3N-qg2-qGtywZIPQBTVlAnoADVRmSAsdDhlQ-6>:
130
+ Address Alias Seen ago Last state Last probe Zone Supervisor
131
+ 0 0xai_AkSf-Ocgg2ykXwF-QvsA3VRDbV7pK02T2vpYZeelkgVb 40ffd6d6a742 08:10:56 LOST STATUS 2024-12-23 17:47:00 UTC+2 False
132
+ ...
133
+ ```
134
+
135
+ ### `get supervisors`
136
+ ```plaintext
137
+ Supervisors reported by <0xai_AleLPKqUHV-iPc-76-rUvDkRWW4dFMIGKW1xFVcy65nH>:
138
+ Address Alias Seen ago Last state Last probe Zone Supervisor
139
+ 0 0xai_Amfnbt3N-qg2-qGtywZIPQBTVlAnoADVRmSAsdDhlQ-6 nen-2 00:00:02 ONLINE 2024-12-24 02:06:03 UTC+2 True
140
+ ...
141
+ ```
142
+
143
+ ### `config show`
144
+ ```plaintext
145
+ NEP SDK folder: /root/.naeural
146
+ SDK Client address: 0xai_AjcIThkOqrPlp35-S8czHUOV-y4mnhksnLs8NGjTbmty
147
+ Current configuration (/root/.naeural/config):
148
+
149
+ EE_MQTT_HOST=r9092118.ala.eu-central-1.emqxsl.com
150
+ EE_MQTT_PORT=8883
151
+ EE_MQTT_USER=coreenaeural
152
+ EE_MQTT=<password>
153
+ ...
154
+ ```
155
+
156
+ ## Notes
157
+ - Use `--verbose` or `-v` for detailed output on any command. This can be rather useful for debugging purposes.
158
+ - For help with any command or subcommand, append `-h` (e.g., `nepctl get nodes -h`).
159
+
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "naeural_client"
7
- version = "2.5.9"
7
+ version = "2.5.11"
8
8
  authors = [
9
9
  { name="Andrei Ionut Damian", email="andrei.damian@me.com" },
10
10
  { name="Cristan Bleotiu", email="cristibleotiu@gmail.com" },
@@ -0,0 +1,70 @@
1
+ """
2
+
3
+ This demo starts a generic webapp and generates a dynamic URL that can be used to access the webapp.
4
+ For this demo, we will use a custom webapp that resides at a public repository.
5
+
6
+ """
7
+ from os import environ
8
+ from naeural_client import Session, PLUGIN_SIGNATURES
9
+
10
+
11
+ if __name__ == "__main__":
12
+ session = Session()
13
+
14
+ nodes = [
15
+ environ.get("TARGET_NODE_1", "INSERT_YOUR_NODE_ADDRESS_HERE"),
16
+ environ.get("TARGET_NODE_2", "INSERT_YOUR_NODE_ADDRESS_HERE")
17
+ ]
18
+
19
+ if isinstance(nodes, str):
20
+ nodes = [nodes]
21
+
22
+ for node in nodes:
23
+ session.wait_for_node(node)
24
+
25
+ # In case this is not provided and create_and_deploy_balanced_web_app is used an exception will be raised.
26
+ # In case this is not provided by the user, but create_webapp method is used, a unique URL will be generated by the ngrok service.
27
+ # Warning! create_webapp method does not support multiple nodes.
28
+ ngrok_edge_label = environ.get("NGROK_EDGE_LABEL", None)
29
+
30
+ # Defining the environment variables for the webapp.
31
+ port = 3000
32
+ env_vars = {
33
+ 'APP_PORT': port,
34
+ 'LOCAL_ADDRESS': '/edge_node/_local_cache/_data/local_address.txt'
35
+ }
36
+
37
+ # Defining the webapp setup commands.
38
+ setup_commands = [
39
+ "npm install"
40
+ ]
41
+
42
+ # Defining the assets of the application.
43
+ assets = {
44
+ 'operation': "clone",
45
+ "url": "https://github.com/NaeuralEdgeProtocol/demo-deploy-nodejs",
46
+ }
47
+
48
+ # Defining the webapp run commands.
49
+ run_command = "npm start"
50
+
51
+ # instance: PLUGIN_TYPES.CUSTOM_WEBAPI_01
52
+ session.create_and_deploy_balanced_web_app(
53
+ nodes=nodes,
54
+ name="Ratio1_WebApp_tutorial",
55
+ signature=PLUGIN_SIGNATURES.GENERIC_WEB_APP,
56
+ env_vars=env_vars,
57
+ port=port,
58
+ setup_commands=setup_commands,
59
+ run_command=run_command,
60
+ ngrok_edge_label=ngrok_edge_label,
61
+ assets=assets
62
+ )
63
+
64
+ # Observation:
65
+ # next code is not mandatory - it is used to keep the session open and cleanup the resources
66
+ # in production, you would not need this code as the script can close after the pipeline will be sent
67
+ session.run(
68
+ wait=True, # wait for the user to stop the execution
69
+ close_pipelines=True # when the user stops the execution, the remote edge-node pipelines will be closed
70
+ )
@@ -1,26 +0,0 @@
1
- """
2
-
3
- This demo starts a generic webapp and generates a dynamic URL that can be used to access the webapp.
4
- For this demo, we will use a custom webapp that resides at a public repository.
5
-
6
- """
7
-
8
- from naeural_client import CustomPluginTemplate, Session, PLUGIN_TYPES
9
-
10
-
11
- if __name__ == "__main__":
12
- session = Session()
13
-
14
- node = "INSERT_YOUR_NODE_ADDRESS_HERE"
15
- session.wait_for_node(node)
16
-
17
- instance: PLUGIN_TYPES.CUSTOM_WEBAPI_01
18
- pipeline, instance = session.create_web_app(
19
-
20
- )
21
-
22
-
23
- url = pipeline.deploy()
24
-
25
- print(f"Webapp is now available at: {url}")
26
-
File without changes
File without changes