ratio1 3.4.121__tar.gz → 3.4.123__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 (233) hide show
  1. ratio1-3.4.123/AGENTS.md +45 -0
  2. {ratio1-3.4.121 → ratio1-3.4.123}/PKG-INFO +1 -1
  3. {ratio1-3.4.121 → ratio1-3.4.123}/pyproject.toml +1 -1
  4. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/_ver.py +1 -1
  5. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/json_serialization_mixin.py +9 -3
  6. {ratio1-3.4.121 → ratio1-3.4.123}/.devcontainer/Dockerfile +0 -0
  7. {ratio1-3.4.121 → ratio1-3.4.123}/.devcontainer/devcontainer.json +0 -0
  8. {ratio1-3.4.121 → ratio1-3.4.123}/.devcontainer/start_codex.sh +0 -0
  9. {ratio1-3.4.121 → ratio1-3.4.123}/.gitattributes +0 -0
  10. {ratio1-3.4.121 → ratio1-3.4.123}/.github/workflows/python-publish.yml +0 -0
  11. {ratio1-3.4.121 → ratio1-3.4.123}/.gitignore +0 -0
  12. {ratio1-3.4.121 → ratio1-3.4.123}/.vscode/launch.json +0 -0
  13. {ratio1-3.4.121 → ratio1-3.4.123}/LICENSE +0 -0
  14. {ratio1-3.4.121 → ratio1-3.4.123}/README.md +0 -0
  15. {ratio1-3.4.121 → ratio1-3.4.123}/TODOs.md +0 -0
  16. {ratio1-3.4.121 → ratio1-3.4.123}/__init__.py +0 -0
  17. {ratio1-3.4.121 → ratio1-3.4.123}/r1ctl.MD +0 -0
  18. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/__init__.py +0 -0
  19. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/__init__.py +0 -0
  20. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/distributed_custom_code_presets.py +0 -0
  21. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/generic_session.py +0 -0
  22. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/instance.py +0 -0
  23. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/payload/__init__.py +0 -0
  24. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/payload/payload.py +0 -0
  25. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/pipeline.py +0 -0
  26. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/plugin_template.py +0 -0
  27. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/responses.py +0 -0
  28. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/transaction.py +0 -0
  29. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base/webapp_pipeline.py +0 -0
  30. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/base_decentra_object.py +0 -0
  31. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/bc/__init__.py +0 -0
  32. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/bc/base.py +0 -0
  33. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/bc/chain.py +0 -0
  34. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/bc/ec.py +0 -0
  35. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/bc/evm.py +0 -0
  36. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/141.136.35.100.crt +0 -0
  37. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/195.35.29.4.crt +0 -0
  38. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/31.97.72.187.crt +0 -0
  39. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/51.15.142.167.crt +0 -0
  40. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/72.60.187.24.crt +0 -0
  41. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/72.60.81.67.crt +0 -0
  42. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/72.60.83.78.crt +0 -0
  43. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/__init__.py +0 -0
  44. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/a0d9818f.ala.eu-central-1.emqxsl.com.crt +0 -0
  45. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  46. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
  47. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/cli/README.md +0 -0
  48. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/cli/cli.py +0 -0
  49. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/cli/cli_commands.py +0 -0
  50. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/cli/nodes.py +0 -0
  51. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/cli/oracles.py +0 -0
  52. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/cli/package_update.py +0 -0
  53. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/code_cheker/__init__.py +0 -0
  54. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/code_cheker/base.py +0 -0
  55. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/code_cheker/checker.py +0 -0
  56. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/comm/__init__.py +0 -0
  57. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/comm/amqp_wrapper.py +0 -0
  58. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/comm/base_comm_wrapper.py +0 -0
  59. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/comm/mqtt_wrapper.py +0 -0
  60. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/README.md +0 -0
  61. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/__init__.py +0 -0
  62. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/apps.py +0 -0
  63. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/base.py +0 -0
  64. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/comms.py +0 -0
  65. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/environment.py +0 -0
  66. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/evm_net.py +0 -0
  67. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/formatter.py +0 -0
  68. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/heartbeat.py +0 -0
  69. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/misc.py +0 -0
  70. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/payload.py +0 -0
  71. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/const/plugins/deeploy_const.py +0 -0
  72. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/__init__.py +0 -0
  73. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/__init__.py +0 -0
  74. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  75. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/custom_webapi_01_plugin.py +0 -0
  76. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/generic_http_01_plugin.py +0 -0
  77. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/net_mon_01_plugin.py +0 -0
  78. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  79. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  80. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/instance/view_scene_01_plugin.py +0 -0
  81. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/default/session/mqtt_session.py +0 -0
  82. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/__init__.py +0 -0
  83. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/base/__init__.py +0 -0
  84. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/base/base_formatter.py +0 -0
  85. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/default/__init__.py +0 -0
  86. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/default/a_dummy.py +0 -0
  87. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/default/aixp1.py +0 -0
  88. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/default/default.py +0 -0
  89. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/io_formatter/io_formatter_manager.py +0 -0
  90. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/__init__.py +0 -0
  91. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ifps_keygen +0 -0
  92. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/ipfs.service +0 -0
  93. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/launch_service.sh +0 -0
  94. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/restart.sh +0 -0
  95. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/run.sh +0 -0
  96. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/setup.sh +0 -0
  97. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/show.sh +0 -0
  98. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/ipfs_setup/write_key.sh +0 -0
  99. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/ipfs/r1fs.py +0 -0
  100. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/__init__.py +0 -0
  101. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/base_logger.py +0 -0
  102. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/__init__.py +0 -0
  103. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/class_instance_mixin.py +0 -0
  104. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/computer_vision_mixin.py +0 -0
  105. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/datetime_mixin.py +0 -0
  106. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/download_mixin.py +0 -0
  107. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/general_serialization_mixin.py +0 -0
  108. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/machine_mixin.py +0 -0
  109. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  110. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/process_mixin.py +0 -0
  111. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/resource_size_mixin.py +0 -0
  112. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/timers_mixin.py +0 -0
  113. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/upload_mixin.py +0 -0
  114. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/logger_mixins/utils_mixin.py +0 -0
  115. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/small_logger.py +0 -0
  116. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/tzlocal/__init__.py +0 -0
  117. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/tzlocal/unix.py +0 -0
  118. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/tzlocal/utils.py +0 -0
  119. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/tzlocal/win32.py +0 -0
  120. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/logging/tzlocal/windows_tz.py +0 -0
  121. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/plugins_manager_mixin.py +0 -0
  122. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/utils/__init__.py +0 -0
  123. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/utils/comm_utils.py +0 -0
  124. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/utils/config.py +0 -0
  125. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/utils/dotenv.py +0 -0
  126. {ratio1-3.4.121 → ratio1-3.4.123}/ratio1/utils/oracle_sync/oracle_tester.py +0 -0
  127. {ratio1-3.4.121 → ratio1-3.4.123}/requirements.txt +0 -0
  128. {ratio1-3.4.121 → ratio1-3.4.123}/template.env +0 -0
  129. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/.example_env +0 -0
  130. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/26_cerviguard_war_loopback/cerviguard_test_ui.html +0 -0
  131. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  132. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  133. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/_example_pk_sdk.pem +0 -0
  134. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/eth2025/deploy_home_safety.py +0 -0
  135. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/eth2025/deploy_maintenance_monitoring.py +0 -0
  136. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex01_part1_connect.py +0 -0
  137. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex01_part2_filter.py +0 -0
  138. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex01_part3_adv_filter.py +0 -0
  139. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex02_part1_deploy_webapi.py +0 -0
  140. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex02_part2_deploy_plugin.py +0 -0
  141. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex02_part3_deploy_r1fs_test.py +0 -0
  142. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  143. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  144. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  145. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  146. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  147. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex08_custom_webapi.py +0 -0
  148. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  149. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex10_telegram_echo_bot.py +0 -0
  150. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  151. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex12_telegram_smart_bot.py +0 -0
  152. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
  153. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex14_wallets.py +0 -0
  154. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex15_telegram_rogue_style_game.py +0 -0
  155. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex16_launch_repo_based_http_server.py +0 -0
  156. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex17_launch_repo_based_balanced_webapp.py +0 -0
  157. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex18_deploy_container_webapi.py +0 -0
  158. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex19_deeploy_container_example.py +0 -0
  159. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex20_deeploy_telegram_bot.py +0 -0
  160. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex21_telegram_community_bot.py +0 -0
  161. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex22_deeploy_custom_code.py +0 -0
  162. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex23_deploy_worker_app.py +0 -0
  163. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex24_multi_video_stream_monitor.py +0 -0
  164. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex25_local_serving_api.py +0 -0
  165. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/ex26_cerviguard_war_loopback.py +0 -0
  166. {ratio1-3.4.121 → ratio1-3.4.123}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  167. {ratio1-3.4.121 → ratio1-3.4.123}/winrun.bat +0 -0
  168. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/README.md +0 -0
  169. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/_show_config_check.py +0 -0
  170. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/cstore_check.py +0 -0
  171. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/dauth_check.py +0 -0
  172. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/keys_check.py +0 -0
  173. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/node_info_check.py +0 -0
  174. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/ora_check.py +0 -0
  175. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/ora_intervals.py +0 -0
  176. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/ora_sign_check.py +0 -0
  177. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/owner_check.py +0 -0
  178. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/payload_check.py +0 -0
  179. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/session_check.py +0 -0
  180. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/w3_all_active_jobs_check.py +0 -0
  181. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/w3_auth_check.py +0 -0
  182. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/w3_first_closable_job_check.py +0 -0
  183. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/w3_nodes_licenses.py +0 -0
  184. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/w3_oracles_check.py +0 -0
  185. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/w3_poai_check.py +0 -0
  186. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/whitelist_check.py +0 -0
  187. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/_checks/workload_check.py +0 -0
  188. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/ai4e/delete.py +0 -0
  189. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/ai4e/launcher.py +0 -0
  190. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/dates/check_date.py +0 -0
  191. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/debug/close_pipeline.py +0 -0
  192. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/decentralized/chain_dist_example.py +0 -0
  193. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  194. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  195. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/deeploy/checker.py +0 -0
  196. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/deeploy/checker2.py +0 -0
  197. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/deeploy/create_request.py +0 -0
  198. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/enc_dec/enc_dec_test.py +0 -0
  199. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/allocate_rewards.py +0 -0
  200. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/balance.py +0 -0
  201. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/eth_sign.py +0 -0
  202. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/info.md +0 -0
  203. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/send.py +0 -0
  204. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/send_many.py +0 -0
  205. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/eth/sign.py +0 -0
  206. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/log.py +0 -0
  207. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/logger/run.py +0 -0
  208. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/lp/lp_checker.py +0 -0
  209. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/multi-enc-dec/multi_test1.py +0 -0
  210. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/multi-enc-dec/multi_test2.py +0 -0
  211. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/netmon/check_netmon.py +0 -0
  212. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/netmon/netmon_data.json +0 -0
  213. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/pipelines/start.py +0 -0
  214. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/pipelines/stop.py +0 -0
  215. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/scripts/monitoring/collect_messages.py +0 -0
  216. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/scripts/monitoring/get_hb_distribution.py +0 -0
  217. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/scripts/monitoring/multithreaded_network_sniffer.py +0 -0
  218. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/sign/simple_payload_checker.py +0 -0
  219. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/sign/test_sign1.py +0 -0
  220. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/sign/test_sign2.py +0 -0
  221. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/test.py +0 -0
  222. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/tokens/get_check.py +0 -0
  223. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/utils/get_documentation.py +0 -0
  224. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/various/attach_example.py +0 -0
  225. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/various/ex1.py +0 -0
  226. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/various/hello.py +0 -0
  227. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/various/remote_exec.py +0 -0
  228. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/various/save_images.py +0 -0
  229. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/wl/wl_add.py +0 -0
  230. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
  231. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
  232. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
  233. {ratio1-3.4.121 → ratio1-3.4.123}/xperimental/xarchive/test.py +0 -0
