ratio1 3.4.65__tar.gz → 3.4.66__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 (216) hide show
  1. {ratio1-3.4.65 → ratio1-3.4.66}/PKG-INFO +1 -1
  2. {ratio1-3.4.65 → ratio1-3.4.66}/pyproject.toml +1 -1
  3. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/_ver.py +1 -1
  4. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/comm/mqtt_wrapper.py +2 -2
  5. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex21_telegram_community_bot.py +38 -13
  6. {ratio1-3.4.65 → ratio1-3.4.66}/.devcontainer/Dockerfile +0 -0
  7. {ratio1-3.4.65 → ratio1-3.4.66}/.devcontainer/devcontainer.json +0 -0
  8. {ratio1-3.4.65 → ratio1-3.4.66}/.gitattributes +0 -0
  9. {ratio1-3.4.65 → ratio1-3.4.66}/.github/workflows/python-publish.yml +0 -0
  10. {ratio1-3.4.65 → ratio1-3.4.66}/.gitignore +0 -0
  11. {ratio1-3.4.65 → ratio1-3.4.66}/.vscode/launch.json +0 -0
  12. {ratio1-3.4.65 → ratio1-3.4.66}/LICENSE +0 -0
  13. {ratio1-3.4.65 → ratio1-3.4.66}/README.md +0 -0
  14. {ratio1-3.4.65 → ratio1-3.4.66}/TODOs.md +0 -0
  15. {ratio1-3.4.65 → ratio1-3.4.66}/__init__.py +0 -0
  16. {ratio1-3.4.65 → ratio1-3.4.66}/r1ctl.MD +0 -0
  17. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/__init__.py +0 -0
  18. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/__init__.py +0 -0
  19. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/distributed_custom_code_presets.py +0 -0
  20. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/generic_session.py +0 -0
  21. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/instance.py +0 -0
  22. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/payload/__init__.py +0 -0
  23. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/payload/payload.py +0 -0
  24. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/pipeline.py +0 -0
  25. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/plugin_template.py +0 -0
  26. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/responses.py +0 -0
  27. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/transaction.py +0 -0
  28. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base/webapp_pipeline.py +0 -0
  29. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/base_decentra_object.py +0 -0
  30. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/bc/__init__.py +0 -0
  31. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/bc/base.py +0 -0
  32. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/bc/chain.py +0 -0
  33. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/bc/ec.py +0 -0
  34. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/bc/evm.py +0 -0
  35. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/certs/51.15.142.167.crt +0 -0
  36. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/certs/__init__.py +0 -0
  37. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/certs/a0d9818f.ala.eu-central-1.emqxsl.com.crt +0 -0
  38. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  39. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
  40. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/cli/README.md +0 -0
  41. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/cli/cli.py +0 -0
  42. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/cli/cli_commands.py +0 -0
  43. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/cli/nodes.py +0 -0
  44. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/cli/oracles.py +0 -0
  45. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/cli/package_update.py +0 -0
  46. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/code_cheker/__init__.py +0 -0
  47. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/code_cheker/base.py +0 -0
  48. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/code_cheker/checker.py +0 -0
  49. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/comm/__init__.py +0 -0
  50. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/comm/amqp_wrapper.py +0 -0
  51. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/comm/base_comm_wrapper.py +0 -0
  52. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/README.md +0 -0
  53. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/__init__.py +0 -0
  54. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/apps.py +0 -0
  55. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/base.py +0 -0
  56. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/comms.py +0 -0
  57. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/environment.py +0 -0
  58. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/evm_net.py +0 -0
  59. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/formatter.py +0 -0
  60. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/heartbeat.py +0 -0
  61. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/misc.py +0 -0
  62. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/payload.py +0 -0
  63. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/const/plugins/deeploy_const.py +0 -0
  64. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/__init__.py +0 -0
  65. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/__init__.py +0 -0
  66. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  67. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/custom_webapi_01_plugin.py +0 -0
  68. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/generic_http_01_plugin.py +0 -0
  69. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/net_mon_01_plugin.py +0 -0
  70. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  71. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  72. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/instance/view_scene_01_plugin.py +0 -0
  73. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/default/session/mqtt_session.py +0 -0
  74. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/__init__.py +0 -0
  75. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/base/__init__.py +0 -0
  76. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/base/base_formatter.py +0 -0
  77. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/default/__init__.py +0 -0
  78. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/default/a_dummy.py +0 -0
  79. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/default/aixp1.py +0 -0
  80. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/default/default.py +0 -0
  81. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/io_formatter/io_formatter_manager.py +0 -0
  82. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/__init__.py +0 -0
  83. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ifps_keygen +0 -0
  84. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/ipfs.service +0 -0
  85. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/launch_service.sh +0 -0
  86. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/restart.sh +0 -0
  87. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/run.sh +0 -0
  88. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/setup.sh +0 -0
  89. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/show.sh +0 -0
  90. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/ipfs_setup/write_key.sh +0 -0
  91. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/ipfs/r1fs.py +0 -0
  92. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/__init__.py +0 -0
  93. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/base_logger.py +0 -0
  94. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/__init__.py +0 -0
  95. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/class_instance_mixin.py +0 -0
  96. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/computer_vision_mixin.py +0 -0
  97. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/datetime_mixin.py +0 -0
  98. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/download_mixin.py +0 -0
  99. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/general_serialization_mixin.py +0 -0
  100. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/json_serialization_mixin.py +0 -0
  101. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/machine_mixin.py +0 -0
  102. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  103. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/process_mixin.py +0 -0
  104. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/resource_size_mixin.py +0 -0
  105. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/timers_mixin.py +0 -0
  106. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/upload_mixin.py +0 -0
  107. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/logger_mixins/utils_mixin.py +0 -0
  108. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/small_logger.py +0 -0
  109. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/tzlocal/__init__.py +0 -0
  110. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/tzlocal/unix.py +0 -0
  111. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/tzlocal/utils.py +0 -0
  112. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/tzlocal/win32.py +0 -0
  113. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/logging/tzlocal/windows_tz.py +0 -0
  114. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/plugins_manager_mixin.py +0 -0
  115. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/utils/__init__.py +0 -0
  116. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/utils/comm_utils.py +0 -0
  117. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/utils/config.py +0 -0
  118. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/utils/dotenv.py +0 -0
  119. {ratio1-3.4.65 → ratio1-3.4.66}/ratio1/utils/oracle_sync/oracle_tester.py +0 -0
  120. {ratio1-3.4.65 → ratio1-3.4.66}/requirements.txt +0 -0
  121. {ratio1-3.4.65 → ratio1-3.4.66}/template.env +0 -0
  122. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/.example_env +0 -0
  123. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  124. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  125. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/_example_pk_sdk.pem +0 -0
  126. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/eth2025/deploy_home_safety.py +0 -0
  127. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/eth2025/deploy_maintenance_monitoring.py +0 -0
  128. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex01_part1_connect.py +0 -0
  129. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex01_part2_filter.py +0 -0
  130. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex01_part3_adv_filter.py +0 -0
  131. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex02_part1_deploy_webapi.py +0 -0
  132. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex02_part2_deploy_plugin.py +0 -0
  133. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex02_part3_deploy_r1fs_test.py +0 -0
  134. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  135. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  136. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  137. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  138. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  139. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex08_custom_webapi.py +0 -0
  140. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  141. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex10_telegram_echo_bot.py +0 -0
  142. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  143. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex12_telegram_smart_bot.py +0 -0
  144. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
  145. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex14_wallets.py +0 -0
  146. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex15_telegram_rogue_style_game.py +0 -0
  147. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex16_launch_repo_based_http_server.py +0 -0
  148. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex17_launch_repo_based_balanced_webapp.py +0 -0
  149. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex18_deploy_container_webapi.py +0 -0
  150. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex19_deeploy_container_example.py +0 -0
  151. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex20_deeploy_telegram_bot.py +0 -0
  152. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/ex22_deeploy_custom_code.py +0 -0
  153. {ratio1-3.4.65 → ratio1-3.4.66}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  154. {ratio1-3.4.65 → ratio1-3.4.66}/winrun.bat +0 -0
  155. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/README.md +0 -0
  156. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/_show_config_check.py +0 -0
  157. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/cstore_check.py +0 -0
  158. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/dauth_check.py +0 -0
  159. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/keys_check.py +0 -0
  160. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/node_info_check.py +0 -0
  161. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/ora_check.py +0 -0
  162. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/ora_intervals.py +0 -0
  163. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/ora_sign_check.py +0 -0
  164. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/owner_check.py +0 -0
  165. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/payload_check.py +0 -0
  166. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/session_check.py +0 -0
  167. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/w3_auth_check.py +0 -0
  168. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/w3_nodes_licenses.py +0 -0
  169. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/w3_oracles_check.py +0 -0
  170. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/w3_poai_check.py +0 -0
  171. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/whitelist_check.py +0 -0
  172. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/_checks/workload_check.py +0 -0
  173. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/dates/check_date.py +0 -0
  174. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/debug/close_pipeline.py +0 -0
  175. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/decentralized/chain_dist_example.py +0 -0
  176. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  177. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  178. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/deeploy/checker.py +0 -0
  179. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/deeploy/checker2.py +0 -0
  180. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/deeploy/create_request.py +0 -0
  181. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/enc_dec/enc_dec_test.py +0 -0
  182. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/allocate_rewards.py +0 -0
  183. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/balance.py +0 -0
  184. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/eth_sign.py +0 -0
  185. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/info.md +0 -0
  186. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/send.py +0 -0
  187. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/send_many.py +0 -0
  188. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/eth/sign.py +0 -0
  189. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/log.py +0 -0
  190. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/logger/run.py +0 -0
  191. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/lp/lp_checker.py +0 -0
  192. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/multi-enc-dec/multi_test1.py +0 -0
  193. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/multi-enc-dec/multi_test2.py +0 -0
  194. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/netmon/check_netmon.py +0 -0
  195. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/netmon/netmon_data.json +0 -0
  196. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/pipelines/start.py +0 -0
  197. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/pipelines/stop.py +0 -0
  198. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/scripts/monitoring/collect_messages.py +0 -0
  199. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/scripts/monitoring/get_hb_distribution.py +0 -0
  200. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/scripts/monitoring/multithreaded_network_sniffer.py +0 -0
  201. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/sign/simple_payload_checker.py +0 -0
  202. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/sign/test_sign1.py +0 -0
  203. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/sign/test_sign2.py +0 -0
  204. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/test.py +0 -0
  205. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/tokens/get_check.py +0 -0
  206. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/utils/get_documentation.py +0 -0
  207. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/various/attach_example.py +0 -0
  208. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/various/ex1.py +0 -0
  209. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/various/hello.py +0 -0
  210. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/various/remote_exec.py +0 -0
  211. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/various/save_images.py +0 -0
  212. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/wl/wl_add.py +0 -0
  213. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
  214. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
  215. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
  216. {ratio1-3.4.65 → ratio1-3.4.66}/xperimental/xarchive/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ratio1
