isar 1.16.10__py3-none-any.whl → 1.16.11__py3-none-any.whl
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.
Potentially problematic release.
This version of isar might be problematic. Click here for more details.
- isar/config/log.py +3 -1
- isar/config/predefined_mission_definition/default_exr.json +51 -0
- isar/services/service_connections/mqtt/mqtt_client.py +1 -1
- isar/services/service_connections/mqtt/robot_status_publisher.py +15 -9
- isar/state_machine/state_machine.py +9 -9
- isar/state_machine/states/idle.py +3 -3
- isar/state_machine/states/monitor.py +6 -6
- isar/storage/slimm_storage.py +22 -18
- isar/storage/utilities.py +5 -3
- {isar-1.16.10.dist-info → isar-1.16.11.dist-info}/METADATA +7 -7
- {isar-1.16.10.dist-info → isar-1.16.11.dist-info}/RECORD +14 -13
- {isar-1.16.10.dist-info → isar-1.16.11.dist-info}/WHEEL +1 -1
- {isar-1.16.10.dist-info → isar-1.16.11.dist-info}/LICENSE +0 -0
- {isar-1.16.10.dist-info → isar-1.16.11.dist-info}/top_level.txt +0 -0
isar/config/log.py
CHANGED
|
@@ -54,7 +54,9 @@ def configure_azure_handler(log_config: dict, keyvault: Keyvault) -> logging.Han
|
|
|
54
54
|
"application-insights-connection-string"
|
|
55
55
|
).value
|
|
56
56
|
except KeyvaultError:
|
|
57
|
-
message: str =
|
|
57
|
+
message: str = (
|
|
58
|
+
f"CRITICAL ERROR: Missing connection string for Application Insights in key vault '{keyvault.name}'."
|
|
59
|
+
)
|
|
58
60
|
print(f"\n{message} \n")
|
|
59
61
|
raise ConfigurationError(message)
|
|
60
62
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mission_definition": {
|
|
3
|
+
"tasks": [
|
|
4
|
+
{
|
|
5
|
+
"pose": {
|
|
6
|
+
"position": {
|
|
7
|
+
"x": -3.2629,
|
|
8
|
+
"y": 3.0795,
|
|
9
|
+
"z": 0.0055,
|
|
10
|
+
"frame_name": "robot"
|
|
11
|
+
},
|
|
12
|
+
"orientation": {
|
|
13
|
+
"x": 0,
|
|
14
|
+
"y": 0,
|
|
15
|
+
"z": 0,
|
|
16
|
+
"w": 1,
|
|
17
|
+
"frame_name": "robot"
|
|
18
|
+
},
|
|
19
|
+
"frame_name": "robot"
|
|
20
|
+
},
|
|
21
|
+
"tag": "equinor_exR_tag_simulator",
|
|
22
|
+
"inspections": [
|
|
23
|
+
{
|
|
24
|
+
"type": "Image",
|
|
25
|
+
"inspection_target": {
|
|
26
|
+
"x": 6.6550,
|
|
27
|
+
"y": 3.7987,
|
|
28
|
+
"z": 0.6145,
|
|
29
|
+
"frame_name": "robot"
|
|
30
|
+
},
|
|
31
|
+
"analysis_types": "CarSeal, Rust",
|
|
32
|
+
"metadata": {
|
|
33
|
+
"zoom": "2x"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "ThermalVideo",
|
|
38
|
+
"inspection_target": {
|
|
39
|
+
"x": 6.6550,
|
|
40
|
+
"y": 3.7987,
|
|
41
|
+
"z": 0.6145,
|
|
42
|
+
"frame_name": "robot"
|
|
43
|
+
},
|
|
44
|
+
"analysis_types": "GasDetection",
|
|
45
|
+
"duration": 10
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -72,15 +72,21 @@ class RobotStatusPublisher:
|
|
|
72
72
|
robot_status=combined_status,
|
|
73
73
|
previous_robot_status=previous_robot_status,
|
|
74
74
|
current_isar_state=self.state_machine.current_state,
|
|
75
|
-
current_mission_id=
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
current_mission_id=(
|
|
76
|
+
self.state_machine.current_mission.id
|
|
77
|
+
if self.state_machine.current_mission
|
|
78
|
+
else None
|
|
79
|
+
),
|
|
80
|
+
current_task_id=(
|
|
81
|
+
self.state_machine.current_task.id
|
|
82
|
+
if self.state_machine.current_task
|
|
83
|
+
else None
|
|
84
|
+
),
|
|
85
|
+
current_step_id=(
|
|
86
|
+
self.state_machine.current_step.id
|
|
87
|
+
if self.state_machine.current_step
|
|
88
|
+
else None
|
|
89
|
+
),
|
|
84
90
|
timestamp=datetime.utcnow(),
|
|
85
91
|
)
|
|
86
92
|
|
|
@@ -492,9 +492,9 @@ class StateMachine(object):
|
|
|
492
492
|
"mission_id": self.current_mission.id if self.current_mission else None,
|
|
493
493
|
"status": self.current_mission.status if self.current_mission else None,
|
|
494
494
|
"error_reason": error_message.error_reason if error_message else None,
|
|
495
|
-
"error_description":
|
|
496
|
-
|
|
497
|
-
|
|
495
|
+
"error_description": (
|
|
496
|
+
error_message.error_description if error_message else None
|
|
497
|
+
),
|
|
498
498
|
"timestamp": datetime.utcnow(),
|
|
499
499
|
},
|
|
500
500
|
cls=EnhancedJSONEncoder,
|
|
@@ -524,9 +524,9 @@ class StateMachine(object):
|
|
|
524
524
|
"task_id": task.id if task else None,
|
|
525
525
|
"status": task.status if task else None,
|
|
526
526
|
"error_reason": error_message.error_reason if error_message else None,
|
|
527
|
-
"error_description":
|
|
528
|
-
|
|
529
|
-
|
|
527
|
+
"error_description": (
|
|
528
|
+
error_message.error_description if error_message else None
|
|
529
|
+
),
|
|
530
530
|
"timestamp": datetime.utcnow(),
|
|
531
531
|
},
|
|
532
532
|
cls=EnhancedJSONEncoder,
|
|
@@ -558,9 +558,9 @@ class StateMachine(object):
|
|
|
558
558
|
"step_type": step.__class__.__name__ if step else None,
|
|
559
559
|
"status": step.status if step else None,
|
|
560
560
|
"error_reason": error_message.error_reason if error_message else None,
|
|
561
|
-
"error_description":
|
|
562
|
-
|
|
563
|
-
|
|
561
|
+
"error_description": (
|
|
562
|
+
error_message.error_description if error_message else None
|
|
563
|
+
),
|
|
564
564
|
"timestamp": datetime.utcnow(),
|
|
565
565
|
},
|
|
566
566
|
cls=EnhancedJSONEncoder,
|
|
@@ -25,9 +25,9 @@ class Idle(State):
|
|
|
25
25
|
|
|
26
26
|
def _run(self) -> None:
|
|
27
27
|
while True:
|
|
28
|
-
start_mission: Optional[
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
start_mission: Optional[StartMissionMessage] = (
|
|
29
|
+
self.state_machine.should_start_mission()
|
|
30
|
+
)
|
|
31
31
|
if start_mission:
|
|
32
32
|
self.state_machine.start_mission(
|
|
33
33
|
mission=start_mission.mission,
|
|
@@ -68,9 +68,9 @@ class Monitor(State):
|
|
|
68
68
|
)
|
|
69
69
|
|
|
70
70
|
try:
|
|
71
|
-
status: Union[
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
status: Union[StepStatus, MissionStatus] = (
|
|
72
|
+
self.step_status_thread.get_output()
|
|
73
|
+
)
|
|
74
74
|
except ThreadedRequestNotFinishedError:
|
|
75
75
|
time.sleep(self.state_machine.sleep_time)
|
|
76
76
|
continue
|
|
@@ -145,9 +145,9 @@ class Monitor(State):
|
|
|
145
145
|
self, mission: Mission, current_step: InspectionStep
|
|
146
146
|
) -> None:
|
|
147
147
|
try:
|
|
148
|
-
inspections: Sequence[
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
inspections: Sequence[Inspection] = (
|
|
149
|
+
self.state_machine.robot.get_inspections(step=current_step)
|
|
150
|
+
)
|
|
151
151
|
|
|
152
152
|
except (RobotRetrieveInspectionException, RobotException) as e:
|
|
153
153
|
self._set_error_message(e)
|
isar/storage/slimm_storage.py
CHANGED
|
@@ -122,16 +122,18 @@ class SlimmStorage(StorageInterface):
|
|
|
122
122
|
"ImageMetadata.CameraOrientation2": str(array_of_orientation[1]),
|
|
123
123
|
"ImageMetadata.CameraOrientation3": str(array_of_orientation[2]),
|
|
124
124
|
"ImageMetadata.CameraOrientation4": str(array_of_orientation[3]),
|
|
125
|
-
"ImageMetadata.AnalysisMethods":
|
|
126
|
-
"analysis_type"
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
125
|
+
"ImageMetadata.AnalysisMethods": (
|
|
126
|
+
inspection.metadata.additional["analysis_type"]
|
|
127
|
+
if inspection.metadata.additional
|
|
128
|
+
and inspection.metadata.additional["analysis_type"]
|
|
129
|
+
else "N/A"
|
|
130
|
+
),
|
|
131
131
|
"ImageMetadata.Description": str(inspection.metadata.additional),
|
|
132
|
-
"ImageMetadata.FunctionalLocation":
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
"ImageMetadata.FunctionalLocation": (
|
|
133
|
+
inspection.metadata.tag_id # noqa: E501
|
|
134
|
+
if inspection.metadata.tag_id
|
|
135
|
+
else "N/A"
|
|
136
|
+
),
|
|
135
137
|
"Filename": filename,
|
|
136
138
|
"AttachedFile": (filename, inspection.data),
|
|
137
139
|
}
|
|
@@ -170,16 +172,18 @@ class SlimmStorage(StorageInterface):
|
|
|
170
172
|
"VideoMetadata.CameraOrientation2": str(array_of_orientation[1]),
|
|
171
173
|
"VideoMetadata.CameraOrientation3": str(array_of_orientation[2]),
|
|
172
174
|
"VideoMetadata.CameraOrientation4": str(array_of_orientation[3]),
|
|
173
|
-
"VideoMetadata.AnalysisMethods":
|
|
174
|
-
"analysis_type"
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
175
|
+
"VideoMetadata.AnalysisMethods": (
|
|
176
|
+
inspection.metadata.additional["analysis_type"]
|
|
177
|
+
if inspection.metadata.additional
|
|
178
|
+
and inspection.metadata.additional["analysis_type"]
|
|
179
|
+
else "N/A"
|
|
180
|
+
),
|
|
179
181
|
"VideoMetadata.Description": str(inspection.metadata.additional),
|
|
180
|
-
"VideoMetadata.FunctionalLocation":
|
|
181
|
-
|
|
182
|
-
|
|
182
|
+
"VideoMetadata.FunctionalLocation": (
|
|
183
|
+
inspection.metadata.tag_id # noqa: E501
|
|
184
|
+
if inspection.metadata.tag_id
|
|
185
|
+
else "N/A"
|
|
186
|
+
),
|
|
183
187
|
"Filename": filename,
|
|
184
188
|
"AttachedFile": (filename, inspection.data),
|
|
185
189
|
}
|
isar/storage/utilities.py
CHANGED
|
@@ -40,9 +40,11 @@ def construct_metadata_file(
|
|
|
40
40
|
"mission_date": datetime.utcnow().date(),
|
|
41
41
|
"isar_id": settings.ISAR_ID,
|
|
42
42
|
"robot_name": settings.ROBOT_NAME,
|
|
43
|
-
"analysis_type":
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
"analysis_type": (
|
|
44
|
+
inspection.metadata.additional["analysis_type"]
|
|
45
|
+
if inspection.metadata.additional
|
|
46
|
+
else "N/A"
|
|
47
|
+
),
|
|
46
48
|
},
|
|
47
49
|
"data": [
|
|
48
50
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: isar
|
|
3
|
-
Version: 1.16.
|
|
3
|
+
Version: 1.16.11
|
|
4
4
|
Summary: Integration and Supervisory control of Autonomous Robots
|
|
5
5
|
Home-page: https://github.com/equinor/isar
|
|
6
6
|
Author: Equinor ASA
|
|
@@ -246,12 +246,6 @@ make docs
|
|
|
246
246
|
|
|
247
247
|
The documentation can now be viewed at `docs/build/html/index.html`.
|
|
248
248
|
|
|
249
|
-
### Contributing
|
|
250
|
-
|
|
251
|
-
We welcome all kinds of contributions, including code, bug reports, issues, feature requests, and documentation. The
|
|
252
|
-
preferred way of submitting a contribution is to either make an [issue](https://github.com/equinor/isar/issues) on
|
|
253
|
-
GitHub or by forking the project on GitHub and making a pull requests.
|
|
254
|
-
|
|
255
249
|
## Components
|
|
256
250
|
|
|
257
251
|
The system consists of two main components.
|
|
@@ -420,3 +414,9 @@ ISAR_MQTT_PASSWORD
|
|
|
420
414
|
```
|
|
421
415
|
|
|
422
416
|
If not specified the password will default to an empty string.
|
|
417
|
+
|
|
418
|
+
# Contributions
|
|
419
|
+
|
|
420
|
+
Equinor welcomes all kinds of contributions, including code, bug reports, issues, feature requests, and documentation
|
|
421
|
+
Please initiate your contribution by creating an [issue](https://github.com/equinor/isar/issues) or by forking the
|
|
422
|
+
project and making a pull requests. Commit messages shall be written according to [this guide](https://cbea.msgit-commit/).
|
|
@@ -11,7 +11,7 @@ isar/apis/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
11
11
|
isar/apis/security/authentication.py,sha256=TI8U9Y_L6ihHLMeM50ZONd5EPfuHdw_XMU_Q987W4AY,1975
|
|
12
12
|
isar/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
isar/config/configuration_error.py,sha256=rO6WOhafX6xvVib8WxV-eY483Z0PpN-9PxGsq5ATfKc,46
|
|
14
|
-
isar/config/log.py,sha256=
|
|
14
|
+
isar/config/log.py,sha256=39G_Cue0qvw0Uv-1NYXvQ83yivPIKcAv-bGNNREFw5o,2251
|
|
15
15
|
isar/config/logging.conf,sha256=mYO1xf27gAopEMHhGzY7-mwyfN16rwRLkPNMvy3zn2g,1127
|
|
16
16
|
isar/config/settings.env,sha256=-RCBJiVRWBLky7FKuQX1qYXy8rCzTNLM4LDuyp12EbY,535
|
|
17
17
|
isar/config/settings.py,sha256=bWIhbs0xVSyQgNss7fbPXq1gXVN5QP2sXRF_C0hJd_4,13048
|
|
@@ -27,6 +27,7 @@ isar/config/maps/klab_compressor.json,sha256=1Vrk5u_l4WXjrTtG4YfXlrCPbOoRs4TtYHO
|
|
|
27
27
|
isar/config/maps/klab_turtlebot.json,sha256=HcB79XFEdY0Wm96EssIFO4TMyAWzc2KENoqN7TbTT0k,823
|
|
28
28
|
isar/config/maps/turtleworld.json,sha256=EKLMpSK9Gu2lAN-E9l41XOaO3f9Su5n_I97mA6z7sWY,764
|
|
29
29
|
isar/config/predefined_mission_definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
isar/config/predefined_mission_definition/default_exr.json,sha256=L3-kqjfgXoULDUgGsD3Zci7m3wdbwAuSrn4yaH4aPIA,1667
|
|
30
31
|
isar/config/predefined_mission_definition/default_mission.json,sha256=nEk1ql17RAs2I5Ws2wA-0GJ6oqJco-Q0Q0vhf4k6ajc,2926
|
|
31
32
|
isar/config/predefined_mission_definition/default_turtlebot.json,sha256=Ka379MLu8qiGIa6Fu-8p8A4OgHVccLkKYSX0RthUOeI,4060
|
|
32
33
|
isar/config/predefined_missions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -56,33 +57,33 @@ isar/services/readers/base_reader.py,sha256=_fNd5fb5dFeMtOvfWzIAGO-KIgl3zT19iEuz
|
|
|
56
57
|
isar/services/service_connections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
58
|
isar/services/service_connections/request_handler.py,sha256=0LxC0lu_HXeEf_xmJWjfEsh14oAUI97cpG1IWtBlcs4,4278
|
|
58
59
|
isar/services/service_connections/mqtt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
isar/services/service_connections/mqtt/mqtt_client.py,sha256=
|
|
60
|
+
isar/services/service_connections/mqtt/mqtt_client.py,sha256=Aib0lqaddxW9aVXXYD7wGL9jIpr2USCCH91SQgFdIG4,3548
|
|
60
61
|
isar/services/service_connections/mqtt/robot_heartbeat_publisher.py,sha256=TxvpLA_qfyXwwN58h2X-eomTnhbFPhqfjamPxBz084E,1000
|
|
61
62
|
isar/services/service_connections/mqtt/robot_info_publisher.py,sha256=_7lXSyOaTbde584M67bG7N9sQJH51yhaSuhsjuCM02U,1325
|
|
62
|
-
isar/services/service_connections/mqtt/robot_status_publisher.py,sha256=
|
|
63
|
+
isar/services/service_connections/mqtt/robot_status_publisher.py,sha256=KPxRrdtu-yLQolQ7DejC1v1NCeELUzrK_ZoiEpsrqD4,4425
|
|
63
64
|
isar/services/service_connections/stid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
65
|
isar/services/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
66
|
isar/services/utilities/queue_utilities.py,sha256=Pw3hehSwkXJNeDv-bDVDfs58VOwtt3i5hpiJ2ZpphuQ,1225
|
|
66
67
|
isar/services/utilities/scheduling_utilities.py,sha256=LFimEmacML3J9q-FNLfKPhcAr-R3f2rkYkbsoro0Gyo,8434
|
|
67
68
|
isar/services/utilities/threaded_request.py,sha256=py4G-_RjnIdHljmKFAcQ6ddqMmp-ZYV39Ece-dqRqjs,1874
|
|
68
69
|
isar/state_machine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
-
isar/state_machine/state_machine.py,sha256
|
|
70
|
+
isar/state_machine/state_machine.py,sha256=ZqFg7CE291_X8Ix5NDQ3RGBLJx-fU3E007C82xyHMuk,23161
|
|
70
71
|
isar/state_machine/states_enum.py,sha256=ks1A8gO7DOpLbSe6Vzq4-BfTCU78IsQZyoEJwQ9Wg4M,254
|
|
71
72
|
isar/state_machine/states/__init__.py,sha256=gUikQDu-O-lmunwzwcN9gN6VaEmlCFlqqgdNfFAfXBc,189
|
|
72
|
-
isar/state_machine/states/idle.py,sha256=
|
|
73
|
+
isar/state_machine/states/idle.py,sha256=tfciqI7NPDVF8WMe5qbSO3c-xDzUTQYLmJinb9e0JS8,1231
|
|
73
74
|
isar/state_machine/states/initialize.py,sha256=Vx7OxWZI_xEkRwHWFh9ymxK_7mDH0Wayt09dGGqBJWk,2359
|
|
74
75
|
isar/state_machine/states/initiate.py,sha256=N2v1zsGJ3Zavs750LwBHMvLOtPW0RF57vCG8zUyRU5k,5656
|
|
75
|
-
isar/state_machine/states/monitor.py,sha256=
|
|
76
|
+
isar/state_machine/states/monitor.py,sha256=2eYv2wUH0MLwxZCizBHIpigELPeou6KzCzW_JuEVlls,8612
|
|
76
77
|
isar/state_machine/states/off.py,sha256=jjqN_oJMpBtWuY7hP-c9f0w3p2CYCfe-NpmYHHPnmyI,544
|
|
77
78
|
isar/state_machine/states/paused.py,sha256=xVZM9WMt90FTiP5forSlA3eJ5Vt9LzZYCFDQDPIocKA,1004
|
|
78
79
|
isar/state_machine/states/stop.py,sha256=Sxdo4FGhxc2Pj91jidYtVIjpSNklbEf1sJYJ6x51HgE,3348
|
|
79
80
|
isar/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
81
|
isar/storage/blob_storage.py,sha256=8i23s_4d3_REKYxH1DzXF_Lc04pofOlrtDYML_t7BDc,2922
|
|
81
82
|
isar/storage/local_storage.py,sha256=fLzVuwvdEk9l8z7od1qX2p5MeWzcsx-vN4yWvelZeFM,1836
|
|
82
|
-
isar/storage/slimm_storage.py,sha256=
|
|
83
|
+
isar/storage/slimm_storage.py,sha256=Hp7ZIgZgIR4KAFjzxDKfgMZjPZwP2kmdc1gG8zVcsMk,8966
|
|
83
84
|
isar/storage/storage_interface.py,sha256=v7QiYGz79dqw9jbgNoLYD1QOvXFoMrqfVT1TJX7rCsw,790
|
|
84
85
|
isar/storage/uploader.py,sha256=QyviG27Km6a2hBXE8Ka_qX2GInCjs3u84RiUloG3DJ0,6294
|
|
85
|
-
isar/storage/utilities.py,sha256=
|
|
86
|
+
isar/storage/utilities.py,sha256=dqh60eJ00rKNNmNLBkV-oNcNToxXLS7oAJpisJZZ90c,3053
|
|
86
87
|
robot_interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
88
|
robot_interface/robot_interface.py,sha256=i2qw1V9mLO-ljtS7LiRliQ7XNmmBJIwD4NG8mDfwMEI,8317
|
|
88
89
|
robot_interface/test_robot_interface.py,sha256=FV1urn7SbsMyWBIcTKjsBwAG4IsXeZ6pLHE0mA9EGGs,692
|
|
@@ -106,8 +107,8 @@ robot_interface/telemetry/payloads.py,sha256=9EshERifjD1u8CwjSiV3NGuj0KuXnwblQNB
|
|
|
106
107
|
robot_interface/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
108
|
robot_interface/utilities/json_service.py,sha256=nU2Q_3P9Fq9hs6F_wtUjWtHfl_g1Siy-yDhXXSKwHwg,1018
|
|
108
109
|
robot_interface/utilities/uuid_string_factory.py,sha256=_NQIbBQ56w0qqO0MUDP6aPpHbxW7ATRhK8HnQiBSLkc,76
|
|
109
|
-
isar-1.16.
|
|
110
|
-
isar-1.16.
|
|
111
|
-
isar-1.16.
|
|
112
|
-
isar-1.16.
|
|
113
|
-
isar-1.16.
|
|
110
|
+
isar-1.16.11.dist-info/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
|
|
111
|
+
isar-1.16.11.dist-info/METADATA,sha256=9HN5mPXOr-JYqK7OkacquEBlHNgm6tpbynbKNALG660,14752
|
|
112
|
+
isar-1.16.11.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
113
|
+
isar-1.16.11.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
|
|
114
|
+
isar-1.16.11.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|