AltTester-Driver 2.2.7__tar.gz → 2.3.1__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 (111) hide show
  1. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/AltTester_Driver.egg-info/PKG-INFO +1 -1
  2. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/PKG-INFO +1 -1
  3. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/__init__.py +1 -1
  4. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/__version__.py +2 -2
  5. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/_websocket.py +14 -5
  6. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/altdriver.py +5 -2
  7. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/altobject.py +1 -1
  8. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/by.py +1 -1
  9. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/AltTesterCommands/__init__.py +1 -1
  10. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/AltTesterCommands/add_notification_listener.py +1 -1
  11. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/AltTesterCommands/remove_notification_listener.py +1 -1
  12. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/AltTesterCommands/reset_input.py +1 -1
  13. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/AltTesterCommands/set_server_logging.py +1 -1
  14. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/__init__.py +1 -1
  15. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/find_object.py +1 -1
  16. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/find_object_at_coordinates.py +1 -1
  17. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/find_object_which_contains.py +1 -1
  18. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/find_objects.py +1 -1
  19. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/find_objects_which_contains.py +1 -1
  20. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/wait_for_component_property.py +1 -1
  21. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/wait_for_object.py +1 -1
  22. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/wait_for_object_to_not_be_present.py +1 -1
  23. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/wait_for_object_which_contains.py +1 -1
  24. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/FindObjects/wait_for_visual_element_property.py +1 -1
  25. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/__init__.py +1 -1
  26. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/begin_touch.py +1 -1
  27. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/click_coordinates.py +1 -1
  28. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/end_touch.py +1 -1
  29. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/keys_down.py +1 -1
  30. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/keys_up.py +1 -1
  31. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/move_mouse.py +1 -1
  32. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/move_touch.py +1 -1
  33. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/multi_point_swipe.py +1 -1
  34. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/press_keys.py +1 -1
  35. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/scroll_mouse.py +1 -1
  36. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/swipe.py +1 -1
  37. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/tap_coordinates.py +1 -1
  38. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/InputActions/tilt.py +1 -1
  39. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/Notifications/__init__.py +1 -1
  40. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/Notifications/base_notification_callbacks.py +1 -1
  41. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/Notifications/load_scene_mode.py +1 -1
  42. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/Notifications/load_scene_notification_result.py +1 -1
  43. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/Notifications/log_notification_result.py +1 -1
  44. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/Notifications/notification_type.py +1 -1
  45. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/__init__.py +1 -1
  46. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/call_method.py +1 -1
  47. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/click_element.py +1 -1
  48. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/find_object_from_object.py +1 -1
  49. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/get_all_components.py +1 -1
  50. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/get_component_property.py +1 -1
  51. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/get_text.py +1 -1
  52. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/pointer_down.py +1 -1
  53. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/pointer_enter.py +1 -1
  54. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/pointer_exit.py +1 -1
  55. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/pointer_up.py +1 -1
  56. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/set_component_property.py +1 -1
  57. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/set_text.py +1 -1
  58. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/ObjectCommands/tap_element.py +1 -1
  59. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/__init__.py +1 -1
  60. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/delete_player_pref.py +1 -1
  61. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/delete_player_pref_key.py +1 -1
  62. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/get_all_loaded_scenes.py +1 -1
  63. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/get_current_scene.py +1 -1
  64. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/get_player_pref_key.py +1 -1
  65. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/get_time_scale.py +1 -1
  66. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/get_visual_element_property.py +1 -1
  67. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/load_scene.py +1 -1
  68. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/set_player_pref_key.py +1 -1
  69. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/set_time_scale.py +1 -1
  70. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/unload_scene.py +1 -1
  71. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/UnityCommands/wait_for_current_scene_to_be.py +1 -1
  72. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/__init__.py +1 -1
  73. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/base_command.py +1 -1
  74. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/get_png_screenshot.py +1 -1
  75. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/get_server_version.py +1 -1
  76. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/get_static_property.py +1 -1
  77. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/commands/set_static_property.py +1 -1
  78. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/exceptions.py +1 -1
  79. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/keycode.py +1 -1
  80. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/logging.py +1 -1
  81. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/playerpref.py +1 -1
  82. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/setup.py +1 -1
  83. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/__init__.py +1 -1
  84. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/conftest.py +2 -2
  85. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_driver.py +1 -1
  86. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_notifications.py +1 -1
  87. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_reverse_port_forwarding.py +1 -1
  88. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene01_part1.py +3 -6
  89. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene01_part2.py +2 -2
  90. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene02.py +1 -1
  91. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene03.py +1 -1
  92. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene05.py +1 -1
  93. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene07.py +2 -1
  94. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene09.py +1 -1
  95. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/test_scene10.py +2 -1
  96. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/integration/utils.py +1 -1
  97. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/unit/__init__.py +1 -1
  98. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/unit/test_altobject.py +1 -1
  99. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/unit/test_commands.py +1 -1
  100. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/tests/unit/test_websocket.py +1 -1
  101. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/AltTester_Driver.egg-info/SOURCES.txt +0 -0
  102. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/AltTester_Driver.egg-info/dependency_links.txt +0 -0
  103. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/AltTester_Driver.egg-info/not-zip-safe +0 -0
  104. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/AltTester_Driver.egg-info/requires.txt +0 -0
  105. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/AltTester_Driver.egg-info/top_level.txt +0 -0
  106. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/MANIFEST.in +0 -0
  107. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/README.md +0 -0
  108. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/alttester/reverse_port_forwarding.py +0 -0
  109. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/requirements-dev.txt +0 -0
  110. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/requirements.txt +0 -0
  111. {alttester_driver-2.2.7 → alttester_driver-2.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AltTester-Driver
3
- Version: 2.2.7
3
+ Version: 2.3.1
4
4
  Summary: Python bindings for the AltTester® framework. AltTester® is an open-source UI driven test automation tool that helps you find objects in your game and interacts with them.
5
5
  Home-page: https://alttester.com/docs/sdk/latest/
6
6
  Author: Altom Consulting
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AltTester-Driver
3
- Version: 2.2.7
3
+ Version: 2.3.1
4
4
  Summary: Python bindings for the AltTester® framework. AltTester® is an open-source UI driven test automation tool that helps you find objects in your game and interacts with them.
5
5
  Home-page: https://alttester.com/docs/sdk/latest/
6
6
  Author: Altom Consulting
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -15,4 +15,4 @@
15
15
  along with this program. If not, see <https://www.gnu.org/licenses/>.
16
16
  """
17
17
 
18
- VERSION = "2.2.7"
18
+ VERSION = "2.3.1"
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -17,6 +17,7 @@
17
17
 
18
18
  import time
19
19
  import json
20
+ import ssl
20
21
  from collections import defaultdict, deque
21
22
  from urllib.parse import urlencode, urlunparse
22
23
  from threading import Thread
@@ -155,14 +156,15 @@ class WebsocketConnection:
155
156
 
156
157
  """
157
158
 
158
- def __init__(self, host="127.0.0.1", port=13000, path="/", params=None, timeout=None, command_handler=None,
159
- notification_handler=None):
159
+ def __init__(self, host="127.0.0.1", port=13000, secure_mode=False, path="/", params=None, timeout=None,
160
+ command_handler=None, notification_handler=None):
160
161
  self.host = host
161
162
  self.port = port
162
163
  self.path = path
163
164
  self.params = params or {}
165
+ self.secure_mode = secure_mode
164
166
 
165
- self.url = urlunparse(["ws", "{}:{}".format(
167
+ self.url = urlunparse(["wss" if self.secure_mode else "ws", "{}:{}".format(
166
168
  self.host, self.port), self.path, "", urlencode(self.params), ""])
167
169
 
168
170
  self.timeout = timeout
@@ -202,8 +204,15 @@ class WebsocketConnection:
202
204
  on_error=self._on_error,
203
205
  on_close=self._on_close
204
206
  )
207
+
208
+ # Configure SSL options for secure connections
209
+ sslopt = None
210
+ if self.secure_mode:
211
+ # Disable certificate verification for self-signed certificates
212
+ sslopt = {"cert_reqs": ssl.CERT_NONE}
213
+
205
214
  self._thread = Thread(
206
- target=self._websocket.run_forever, daemon=True).start()
215
+ target=self._websocket.run_forever, kwargs={"sslopt": sslopt} if sslopt else {}, daemon=True).start()
207
216
 
208
217
  def _check_close_message(self, close_message):
209
218
  if close_message:
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -59,7 +59,8 @@ class AltDriver:
59
59
  platform="unknown",
60
60
  platform_version="unknown",
61
61
  device_instance_id="unknown",
62
- app_id="unknown"
62
+ app_id="unknown",
63
+ secure_mode=False
63
64
  ):
64
65
  self.host = host
65
66
  self.port = port
@@ -70,6 +71,7 @@ class AltDriver:
70
71
  self.platform_version = platform_version
71
72
  self.device_instance_id = device_instance_id
72
73
  self.app_id = app_id
74
+ self.secure_mode = secure_mode
73
75
 
74
76
  self._config_logging(self.enable_logging)
75
77
 
@@ -85,6 +87,7 @@ class AltDriver:
85
87
  self._connection = WebsocketConnection(
86
88
  host=self.host,
87
89
  port=self.port,
90
+ secure_mode=self.secure_mode,
88
91
  timeout=self.timeout,
89
92
  path="altws",
90
93
  params={
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ sys.stdout = sys.stderr
31
31
 
32
32
  devices = [
33
33
  {"name": "Samsung Galaxy S23", "os": "android", "os_version": "13.0"},
34
- {"name": "Google Pixel 6 Pro", "os": "android", "os_version": "13.0"},
34
+ {"name": "Google Pixel 6 Pro", "os": "android", "os_version": "12.0"},
35
35
  {"name": "iPhone 16", "os": "ios", "os_version": "18"},
36
36
  {"name": "iPhone 15 Pro Max", "os": "ios", "os_version": "17"},
37
37
  {"name": "iPhone 14 Pro Max", "os": "ios", "os_version": "16"},
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -279,13 +279,10 @@ class TestScene01Part1:
279
279
  @pytest.mark.AndroidUnsupported
280
280
  def test_wait_for_component_property_get_property_as_string(self):
281
281
  Canvas = self.alt_driver.wait_for_object(By.PATH, "/Canvas")
282
- Canvas.wait_for_component_property("UnityEngine.RectTransform", "rect.x", "-960.0",
282
+ Canvas.wait_for_component_property("UnityEngine.RectTransform", "childCount", "13",
283
283
  "UnityEngine.CoreModule", 1, get_property_as_string=True)
284
284
 
285
- Canvas.wait_for_component_property("UnityEngine.RectTransform", "hasChanged", True,
286
- "UnityEngine.CoreModule", 1, get_property_as_string=True)
287
-
288
- Canvas.wait_for_component_property("UnityEngine.RectTransform", "constrainProportionsScale", False,
285
+ Canvas.wait_for_component_property("UnityEngine.RectTransform", "gameObject.activeSelf", True,
289
286
  "UnityEngine.CoreModule", 1, get_property_as_string=True)
290
287
 
291
288
  Canvas.wait_for_component_property("UnityEngine.RectTransform", "name", "Canvas",
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -506,7 +506,7 @@ class TestScene01Part2:
506
506
  def test_find_object_in_object_by_id(self):
507
507
  parent = self.alt_driver.find_object(By.NAME, "Canvas")
508
508
  child = parent.find_object_from_object(
509
- By.ID, "049eccc5-b072-468b-83bf-119d868ca311")
509
+ By.ID, "632dee97-3955-47d3-b760-0eb0aa763f75")
510
510
  assert child.name == "Button"
511
511
 
512
512
  def test_find_object_in_object_by_text(self):
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -76,6 +76,7 @@ class TestScene07A:
76
76
 
77
77
  assert action_info.get_text() == "Capsule was clicked!"
78
78
 
79
+ @pytest.mark.skip(reason="This test needs more investigation")
79
80
  def test_tilt(self):
80
81
  cube = self.alt_driver.find_object(By.NAME, "Cube (1)")
81
82
  initial_position = cube.get_world_position()
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -30,6 +30,7 @@ class TestScene10:
30
30
  self.alt_driver.reset_input()
31
31
  self.alt_driver.load_scene(Scenes.Scene10)
32
32
 
33
+ @pytest.mark.skip(reason="This test needs more investigation")
33
34
  def test_scroll_NIS(self):
34
35
  player = self.alt_driver.find_object(By.NAME, "Player")
35
36
 
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 @@
1
1
  """
2
- Copyright(C) 2025 Altom Consulting
2
+ Copyright(C) 2026 Altom Consulting
3
3
 
4
4
  This program is free software: you can redistribute it and/or modify
5
5
  it under the terms of the GNU General Public License as published by