3
- Version: 3.4.65
3
+ Version: 3.4.66
4
4
  Summary: `ratio1` or Ration1 SDK is the Python SDK required for client app development for the Ratio1 ecosystem
5
5
  Project-URL: Homepage, https://github.com/Ratio1/ratio1_sdk
6
6
  Project-URL: Bug Tracker, https://github.com/Ratio1/ratio1_sdk/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "ratio1"
7
- version = "3.4.65"
7
+ version = "3.4.66"
8
8
  authors = [
9
9
  { name="Andrei Ionut Damian", email="andrei.damian@ratio1.ai" },
10
10
  { name="Cristan Bleotiu", email="cristian.bleotiu@ratio1.ai" },
@@ -1,4 +1,4 @@
1
- __VER__ = "3.4.65"
1
+ __VER__ = "3.4.66"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -131,7 +131,7 @@ class MQTTWrapper(BaseCommWrapper):
131
131
  cert_file = impresources.files(certs).joinpath(cert_file_name)
132
132
 
133
133
  if cert_file.exists():
134
- self.P("Using certificate file: {}".format(cert_file_name))
134
+ self.P("Using certificate file: {}".format(cert_file))
135
135
  mqttc.tls_set(cert_file)
136
136
  else:
137
137
  self.P("No certificate provided, using default TLS")
@@ -139,7 +139,7 @@ class MQTTWrapper(BaseCommWrapper):
139
139
  # end if certificate not provided
140
140
  else:
141
141
  if os.path.exists(cert_path):
142
- self.P("Using certificate file: {}".format(cert_path))
142
+ self.P("Using certificate file path: {}".format(cert_path))
143
143
  mqttc.tls_set(cert_path)
144
144
  else:
145
145
  self.P("Certificate file not found: {}".format(cert_path), color='r', verbosity=1)
@@ -229,6 +229,13 @@ def reply(plugin: CustomPluginTemplate, message: str, user: str, chat_id: str):
229
229
  message += f"- {wallet}\n"
230
230
  return message
231
231
 
232
+ def handle_network_status():
233
+ nodes = plugin.netmon.available_nodes_prefixed
234
+ if not nodes:
235
+ return "No nodes are currently online."
236
+ message = f"Total {len(nodes)} online Ratio1 nodes reported by `{plugin.ee_id}`"
237
+ return message
238
+
232
239
  def handle_nodes():
233
240
  user_watched_wallets = plugin.obj_cache.get(watched_wallets_cache_key).get(chat_id, [])
234
241
  if not user_watched_wallets:
@@ -265,25 +272,43 @@ def reply(plugin: CustomPluginTemplate, message: str, user: str, chat_id: str):
265
272
  return handle_unwatch()
266
273
  if message.startswith("/nodes"):
267
274
  return handle_nodes()
268
- if message.startswith("/start"):
275
+ if message.startswith("/network_status"):
276
+ return handle_network_status()
277
+ if message.startswith("/start"):
269
278
  return handle_start()
270
279
 
271
280
  return "Please use the /watch command followed by your Ethereum Wallet address to start watching the nodes on your wallet."
272
281
 
273
282
  if __name__ == "__main__":
283
+ PIPELINE_NAME = "ratio1_telegram_bot"
284
+
274
285
  session = Session()
275
-
286
+
276
287
  node = os.getenv("RATIO1_NODE")
277
- print(f"Connecting to node: {node}")
288
+ chat_id = os.getenv("TELEGRAM_CHAT_ID")
289
+ telegram_bot_token = os.getenv("TELEGRAM_BOT_TOKEN")
290
+ if chat_id is None or telegram_bot_token is None:
291
+ raise ValueError("Please set the TELEGRAM_CHAT_ID and TELEGRAM_BOT_TOKEN environment variables.")
292
+ else:
293
+ session.P("Using environment variables for chat_id and telegram_bot_token.")
294
+
295
+ session.P(f"Connecting to node: {node}")
278
296
  session.wait_for_node(node)
279
297
 
280
- pipeline, _ = session.create_telegram_simple_bot(
281
- node=node,
282
- name="ratio1_telegram_bot",
283
- telegram_bot_token=os.getenv("TELEGRAM_BOT_TOKEN"),
284
- chat_id=os.getenv("TELEGRAM_CHAT_ID"),
285
- message_handler=reply,
286
- processing_handler=loop_processing,
287
- )
288
-
289
- pipeline.deploy()
298
+ COMMAND = "STOP" # "START" or "STOP"
299
+
300
+ if COMMAND == "START":
301
+ pipeline, _ = session.create_telegram_simple_bot(
302
+ node=node,
303
+ name=PIPELINE_NAME,
304
+ telegram_bot_token=telegram_bot_token,
305
+ chat_id=chat_id,
306
+ message_handler=reply,
307
+ processing_handler=loop_processing,
308
+ )
309
+ pipeline.deploy()
310
+ elif COMMAND == "STOP":
311
+ session.P("Stopping the bot from target node...")
312
+ session.close_pipeline(node_addr=node, pipeline_name=PIPELINE_NAME)
313
+
314
+ session.wait(seconds=10, close_session_on_timeout=True)
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes