naeural-client 2.2.4__tar.gz → 2.2.6__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 (125) hide show
  1. {naeural_client-2.2.4 → naeural_client-2.2.6}/PKG-INFO +1 -1
  2. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/_ver.py +1 -1
  3. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/generic_session.py +2 -16
  4. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/bc/ec.py +0 -4
  5. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/base/base_formatter.py +2 -1
  6. {naeural_client-2.2.4 → naeural_client-2.2.6}/pyproject.toml +1 -1
  7. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex12_telegram_smart_bot.py +21 -16
  8. {naeural_client-2.2.4 → naeural_client-2.2.6}/.devcontainer/Dockerfile +0 -0
  9. {naeural_client-2.2.4 → naeural_client-2.2.6}/.devcontainer/devcontainer.json +0 -0
  10. {naeural_client-2.2.4 → naeural_client-2.2.6}/.gitattributes +0 -0
  11. {naeural_client-2.2.4 → naeural_client-2.2.6}/.github/workflows/python-publish.yml +0 -0
  12. {naeural_client-2.2.4 → naeural_client-2.2.6}/.gitignore +0 -0
  13. {naeural_client-2.2.4 → naeural_client-2.2.6}/.vscode/launch.json +0 -0
  14. {naeural_client-2.2.4 → naeural_client-2.2.6}/LICENSE +0 -0
  15. {naeural_client-2.2.4 → naeural_client-2.2.6}/README.md +0 -0
  16. {naeural_client-2.2.4 → naeural_client-2.2.6}/TODOs.md +0 -0
  17. {naeural_client-2.2.4 → naeural_client-2.2.6}/__init__.py +0 -0
  18. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/__init__.py +0 -0
  19. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/__init__.py +0 -0
  20. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/distributed_custom_code_presets.py +0 -0
  21. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/instance.py +0 -0
  22. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/payload/__init__.py +0 -0
  23. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/payload/payload.py +0 -0
  24. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/pipeline.py +0 -0
  25. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/plugin_template.py +0 -0
  26. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/responses.py +0 -0
  27. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base/transaction.py +0 -0
  28. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/base_decentra_object.py +0 -0
  29. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/bc/__init__.py +0 -0
  30. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/bc/base.py +0 -0
  31. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/bc/chain.py +0 -0
  32. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/certs/__init__.py +0 -0
  33. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  34. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/code_cheker/__init__.py +0 -0
  35. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/code_cheker/base.py +0 -0
  36. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/code_cheker/checker.py +0 -0
  37. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/comm/__init__.py +0 -0
  38. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/comm/amqp_wrapper.py +0 -0
  39. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/comm/mqtt_wrapper.py +0 -0
  40. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/README.md +0 -0
  41. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/__init__.py +0 -0
  42. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/apps.py +0 -0
  43. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/base.py +0 -0
  44. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/comms.py +0 -0
  45. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/environment.py +0 -0
  46. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/formatter.py +0 -0
  47. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/heartbeat.py +0 -0
  48. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/misc.py +0 -0
  49. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/const/payload.py +0 -0
  50. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/__init__.py +0 -0
  51. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/__init__.py +0 -0
  52. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  53. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/custom_web_app_01_plugin.py +0 -0
  54. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
  55. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  56. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  57. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
  58. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/default/session/mqtt_session.py +0 -0
  59. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/__init__.py +0 -0
  60. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/base/__init__.py +0 -0
  61. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/default/__init__.py +0 -0
  62. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/default/a_dummy.py +0 -0
  63. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/default/aixp1.py +0 -0
  64. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/default/default.py +0 -0
  65. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
  66. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/__init__.py +0 -0
  67. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/base_logger.py +0 -0
  68. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/__init__.py +0 -0
  69. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
  70. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
  71. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
  72. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
  73. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
  74. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
  75. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  76. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
  77. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
  78. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
  79. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
  80. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
  81. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/small_logger.py +0 -0
  82. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/tzlocal/__init__.py +0 -0
  83. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/tzlocal/unix.py +0 -0
  84. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/tzlocal/utils.py +0 -0
  85. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/tzlocal/win32.py +0 -0
  86. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
  87. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/plugins_manager_mixin.py +0 -0
  88. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/utils/__init__.py +0 -0
  89. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/utils/comm_utils.py +0 -0
  90. {naeural_client-2.2.4 → naeural_client-2.2.6}/naeural_client/utils/dotenv.py +0 -0
  91. {naeural_client-2.2.4 → naeural_client-2.2.6}/requirements.txt +0 -0
  92. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/.example_env +0 -0
  93. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  94. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  95. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/_example_pk_sdk.pem +0 -0
  96. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex01_part1_connect.py +0 -0
  97. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex01_part2_filter.py +0 -0
  98. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex02_first_deploy.py +0 -0
  99. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  100. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  101. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  102. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  103. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  104. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex08_custom_web_app.py +0 -0
  105. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  106. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex10_telegram_echo_bot.py +0 -0
  107. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  108. {naeural_client-2.2.4 → naeural_client-2.2.6}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  109. {naeural_client-2.2.4 → naeural_client-2.2.6}/winrun.bat +0 -0
  110. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/.example_env +0 -0
  111. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/README.md +0 -0
  112. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/_archive/test.py +0 -0
  113. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/_tutorials/3. simple_real_time_custom_code.py +0 -0
  114. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/_tutorials/4. real_time_custom_code_2.py +0 -0
  115. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/_tutorials/8. chatbot.py +0 -0
  116. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/attach_example.py +0 -0
  117. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/decentralized/chain_dist_example.py +0 -0
  118. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  119. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  120. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/enc_dec_test.py +0 -0
  121. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/ex1.py +0 -0
  122. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/hello.py +0 -0
  123. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/remote_exec.py +0 -0
  124. {naeural_client-2.2.4 → naeural_client-2.2.6}/xperimental/save_images.py +0 -0
  125. {naeural_client-2.2.4 → naeural_client-2.2.6}/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.2.4
