naeural-client 2.7.25__tar.gz → 2.7.26__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 (156) hide show
  1. {naeural_client-2.7.25 → naeural_client-2.7.26}/PKG-INFO +1 -1
  2. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/_ver.py +1 -1
  3. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/base_logger.py +23 -19
  4. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/utils/config.py +6 -3
  5. {naeural_client-2.7.25 → naeural_client-2.7.26}/pyproject.toml +1 -1
  6. {naeural_client-2.7.25 → naeural_client-2.7.26}/.devcontainer/Dockerfile +0 -0
  7. {naeural_client-2.7.25 → naeural_client-2.7.26}/.devcontainer/devcontainer.json +0 -0
  8. {naeural_client-2.7.25 → naeural_client-2.7.26}/.gitattributes +0 -0
  9. {naeural_client-2.7.25 → naeural_client-2.7.26}/.github/workflows/python-publish.yml +0 -0
  10. {naeural_client-2.7.25 → naeural_client-2.7.26}/.gitignore +0 -0
  11. {naeural_client-2.7.25 → naeural_client-2.7.26}/.vscode/launch.json +0 -0
  12. {naeural_client-2.7.25 → naeural_client-2.7.26}/LICENSE +0 -0
  13. {naeural_client-2.7.25 → naeural_client-2.7.26}/README.md +0 -0
  14. {naeural_client-2.7.25 → naeural_client-2.7.26}/TODOs.md +0 -0
  15. {naeural_client-2.7.25 → naeural_client-2.7.26}/__init__.py +0 -0
  16. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/__init__.py +0 -0
  17. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/__init__.py +0 -0
  18. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/distributed_custom_code_presets.py +0 -0
  19. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/generic_session.py +0 -0
  20. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/instance.py +0 -0
  21. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/payload/__init__.py +0 -0
  22. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/payload/payload.py +0 -0
  23. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/pipeline.py +0 -0
  24. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/plugin_template.py +0 -0
  25. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/responses.py +0 -0
  26. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/transaction.py +0 -0
  27. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base/webapp_pipeline.py +0 -0
  28. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/base_decentra_object.py +0 -0
  29. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/bc/__init__.py +0 -0
  30. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/bc/base.py +0 -0
  31. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/bc/chain.py +0 -0
  32. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/bc/ec.py +0 -0
  33. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/certs/__init__.py +0 -0
  34. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  35. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
  36. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/cli/README.md +0 -0
  37. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/cli/cli.py +0 -0
  38. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/cli/cli_commands.py +0 -0
  39. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/cli/nodes.py +0 -0
  40. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/cli/oracles.py +0 -0
  41. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/code_cheker/__init__.py +0 -0
  42. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/code_cheker/base.py +0 -0
  43. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/code_cheker/checker.py +0 -0
  44. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/comm/__init__.py +0 -0
  45. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/comm/amqp_wrapper.py +0 -0
  46. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/comm/mqtt_wrapper.py +0 -0
  47. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/README.md +0 -0
  48. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/__init__.py +0 -0
  49. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/apps.py +0 -0
  50. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/base.py +0 -0
  51. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/comms.py +0 -0
  52. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/environment.py +0 -0
  53. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/evm_net.py +0 -0
  54. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/formatter.py +0 -0
  55. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/heartbeat.py +0 -0
  56. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/misc.py +0 -0
  57. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/const/payload.py +0 -0
  58. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/__init__.py +0 -0
  59. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/__init__.py +0 -0
  60. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  61. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/custom_webapi_01_plugin.py +0 -0
  62. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
  63. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  64. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  65. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
  66. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/default/session/mqtt_session.py +0 -0
  67. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/__init__.py +0 -0
  68. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/base/__init__.py +0 -0
  69. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/base/base_formatter.py +0 -0
  70. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/default/__init__.py +0 -0
  71. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/default/a_dummy.py +0 -0
  72. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/default/aixp1.py +0 -0
  73. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/default/default.py +0 -0
  74. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
  75. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/__init__.py +0 -0
  76. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/__init__.py +0 -0
  77. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
  78. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
  79. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
  80. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
  81. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
  82. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
  83. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  84. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
  85. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
  86. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
  87. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
  88. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
  89. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/small_logger.py +0 -0
  90. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/tzlocal/__init__.py +0 -0
  91. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/tzlocal/unix.py +0 -0
  92. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/tzlocal/utils.py +0 -0
  93. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/tzlocal/win32.py +0 -0
  94. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
  95. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/plugins_manager_mixin.py +0 -0
  96. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/utils/__init__.py +0 -0
  97. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/utils/comm_utils.py +0 -0
  98. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/utils/dotenv.py +0 -0
  99. {naeural_client-2.7.25 → naeural_client-2.7.26}/naeural_client/utils/oracle_sync/oracle_tester.py +0 -0
  100. {naeural_client-2.7.25 → naeural_client-2.7.26}/nepctl.MD +0 -0
  101. {naeural_client-2.7.25 → naeural_client-2.7.26}/requirements.txt +0 -0
  102. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/.example_env +0 -0
  103. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  104. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  105. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/_example_pk_sdk.pem +0 -0
  106. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex01_part1_connect.py +0 -0
  107. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex01_part2_filter.py +0 -0
  108. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex01_part3_adv_filter.py +0 -0
  109. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex02_part1_deploy_webapi.py +0 -0
  110. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex02_part2_deploy_plugin.py +0 -0
  111. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  112. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  113. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  114. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  115. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  116. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex08_custom_webapi.py +0 -0
  117. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  118. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex10_telegram_echo_bot.py +0 -0
  119. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  120. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex12_telegram_smart_bot.py +0 -0
  121. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
  122. {naeural_client-2.7.25 → naeural_client-2.7.26}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  123. {naeural_client-2.7.25 → naeural_client-2.7.26}/winrun.bat +0 -0
  124. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/README.md +0 -0
  125. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/cstore_check.py +0 -0
  126. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/dauth_check.py +0 -0
  127. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/keys_check.py +0 -0
  128. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/ora_check.py +0 -0
  129. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/payload_check.py +0 -0
  130. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/session_check.py +0 -0
  131. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/_checks/web3_check.py +0 -0
  132. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/decentralized/chain_dist_example.py +0 -0
  133. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  134. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  135. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/enc_dec/enc_dec_test.py +0 -0
  136. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/eth/eth_sign.py +0 -0
  137. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/eth/info.md +0 -0
  138. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/eth/sign.py +0 -0
  139. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/multi-enc-dec/multi_test1.py +0 -0
  140. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/multi-enc-dec/multi_test2.py +0 -0
  141. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/pipelines/start.py +0 -0
  142. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/pipelines/stop.py +0 -0
  143. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/sign/simple_payload_checker.py +0 -0
  144. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/sign/test_sign1.py +0 -0
  145. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/sign/test_sign2.py +0 -0
  146. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/utils/get_documentation.py +0 -0
  147. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/various/attach_example.py +0 -0
  148. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/various/ex1.py +0 -0
  149. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/various/hello.py +0 -0
  150. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/various/remote_exec.py +0 -0
  151. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/various/save_images.py +0 -0
  152. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/wl/wl_add.py +0 -0
  153. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
  154. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
  155. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
  156. {naeural_client-2.7.25 → naeural_client-2.7.26}/xperimental/xarchive/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naeural_client
3
- Version: 2.7.25
3
+ Version: 2.7.26
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.7.25"
1
+ __VER__ = "2.7.26"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1098,28 +1098,32 @@ class BaseLogger(object):
1098
1098
  def reload_config(self):
1099
1099
  self._configure_data_and_dirs(self.config_file, self.config_file_encoding)
1100
1100
  return
1101
-
1102
- def _maybe_migrate_folder(self):
1103
- user_folder = self.get_user_folder()
1104
- if user_folder.is_dir():
1105
- self.P(f"{str(user_folder)} already exists. Skipping migration.")
1101
+
1102
+ @staticmethod
1103
+ def maybe_migrate_user_folder(verbose=False):
1104
+ current_user_folder = BaseLogger.get_user_folder()
1105
+ if current_user_folder.is_dir():
1106
+ if verbose:
1107
+ BaseLogger.print_color(f"{str(current_user_folder)} already exists. Skipping migration.")
1106
1108
  return
1107
- user_base_folder = self.get_user_folder(as_str=True, include_sdk_home=True)
1108
- self.P(f'{str(user_folder)} does not exist. Checking for previous app homes if necessary...')
1109
- if user_base_folder in self._base_folder:
1110
- BaseLogger.print_color("Using default user folder. Checking for previous app homes...", color='d')
1111
- for old_sdk in SDK_HOME_PREV:
1112
- new_path = self.get_user_folder(as_str=False, include_sdk_home=True)
1113
- old_path = self.get_user_folder(as_str=False, include_sdk_home=False) / old_sdk
1114
- self.P(f'Checking for previous app home: {old_path}')
1115
- if old_path.is_dir():
1116
- BaseLogger.print_color(f"Found previous app home '{old_path}'. Renaming to '{SDK_HOME}'...", color='d')
1117
- old_path.rename(new_path)
1118
- break
1119
- #endfor
1120
- #endif
1109
+ if verbose:
1110
+ BaseLogger.print_color(f'User folder {str(current_user_folder)} does not exist. Checking for previous versions...')
1111
+ for old_sdk_home in SDK_HOME_PREV:
1112
+ old_user_folder = current_user_folder.parent / old_sdk_home
1113
+ if old_user_folder.is_dir():
1114
+ if verbose:
1115
+ BaseLogger.print_color(f"Found previous user folder '{old_user_folder}'. Renaming to '{current_user_folder}'...")
1116
+ old_user_folder.rename(current_user_folder)
1117
+ return
1118
+ if verbose:
1119
+ BaseLogger.print_color("No previous user folders found.")
1121
1120
  return
1122
1121
 
1122
+ def _maybe_migrate_folder(self):
1123
+ user_base_folder = BaseLogger.get_user_folder(as_str=True, include_sdk_home=True)
1124
+ if user_base_folder in self._base_folder:
1125
+ BaseLogger.maybe_migrate_user_folder(verbose=True)
1126
+ return
1123
1127
 
1124
1128
  def _configure_data_and_dirs(self, config_file, config_file_encoding=None):
1125
1129
  self._maybe_migrate_folder()
@@ -327,7 +327,10 @@ def maybe_init_config():
327
327
  """
328
328
  config_file = get_user_config_file()
329
329
  if not config_file.exists():
330
- log_with_color(f"No configuration file found at {config_file}. Initializing configuration...", color="y")
331
- reset_config(keep_existing=True)
332
- return False
330
+ BaseLogger.maybe_migrate_user_folder(verbose=True)
331
+ if not config_file.exists():
332
+ log_with_color(f"No configuration file found at {config_file}. Initializing configuration...", color="y")
333
+ reset_config(keep_existing=True)
334
+ return False
335
+ # config_file still does not exist even after attempting the migration.
333
336
  return load_user_defined_config()
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "naeural_client"
7
- version = "2.7.25"
7
+ version = "2.7.26"
8
8
  authors = [
9
9
  { name="Andrei Ionut Damian", email="andrei.damian@me.com" },
10
10
  { name="Cristan Bleotiu", email="cristibleotiu@gmail.com" },
File without changes