@@ -0,0 +1,45 @@
1
+ # AGENTS
2
+
3
+ ## Objectives
4
+ - Provide a Python SDK for the Ratio1 network so clients can build and deploy low-code job/pipeline workloads to Ratio1 Edge Nodes.
5
+ - Offer tooling for node discovery, auth (dAuth), and cooperative execution across nodes.
6
+ - Ship a CLI for interacting with the network and node management workflows.
7
+
8
+ ## Repository Structure
9
+ - `ratio1/`: main Python package
10
+ - `ratio1/base/`: core session/pipeline/instance abstractions and plugin templates
11
+ - `ratio1/bc/`: blockchain, dAuth, and EVM-related logic
12
+ - `ratio1/default/`: default implementations (MQTT session and instance defaults)
13
+ - `ratio1/cli/`: CLI implementation (entrypoint for `r1ctl`)
14
+ - `ratio1/ipfs/`: IPFS/R1FS helpers and integrations
15
+ - `ratio1/logging/`: logging mixins and upload/download helpers
16
+ - `ratio1/const/`: constants and shared enums
17
+ - `ratio1/utils/`: utility helpers (env loading, tooling, oracles)
18
+ - `tutorials/`: runnable examples and usage patterns
19
+ - `README.md`: high-level overview and quick start
20
+ - `r1ctl.MD`: CLI manual (nepctl/r1ctl usage)
21
+ - `pyproject.toml`: packaging metadata and CLI script entrypoint
22
+
23
+ ## Module Responsibilities
24
+ - `ratio1/base/generic_session.py`: session lifecycle, node discovery, request/response flow
25
+ - `ratio1/base/pipeline.py`: pipeline definitions, command sending, and transaction tracking
26
+ - `ratio1/base/instance.py`: instance-level control and command orchestration
27
+ - `ratio1/base/plugin_template.py`: remote execution template and plugin API surface
28
+ - `ratio1/bc/base.py`: signing/verification utilities and dAuth autoconfiguration
29
+ - `ratio1/bc/evm.py`: EVM interactions and transaction wait utilities
30
+ - `ratio1/ipfs/r1fs.py`: IPFS/R1FS client utilities and request wrappers
31
+ - `ratio1/cli/`: `r1ctl` command implementations and user-facing CLI flows
32
+
33
+ ## Key Entry Points
34
+ - `ratio1/__init__.py`: exports `Session`, `Pipeline`, `Instance`, `CustomPluginTemplate`, presets, and helpers.
35
+ - CLI: `r1ctl` -> `ratio1.cli.cli:main` (see `r1ctl.MD` for commands).
36
+
37
+ ## Development Notes
38
+ - dAuth is used for auto-configuration; network calls should set explicit timeouts.
39
+ - `template.env` and `.env` are used for local config and secrets.
40
+ - Docs mention `nepctl` while packaging registers `r1ctl`; confirm expected CLI naming when updating docs.
41
+
42
+ ## Update Log (append-only)
43
+ - 2025-12-22: Added `request_timeout` to `dauth_autocomplete` to prevent hanging HTTP requests.
44
+ - 2025-12-22: Expanded AGENTS repo structure notes and flagged `nepctl`/`r1ctl` naming mismatch.
45
+ - (add new entries here)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ratio1
3
- Version: 3.4.121
3
+ Version: 3.4.123
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.121"
7
+ version = "3.4.123"
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.121"
1
+ __VER__ = "3.4.123"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -106,11 +106,16 @@ class NPJson(json.JSONEncoder):
106
106
 
107
107
  if not allow_nan:
108
108
  raise ValueError("Out of range float values are not JSON compliant: " + repr(o))
109
-
109
+
110
110
  return text
111
111
 
112
+ # Convert indent to string if it's an integer (required for Python 3.13+)
113
+ indent = self.indent
114
+ if indent is not None and not isinstance(indent, str):
115
+ indent = ' ' * indent
116
+
112
117
  _iterencode = json.encoder._make_iterencode(
113
- markers, self.default, _encoder, self.indent, floatstr,
118
+ markers, self.default, _encoder, indent, floatstr,
114
119
  self.key_separator, self.item_separator, self.sort_keys,
115
120
  self.skipkeys, _one_shot
116
121
  )
@@ -346,12 +351,13 @@ class _JSONSerializationMixin(object):
346
351
 
347
352
  with self.managed_lock_resource(path, condition=locking):
348
353
  try:
354
+ indent = 4 * ' ' if indent else None
349
355
  with open(path, 'w') as fp:
350
356
  json.dump(
351
357
  data_json,
352
358
  fp,
353
359
  sort_keys=True,
354
- indent=4 if indent else None,
360
+ indent=indent,
355
361
  cls=NPJson
356
362
  )
357
363
  except Exception as e:
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