3
+ Version: 2.2.6
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/Naeural Edge ProtocolEdgeProtocol/naeural_client
6
6
  Project-URL: Bug Tracker, https://github.com/Naeural Edge ProtocolEdgeProtocol/naeural_client/issues
@@ -1,4 +1,4 @@
1
- __VER__ = "2.2.4"
1
+ __VER__ = "2.2.6"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -145,7 +145,7 @@ class GenericSession(BaseDecentrAIObject):
145
145
 
146
146
  self._verbosity = verbosity
147
147
  self.encrypt_comms = encrypt_comms
148
-
148
+
149
149
  self._dct_online_nodes_pipelines: dict[str, Pipeline] = {}
150
150
  self._dct_online_nodes_last_heartbeat: dict[str, dict] = {}
151
151
  self._dct_can_send_to_node: dict[str, bool] = {}
@@ -189,11 +189,6 @@ class GenericSession(BaseDecentrAIObject):
189
189
 
190
190
  self._connect()
191
191
 
192
- self.P("Created {} comms session '{}' from <{}> SDKv{}.".format(
193
- "decrypted" if not self.encrypt_comms else "encrypted",
194
- self.name, self.bc_engine.address, self.log.version
195
- ))
196
-
197
192
  if not self.encrypt_comms:
198
193
  self.P(
199
194
  "Warning: Emitted messages will not be encrypted.\n"
@@ -922,15 +917,7 @@ class GenericSession(BaseDecentrAIObject):
922
917
  node = next((key for key, value in self._dct_node_addr_name.items() if value == node), node)
923
918
  return node
924
919
 
925
- def _send_command_to_box(
926
- self,
927
- command,
928
- worker,
929
- payload,
930
- show_command=False,
931
- session_id=None,
932
- **kwargs
933
- ):
920
+ def _send_command_to_box(self, command, worker, payload, show_command=False, session_id=None, **kwargs):
934
921
  """
935
922
  Send a command to a node.
936
923
 
@@ -965,7 +952,6 @@ class GenericSession(BaseDecentrAIObject):
965
952
  critical_data = {
966
953
  comm_ct.COMM_SEND_MESSAGE.K_EE_IS_ENCRYPTED: True,
967
954
  comm_ct.COMM_SEND_MESSAGE.K_EE_ENCRYPTED_DATA: str_enc_data,
968
- PAYLOAD_DATA.EE_DESTINATION: worker, # added clear destination
969
955
  }
970
956
  else:
971
957
  critical_data[comm_ct.COMM_SEND_MESSAGE.K_EE_IS_ENCRYPTED] = False
@@ -380,9 +380,5 @@ class BaseBCEllipticCurveEngine(BaseBlockEngine):
380
380
 
381
381
  result = plaintext.decode()
382
382
  except Exception as exc:
383
- if debug:
384
- self.P("Error decrypting from <{}> (compressed_flag `{}`): {}".format(
385
- sender_address, compressed_flag, exc), color='r'
386
- )
387
383
  result = None
388
384
  return result
@@ -70,7 +70,8 @@ class BaseFormatter(object):
70
70
  output = self._decode_output(encoded_output)
71
71
  except Exception as e:
72
72
  output = {}
73
- msg = "ERROR! Could not decode {}\n{}".format(encoded_output, e)
73
+ encoded_output_for_print = {k: v for k, v in encoded_output.items() if k != PAYLOAD_DATA.EE_ENCRYPTED_DATA}
74
+ msg = "ERROR! Could not decode {}\n{}".format(encoded_output_for_print, e)
74
75
  self.P(msg)
75
76
  self.P(traceback.format_exc(), color='r')
76
77
  # end try-except
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "naeural_client"
7
- version = "2.2.4"
7
+ version = "2.2.6"
8
8
  authors = [
9
9
  { name="Stefan Saraev", email="saraevstefan@gmail.com" },
10
10
  { name="Andrei Ionut Damian", email="andrei.damian@me.com" },
@@ -1,25 +1,29 @@
1
1
  import os
2
- import time
3
-
4
- from naeural_client import Session, CustomPluginTemplate
2
+ from naeural_client import Session
5
3
 
6
4
  if __name__ == "__main__":
7
- my_node = os.getenv("TARGET_NODE") # we specify a node here
5
+ my_node = os.getenv("TARGET_NODE") # we specify a node here
6
+ # The node can also be specified directly, without using the environment variable.
7
+ # my_node = "<target_edge_node_identifier>"
8
8
 
9
9
  if my_node is None:
10
+ # In case the node is not specified, we exit the script.
10
11
  print("Please specify the node to connect to.")
11
12
  exit(1)
12
-
13
+
14
+ # We define the system prompt
13
15
  SYSTEM_PROMPT = """
14
16
  Hi! I am a simple echo bot. I will repeat everything you say to me.
15
17
  """
16
-
17
- session = Session() # assume .env is available and will be used for the connection and tokens
18
- session.wait_for_node(my_node) # wait for the node to be active
19
18
 
20
-
21
- # now we create a telegram bot pipeline & plugin instance
22
- # we can chose to use the token directly or use the environment key
19
+ session = Session() # assume .env is available and will be used for the connection and tokens
20
+ session.wait_for_node(my_node) # wait for the node to be active
21
+
22
+ # Now we create a telegram bot pipeline & plugin instance.
23
+ # For that we must have a telegram bot token and a telegram bot name.
24
+ # We can provide those directly or use the environment keys.
25
+ # In case you need a telegram bot token, you have a guide right here:
26
+ # https://core.telegram.org/bots/tutorial
23
27
  pipeline, _ = session.create_telegram_conversational_bot(
24
28
  node=my_node,
25
29
  name="telegram_chatbot",
@@ -28,15 +32,16 @@ if __name__ == "__main__":
28
32
  # telegram_bot_token_env_key=ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY, # not mandatory - we can use the default
29
33
  # telegram_bot_name=None, # not mandatory - can be used to specify the bot name directly
30
34
  # telegram_bot_name_env_key=ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY, # not mandatory - we can use the default
31
-
32
- system_prompt=SYSTEM_PROMPT, # simple bot based on system prompt only
33
- agent_type="API", # "API", "HOSTED"
35
+
36
+ system_prompt=SYSTEM_PROMPT, # simple bot based on system prompt only
37
+ agent_type="HOSTED", # "API", "HOSTED"
38
+ # In case of "API" agent type, we need to provide the API token.
34
39
  # api_token_env_key=ENVIRONMENT.TELEGRAM_API_AGENT_TOKEN_ENV_KEY, # not mandatory - we can use the default
35
40
  # api_token=None, # not mandatory - can be used to specify the token directly
36
- rag_source_url=None, # no rag source for this example
41
+ rag_source_url=None, # no rag source for this example
37
42
  )
38
43
 
39
- pipeline.deploy() # we deploy the pipeline
44
+ pipeline.deploy() # we deploy the pipeline
40
45
 
41
46
  # # Observation:
42
47
  # # next code is not mandatory - it is used to keep the session open and cleanup the resources
File without changes
File without changes
File without changes