naeural-client 2.1.1__tar.gz → 2.1.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.
Files changed (122) hide show
  1. {naeural_client-2.1.1 → naeural_client-2.1.2}/PKG-INFO +1 -1
  2. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/_ver.py +1 -1
  3. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/generic_session.py +13 -2
  4. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/code_cheker/base.py +8 -2
  5. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/environment.py +1 -0
  6. {naeural_client-2.1.1 → naeural_client-2.1.2}/pyproject.toml +1 -1
  7. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex10_telegram_echo_bot.py +10 -10
  8. {naeural_client-2.1.1 → naeural_client-2.1.2}/.devcontainer/Dockerfile +0 -0
  9. {naeural_client-2.1.1 → naeural_client-2.1.2}/.devcontainer/devcontainer.json +0 -0
  10. {naeural_client-2.1.1 → naeural_client-2.1.2}/.gitattributes +0 -0
  11. {naeural_client-2.1.1 → naeural_client-2.1.2}/.github/workflows/python-publish.yml +0 -0
  12. {naeural_client-2.1.1 → naeural_client-2.1.2}/.gitignore +0 -0
  13. {naeural_client-2.1.1 → naeural_client-2.1.2}/.vscode/launch.json +0 -0
  14. {naeural_client-2.1.1 → naeural_client-2.1.2}/LICENSE +0 -0
  15. {naeural_client-2.1.1 → naeural_client-2.1.2}/README.md +0 -0
  16. {naeural_client-2.1.1 → naeural_client-2.1.2}/TODOs.md +0 -0
  17. {naeural_client-2.1.1 → naeural_client-2.1.2}/__init__.py +0 -0
  18. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/__init__.py +0 -0
  19. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/__init__.py +0 -0
  20. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/distributed_custom_code_presets.py +0 -0
  21. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/instance.py +0 -0
  22. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/payload/__init__.py +0 -0
  23. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/payload/payload.py +0 -0
  24. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/pipeline.py +0 -0
  25. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/plugin_template.py +0 -0
  26. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/responses.py +0 -0
  27. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base/transaction.py +0 -0
  28. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/base_decentra_object.py +0 -0
  29. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/bc/__init__.py +0 -0
  30. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/bc/base.py +0 -0
  31. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/bc/chain.py +0 -0
  32. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/bc/ec.py +0 -0
  33. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/certs/__init__.py +0 -0
  34. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  35. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/code_cheker/__init__.py +0 -0
  36. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/code_cheker/checker.py +0 -0
  37. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/comm/__init__.py +0 -0
  38. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/comm/amqp_wrapper.py +0 -0
  39. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/comm/mqtt_wrapper.py +0 -0
  40. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/README.md +0 -0
  41. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/__init__.py +0 -0
  42. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/apps.py +0 -0
  43. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/base.py +0 -0
  44. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/comms.py +0 -0
  45. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/formatter.py +0 -0
  46. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/heartbeat.py +0 -0
  47. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/misc.py +0 -0
  48. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/const/payload.py +0 -0
  49. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/__init__.py +0 -0
  50. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/instance/__init__.py +0 -0
  51. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/instance/basic_telegram_bot_01_plugin.py +0 -0
  52. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  53. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/instance/custom_web_app_01_plugin.py +0 -0
  54. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
  55. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
  56. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/default/session/mqtt_session.py +0 -0
  57. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/__init__.py +0 -0
  58. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/base/__init__.py +0 -0
  59. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/base/base_formatter.py +0 -0
  60. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/default/__init__.py +0 -0
  61. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/default/a_dummy.py +0 -0
  62. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/default/aixp1.py +0 -0
  63. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/default/default.py +0 -0
  64. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
  65. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/__init__.py +0 -0
  66. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/base_logger.py +0 -0
  67. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/__init__.py +0 -0
  68. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
  69. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
  70. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
  71. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
  72. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
  73. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
  74. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  75. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
  76. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
  77. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
  78. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
  79. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
  80. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/small_logger.py +0 -0
  81. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/tzlocal/__init__.py +0 -0
  82. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/tzlocal/unix.py +0 -0
  83. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/tzlocal/utils.py +0 -0
  84. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/tzlocal/win32.py +0 -0
  85. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
  86. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/plugins_manager_mixin.py +0 -0
  87. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/utils/__init__.py +0 -0
  88. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/utils/comm_utils.py +0 -0
  89. {naeural_client-2.1.1 → naeural_client-2.1.2}/naeural_client/utils/dotenv.py +0 -0
  90. {naeural_client-2.1.1 → naeural_client-2.1.2}/requirements.txt +0 -0
  91. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/.example_env +0 -0
  92. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  93. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  94. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/_example_pk_sdk.pem +0 -0
  95. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex01_part1_connect.py +0 -0
  96. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex01_part2_filter.py +0 -0
  97. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex02_first_deploy.py +0 -0
  98. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  99. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  100. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  101. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  102. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  103. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex08_custom_web_app.py +0 -0
  104. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  105. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/ex11_telegram_smart_bot.py +0 -0
  106. {naeural_client-2.1.1 → naeural_client-2.1.2}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  107. {naeural_client-2.1.1 → naeural_client-2.1.2}/winrun.bat +0 -0
  108. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/.example_env +0 -0
  109. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/README.md +0 -0
  110. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/_archive/test.py +0 -0
  111. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/_tutorials/3. simple_real_time_custom_code.py +0 -0
  112. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/_tutorials/4. real_time_custom_code_2.py +0 -0
  113. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/_tutorials/8. chatbot.py +0 -0
  114. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/attach_example.py +0 -0
  115. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/decentralized/chain_dist_example.py +0 -0
  116. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  117. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  118. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/ex1.py +0 -0
  119. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/hello.py +0 -0
  120. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/remote_exec.py +0 -0
  121. {naeural_client-2.1.1 → naeural_client-2.1.2}/xperimental/save_images.py +0 -0
  122. {naeural_client-2.1.1 → naeural_client-2.1.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.1.1
3
+ Version: 2.1.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/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.1.1"
1
+ __VER__ = "2.1.2"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1717,10 +1717,12 @@ class GenericSession(BaseDecentrAIObject):
1717
1717
  *,
1718
1718
  node,
1719
1719
  name,
1720
- signature=PLUGIN_SIGNATURES.CUSTOM_WEB_APP_01,
1720
+ signature=PLUGIN_SIGNATURES.BASIC_TELEGRAM_BOT_01,
1721
1721
  message_handler=None,
1722
1722
  telegram_bot_token=None,
1723
1723
  telegram_bot_token_env_key=ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY,
1724
+ telegram_bot_name=None,
1725
+ telegram_bot_name_env_key=ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY,
1724
1726
  **kwargs
1725
1727
  ):
1726
1728
 
@@ -1731,6 +1733,12 @@ class GenericSession(BaseDecentrAIObject):
1731
1733
  if telegram_bot_token is None:
1732
1734
  message = f"Warning! No Telegram bot token provided as via env {ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY} or explicitly as `telegram_bot_token` param."
1733
1735
  raise ValueError(message)
1736
+
1737
+ if telegram_bot_name is None:
1738
+ telegram_bot_name = os.getenv(telegram_bot_name_env_key)
1739
+ if telegram_bot_name is None:
1740
+ message = f"Warning! No Telegram bot name provided as via env {ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY} or explicitly as `telegram_bot_name` param."
1741
+ raise ValueError(message)
1734
1742
 
1735
1743
 
1736
1744
  pipeline: Pipeline = self.create_pipeline(
@@ -1741,12 +1749,15 @@ class GenericSession(BaseDecentrAIObject):
1741
1749
 
1742
1750
  func_name, func_args, func_base64_code = pipeline._get_method_data(message_handler)
1743
1751
  if len(func_args) != 2:
1744
- raise ValueError("The message handler function must have exactly 2 arguments: `instance` and `data`.")
1752
+ raise ValueError("The message handler function must have exactly 3 arguments: `plugin`, `message` and `user`.")
1745
1753
 
1754
+ obfuscated_token = telegram_bot_token[:4] + "*" * (len(telegram_bot_token) - 4)
1755
+ self.P(f"Creating telegram bot {telegram_bot_name} with token {obfuscated_token}...", color='b')
1746
1756
  instance = pipeline.create_plugin_instance(
1747
1757
  signature=signature,
1748
1758
  instance_id=self.log.get_unique_id(),
1749
1759
  telegram_bot_token=telegram_bot_token,
1760
+ telegram_bot_name=telegram_bot_name,
1750
1761
  message_handler=func_base64_code,
1751
1762
  message_handler_args=func_args, # mandatory message and user
1752
1763
  message_handler_name=func_name, # not mandatory
@@ -550,8 +550,14 @@ class BaseCodeChecker:
550
550
 
551
551
  name = method.__name__
552
552
  args = list(map(str, inspect.signature(method).parameters.values()))
553
- if args[0] in ['self', 'cls', 'plugin']:
553
+ ##
554
+ first_arg = args[0]
555
+ first_arg = first_arg.split(':')[0]
556
+ first_arg = first_arg.split('=')[0]
557
+ first_arg = first_arg.strip()
558
+ if first_arg in ['self', 'cls', 'plugin']:
554
559
  args = args[1:]
560
+ ##
555
561
  source = self.get_function_source_code(method)
556
562
  base64_code = self.code_to_base64(source)
557
563
 
@@ -560,7 +566,7 @@ class BaseCodeChecker:
560
566
 
561
567
  if __name__ == '__main__':
562
568
 
563
- def some_function(plugin, x):
569
+ def some_function(plugin : int, x):
564
570
  """
565
571
  A simple function that adds 1 to the input.
566
572
 
@@ -30,3 +30,4 @@ class ENVIRONMENT:
30
30
  AIXP_SECURED = 'AIXP_SECURED'
31
31
 
32
32
  TELEGRAM_BOT_TOKEN_ENV_KEY = 'TELEGRAM_BOT_TOKEN'
33
+ TELEGRAM_BOT_NAME_ENV_KEY = 'TELEGRAM_BOT_NAME'
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "naeural_client"
7
- version = "2.1.1"
7
+ version = "2.1.2"
8
8
  authors = [
9
9
  { name="Stefan Saraev", email="saraevstefan@gmail.com" },
10
10
  { name="Andrei Ionut Damian", email="andrei.damian@me.com" },
@@ -1,13 +1,11 @@
1
1
  import os
2
+ import time
2
3
 
3
4
  from naeural_client import Session, CustomPluginTemplate, PLUGIN_TYPES
4
5
 
5
-
6
6
  def reply(plugin: CustomPluginTemplate, message: str, user: str):
7
7
  """
8
- This function is used to reply to a message.
9
-
10
- The given parameters are mandatory
8
+ This function is used to reply to a message. The given parameters are mandatory
11
9
  """
12
10
  # for each user message we increase a counter
13
11
  plugin.int_cache[user] += 1 # int_cache is a default dict that allows persistence in the plugin
@@ -18,12 +16,14 @@ def reply(plugin: CustomPluginTemplate, message: str, user: str):
18
16
 
19
17
  if __name__ == "__main__":
20
18
  # TELEGRAM_BOT_TOKEN_ENV_KEY = "TELEGRAM_BOT_TOKEN" # this is the default - we can specify a env key here
21
- MY_NODE = None # we can specify a node here, if we want to connect to a specific
19
+ my_node = os.getenv("TARGET_NODE") # we can specify a node here, if we want to connect to a specific
22
20
 
23
21
  session = Session() # assume .env is available and will be used for the connection and tokens
22
+ time.sleep(10) # wait 10 sec to collect network status
24
23
 
25
- if MY_NODE:
26
- node = MY_NODE
24
+ if my_node:
25
+ node = my_node
26
+ session.P(f"Using the specified node: {node}", color='b')
27
27
  else:
28
28
  session.wait_for_any_node() # we wait for any node to present itself as active
29
29
  node = session.get_active_nodes()[0] # we get the first active node
@@ -31,13 +31,13 @@ if __name__ == "__main__":
31
31
 
32
32
  # now we create a telegram bot pipeline & plugin instance
33
33
  # we can chose to use the token directly or use the environment key
34
- # instance: PLUGIN_TYPES.BASIC_TELEGRAM_BOT_01
34
+ # instance: PLUGIN_TYPES.BASIC_TELEGRAM_BOT_01
35
35
  pipeline, _ = session.create_telegram_simple_bot(
36
36
  node=node,
37
37
  name="telegram_bot_echo",
38
38
  # telegram_bot_token=os.getenv("TELEGRAM_BOT_TOKEN"), # we use the token directly
39
39
  # telegram_bot_token_env_key=TELEGRAM_BOT_TOKEN_ENV_KEY, # not mandatory - we can use the default
40
- reply_function=reply,
40
+ message_handler=reply,
41
41
  )
42
42
 
43
43
  pipeline.deploy() # we deploy the pipeline
@@ -46,7 +46,7 @@ if __name__ == "__main__":
46
46
  # next code is not mandatory - it is used to keep the session open and cleanup the resources
47
47
  # in production, you would not need this code as the script can close after the pipeline will be sent
48
48
  session.run(
49
- wait=60, # we run the session for 60 seconds
49
+ wait=120, # we run the session for 60 seconds
50
50
  close_pipelines=True, # we close the pipelines after the session
51
51
  close_session=True, # we close the session after the session
52
52
  )
File without changes
File without changes
File without changes