clarity-api-sdk-python 0.3.25__tar.gz → 0.3.27__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.
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/PKG-INFO +1 -1
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/pyproject.toml +1 -1
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/clarity_api_sdk_python.egg-info/PKG-INFO +1 -1
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/sonar_wiz_api.py +223 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/sonar_wiz_async_api.py +233 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/README.md +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/setup.cfg +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/clarity_api_sdk_python.egg-info/SOURCES.txt +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/clarity_api_sdk_python.egg-info/dependency_links.txt +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/clarity_api_sdk_python.egg-info/requires.txt +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/clarity_api_sdk_python.egg-info/top_level.txt +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/async_client.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/client.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/session.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/logger/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/logger/logger.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/main.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/main_api.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/altitude_source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/attitude_source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/deferred_object_deletion.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/depth_source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/device.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/device_type.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/final_product.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/hierarchy.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/layback_algorithm.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/layback_source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/layback_type.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/organization.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/platform.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/platform_type.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/position_source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_altitude.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_attitude.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_depth.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_layback.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_position.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_sidescan_ping.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processing_log.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/project.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/projection_option.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_altitude.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_attitude.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_depth.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_file.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_file_configuration.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_file_device_mapping.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_file_state.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_layback.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_position.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_sidescan_ping.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/s3.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/sidescan_ping_source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/source.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/survey.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/target.py +0 -0
- {clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/tow_system.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clarity-api-sdk-python
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.27
|
|
4
4
|
Summary: A Python SDK to connect to the CTI Clarity API server.
|
|
5
5
|
Author-email: "Chesapeake Technology Inc." <support@chesapeaketech.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/chesapeake-tech/clarity-api-sdk-python
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clarity-api-sdk-python
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.27
|
|
4
4
|
Summary: A Python SDK to connect to the CTI Clarity API server.
|
|
5
5
|
Author-email: "Chesapeake Technology Inc." <support@chesapeaketech.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/chesapeake-tech/clarity-api-sdk-python
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/sonar_wiz_api.py
RENAMED
|
@@ -778,6 +778,229 @@ class SonarWizApi:
|
|
|
778
778
|
)
|
|
779
779
|
return devices
|
|
780
780
|
|
|
781
|
+
def get_device_altitude_sources(
|
|
782
|
+
self, device_id: UUID | str
|
|
783
|
+
) -> list[AltitudeSource]:
|
|
784
|
+
"""Get all altitude sources associated with a device.
|
|
785
|
+
|
|
786
|
+
Args:
|
|
787
|
+
device_id: Device UUID or string identifier.
|
|
788
|
+
|
|
789
|
+
Returns:
|
|
790
|
+
List of altitude source instances associated with the device.
|
|
791
|
+
"""
|
|
792
|
+
logger.info(
|
|
793
|
+
"fetching_device_altitude_sources",
|
|
794
|
+
extra={"device_id": str(device_id)},
|
|
795
|
+
)
|
|
796
|
+
response = self._client.get(f"/api/v1/devices/{device_id}/altitude-sources")
|
|
797
|
+
response.raise_for_status()
|
|
798
|
+
sources = [AltitudeSource.model_validate(item) for item in response.json()]
|
|
799
|
+
logger.info(
|
|
800
|
+
"device_altitude_sources_fetched",
|
|
801
|
+
extra={
|
|
802
|
+
"device_id": str(device_id),
|
|
803
|
+
"count": len(sources),
|
|
804
|
+
},
|
|
805
|
+
)
|
|
806
|
+
return sources
|
|
807
|
+
|
|
808
|
+
def get_device_attitude_sources(
|
|
809
|
+
self, device_id: UUID | str
|
|
810
|
+
) -> list[AttitudeSource]:
|
|
811
|
+
"""Get all attitude sources associated with a device.
|
|
812
|
+
|
|
813
|
+
Args:
|
|
814
|
+
device_id: Device UUID or string identifier.
|
|
815
|
+
|
|
816
|
+
Returns:
|
|
817
|
+
List of attitude source instances associated with the device.
|
|
818
|
+
"""
|
|
819
|
+
logger.info(
|
|
820
|
+
"fetching_device_attitude_sources",
|
|
821
|
+
extra={"device_id": str(device_id)},
|
|
822
|
+
)
|
|
823
|
+
response = self._client.get(f"/api/v1/devices/{device_id}/attitude-source")
|
|
824
|
+
response.raise_for_status()
|
|
825
|
+
source = AttitudeSource.model_validate(response.json())
|
|
826
|
+
sources = [source]
|
|
827
|
+
logger.info(
|
|
828
|
+
"device_attitude_sources_fetched",
|
|
829
|
+
extra={
|
|
830
|
+
"device_id": str(device_id),
|
|
831
|
+
"count": len(sources),
|
|
832
|
+
},
|
|
833
|
+
)
|
|
834
|
+
return sources
|
|
835
|
+
|
|
836
|
+
def get_device_depth_sources(self, device_id: UUID | str) -> list[DepthSource]:
|
|
837
|
+
"""Get all depth sources associated with a device.
|
|
838
|
+
|
|
839
|
+
Args:
|
|
840
|
+
device_id: Device UUID or string identifier.
|
|
841
|
+
|
|
842
|
+
Returns:
|
|
843
|
+
List of depth source instances associated with the device.
|
|
844
|
+
"""
|
|
845
|
+
logger.info(
|
|
846
|
+
"fetching_device_depth_sources",
|
|
847
|
+
extra={"device_id": str(device_id)},
|
|
848
|
+
)
|
|
849
|
+
response = self._client.get(f"/api/v1/devices/{device_id}/depth-sources")
|
|
850
|
+
response.raise_for_status()
|
|
851
|
+
sources = [DepthSource.model_validate(item) for item in response.json()]
|
|
852
|
+
logger.info(
|
|
853
|
+
"device_depth_sources_fetched",
|
|
854
|
+
extra={
|
|
855
|
+
"device_id": str(device_id),
|
|
856
|
+
"count": len(sources),
|
|
857
|
+
},
|
|
858
|
+
)
|
|
859
|
+
return sources
|
|
860
|
+
|
|
861
|
+
def get_device_layback_sources(
|
|
862
|
+
self, device_id: UUID | str
|
|
863
|
+
) -> list[LaybackSource]:
|
|
864
|
+
"""Get all layback sources associated with a device.
|
|
865
|
+
|
|
866
|
+
Args:
|
|
867
|
+
device_id: Device UUID or string identifier.
|
|
868
|
+
|
|
869
|
+
Returns:
|
|
870
|
+
List of layback source instances associated with the device.
|
|
871
|
+
"""
|
|
872
|
+
logger.info(
|
|
873
|
+
"fetching_device_layback_sources",
|
|
874
|
+
extra={"device_id": str(device_id)},
|
|
875
|
+
)
|
|
876
|
+
response = self._client.get(f"/api/v1/devices/{device_id}/layback-sources")
|
|
877
|
+
response.raise_for_status()
|
|
878
|
+
sources = [LaybackSource.model_validate(item) for item in response.json()]
|
|
879
|
+
logger.info(
|
|
880
|
+
"device_layback_sources_fetched",
|
|
881
|
+
extra={
|
|
882
|
+
"device_id": str(device_id),
|
|
883
|
+
"count": len(sources),
|
|
884
|
+
},
|
|
885
|
+
)
|
|
886
|
+
return sources
|
|
887
|
+
|
|
888
|
+
def get_device_position_sources(
|
|
889
|
+
self, device_id: UUID | str
|
|
890
|
+
) -> list[PositionSource]:
|
|
891
|
+
"""Get all position sources associated with a device.
|
|
892
|
+
|
|
893
|
+
Args:
|
|
894
|
+
device_id: Device UUID or string identifier.
|
|
895
|
+
|
|
896
|
+
Returns:
|
|
897
|
+
List of position source instances associated with the device.
|
|
898
|
+
"""
|
|
899
|
+
logger.info(
|
|
900
|
+
"fetching_device_position_sources",
|
|
901
|
+
extra={"device_id": str(device_id)},
|
|
902
|
+
)
|
|
903
|
+
response = self._client.get(f"/api/v1/devices/{device_id}/position-sources")
|
|
904
|
+
response.raise_for_status()
|
|
905
|
+
sources = [PositionSource.model_validate(item) for item in response.json()]
|
|
906
|
+
logger.info(
|
|
907
|
+
"device_position_sources_fetched",
|
|
908
|
+
extra={
|
|
909
|
+
"device_id": str(device_id),
|
|
910
|
+
"count": len(sources),
|
|
911
|
+
},
|
|
912
|
+
)
|
|
913
|
+
return sources
|
|
914
|
+
|
|
915
|
+
def get_device_sidescan_ping_sources(
|
|
916
|
+
self, device_id: UUID | str
|
|
917
|
+
) -> list[SidescanPingSource]:
|
|
918
|
+
"""Get all sidescan ping sources associated with a device.
|
|
919
|
+
|
|
920
|
+
Args:
|
|
921
|
+
device_id: Device UUID or string identifier.
|
|
922
|
+
|
|
923
|
+
Returns:
|
|
924
|
+
List of sidescan ping source instances associated with the device.
|
|
925
|
+
"""
|
|
926
|
+
logger.info(
|
|
927
|
+
"fetching_device_sidescan_ping_sources",
|
|
928
|
+
extra={"device_id": str(device_id)},
|
|
929
|
+
)
|
|
930
|
+
response = self._client.get(
|
|
931
|
+
f"/api/v1/devices/{device_id}/sidescan-ping-sources"
|
|
932
|
+
)
|
|
933
|
+
response.raise_for_status()
|
|
934
|
+
sources = [SidescanPingSource.model_validate(item) for item in response.json()]
|
|
935
|
+
logger.info(
|
|
936
|
+
"device_sidescan_ping_sources_fetched",
|
|
937
|
+
extra={
|
|
938
|
+
"device_id": str(device_id),
|
|
939
|
+
"count": len(sources),
|
|
940
|
+
},
|
|
941
|
+
)
|
|
942
|
+
return sources
|
|
943
|
+
|
|
944
|
+
def get_position_source_raw_positions(
|
|
945
|
+
self, position_source_id: UUID | str
|
|
946
|
+
) -> list[RawPosition]:
|
|
947
|
+
"""Get all raw positions associated with a position source.
|
|
948
|
+
|
|
949
|
+
Args:
|
|
950
|
+
position_source_id: Position source UUID.
|
|
951
|
+
|
|
952
|
+
Returns:
|
|
953
|
+
List of raw position instances.
|
|
954
|
+
"""
|
|
955
|
+
logger.info(
|
|
956
|
+
"fetching_position_source_raw_positions",
|
|
957
|
+
extra={"position_source_id": str(position_source_id)},
|
|
958
|
+
)
|
|
959
|
+
response = self._client.get(
|
|
960
|
+
f"/api/v1/position-sources/{position_source_id}/raw-positions"
|
|
961
|
+
)
|
|
962
|
+
response.raise_for_status()
|
|
963
|
+
raw_positions = [RawPosition.model_validate(item) for item in response.json()]
|
|
964
|
+
logger.info(
|
|
965
|
+
"position_source_raw_positions_fetched",
|
|
966
|
+
extra={
|
|
967
|
+
"position_source_id": str(position_source_id),
|
|
968
|
+
"count": len(raw_positions),
|
|
969
|
+
},
|
|
970
|
+
)
|
|
971
|
+
return raw_positions
|
|
972
|
+
|
|
973
|
+
def get_sidescan_ping_source_raw_sidescan_pings(
|
|
974
|
+
self, sidescan_ping_source_id: UUID | str
|
|
975
|
+
) -> list[RawSidescanPing]:
|
|
976
|
+
"""Get all raw sidescan pings associated with a sidescan ping source.
|
|
977
|
+
|
|
978
|
+
Args:
|
|
979
|
+
sidescan_ping_source_id: Sidescan ping source UUID.
|
|
980
|
+
|
|
981
|
+
Returns:
|
|
982
|
+
List of raw sidescan ping instances.
|
|
983
|
+
"""
|
|
984
|
+
logger.info(
|
|
985
|
+
"fetching_sidescan_ping_source_raw_sidescan_pings",
|
|
986
|
+
extra={"sidescan_ping_source_id": str(sidescan_ping_source_id)},
|
|
987
|
+
)
|
|
988
|
+
response = self._client.get(
|
|
989
|
+
f"/api/v1/sidescan-ping-sources/{sidescan_ping_source_id}/raw-sidescan-pings"
|
|
990
|
+
)
|
|
991
|
+
response.raise_for_status()
|
|
992
|
+
raw_sidescan_pings = [
|
|
993
|
+
RawSidescanPing.model_validate(item) for item in response.json()
|
|
994
|
+
]
|
|
995
|
+
logger.info(
|
|
996
|
+
"sidescan_ping_source_raw_sidescan_pings_fetched",
|
|
997
|
+
extra={
|
|
998
|
+
"sidescan_ping_source_id": str(sidescan_ping_source_id),
|
|
999
|
+
"count": len(raw_sidescan_pings),
|
|
1000
|
+
},
|
|
1001
|
+
)
|
|
1002
|
+
return raw_sidescan_pings
|
|
1003
|
+
|
|
781
1004
|
def create_source(self, source: SourceCreate) -> Source:
|
|
782
1005
|
"""Create a new source.
|
|
783
1006
|
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/api/sonar_wiz_async_api.py
RENAMED
|
@@ -778,6 +778,239 @@ class SonarWizAsyncApi:
|
|
|
778
778
|
)
|
|
779
779
|
return devices
|
|
780
780
|
|
|
781
|
+
async def get_device_altitude_sources(
|
|
782
|
+
self, device_id: UUID | str
|
|
783
|
+
) -> list[AltitudeSource]:
|
|
784
|
+
"""Get all altitude sources associated with a device.
|
|
785
|
+
|
|
786
|
+
Args:
|
|
787
|
+
device_id: Device UUID or string identifier.
|
|
788
|
+
|
|
789
|
+
Returns:
|
|
790
|
+
List of altitude source instances associated with the device.
|
|
791
|
+
"""
|
|
792
|
+
logger.info(
|
|
793
|
+
"fetching_device_altitude_sources",
|
|
794
|
+
extra={"device_id": str(device_id)},
|
|
795
|
+
)
|
|
796
|
+
response = await self._client.get(
|
|
797
|
+
f"/api/v1/devices/{device_id}/altitude-sources"
|
|
798
|
+
)
|
|
799
|
+
response.raise_for_status()
|
|
800
|
+
sources = [AltitudeSource.model_validate(item) for item in response.json()]
|
|
801
|
+
logger.info(
|
|
802
|
+
"device_altitude_sources_fetched",
|
|
803
|
+
extra={
|
|
804
|
+
"device_id": str(device_id),
|
|
805
|
+
"count": len(sources),
|
|
806
|
+
},
|
|
807
|
+
)
|
|
808
|
+
return sources
|
|
809
|
+
|
|
810
|
+
async def get_device_attitude_sources(
|
|
811
|
+
self, device_id: UUID | str
|
|
812
|
+
) -> list[AttitudeSource]:
|
|
813
|
+
"""Get all attitude sources associated with a device.
|
|
814
|
+
|
|
815
|
+
Args:
|
|
816
|
+
device_id: Device UUID or string identifier.
|
|
817
|
+
|
|
818
|
+
Returns:
|
|
819
|
+
List of attitude source instances associated with the device.
|
|
820
|
+
"""
|
|
821
|
+
logger.info(
|
|
822
|
+
"fetching_device_attitude_sources",
|
|
823
|
+
extra={"device_id": str(device_id)},
|
|
824
|
+
)
|
|
825
|
+
response = await self._client.get(
|
|
826
|
+
f"/api/v1/devices/{device_id}/attitude-source"
|
|
827
|
+
)
|
|
828
|
+
response.raise_for_status()
|
|
829
|
+
source = AttitudeSource.model_validate(response.json())
|
|
830
|
+
sources = [source]
|
|
831
|
+
logger.info(
|
|
832
|
+
"device_attitude_sources_fetched",
|
|
833
|
+
extra={
|
|
834
|
+
"device_id": str(device_id),
|
|
835
|
+
"count": len(sources),
|
|
836
|
+
},
|
|
837
|
+
)
|
|
838
|
+
return sources
|
|
839
|
+
|
|
840
|
+
async def get_device_depth_sources(
|
|
841
|
+
self, device_id: UUID | str
|
|
842
|
+
) -> list[DepthSource]:
|
|
843
|
+
"""Get all depth sources associated with a device.
|
|
844
|
+
|
|
845
|
+
Args:
|
|
846
|
+
device_id: Device UUID or string identifier.
|
|
847
|
+
|
|
848
|
+
Returns:
|
|
849
|
+
List of depth source instances associated with the device.
|
|
850
|
+
"""
|
|
851
|
+
logger.info(
|
|
852
|
+
"fetching_device_depth_sources",
|
|
853
|
+
extra={"device_id": str(device_id)},
|
|
854
|
+
)
|
|
855
|
+
response = await self._client.get(f"/api/v1/devices/{device_id}/depth-sources")
|
|
856
|
+
response.raise_for_status()
|
|
857
|
+
sources = [DepthSource.model_validate(item) for item in response.json()]
|
|
858
|
+
logger.info(
|
|
859
|
+
"device_depth_sources_fetched",
|
|
860
|
+
extra={
|
|
861
|
+
"device_id": str(device_id),
|
|
862
|
+
"count": len(sources),
|
|
863
|
+
},
|
|
864
|
+
)
|
|
865
|
+
return sources
|
|
866
|
+
|
|
867
|
+
async def get_device_layback_sources(
|
|
868
|
+
self, device_id: UUID | str
|
|
869
|
+
) -> list[LaybackSource]:
|
|
870
|
+
"""Get all layback sources associated with a device.
|
|
871
|
+
|
|
872
|
+
Args:
|
|
873
|
+
device_id: Device UUID or string identifier.
|
|
874
|
+
|
|
875
|
+
Returns:
|
|
876
|
+
List of layback source instances associated with the device.
|
|
877
|
+
"""
|
|
878
|
+
logger.info(
|
|
879
|
+
"fetching_device_layback_sources",
|
|
880
|
+
extra={"device_id": str(device_id)},
|
|
881
|
+
)
|
|
882
|
+
response = await self._client.get(
|
|
883
|
+
f"/api/v1/devices/{device_id}/layback-sources"
|
|
884
|
+
)
|
|
885
|
+
response.raise_for_status()
|
|
886
|
+
sources = [LaybackSource.model_validate(item) for item in response.json()]
|
|
887
|
+
logger.info(
|
|
888
|
+
"device_layback_sources_fetched",
|
|
889
|
+
extra={
|
|
890
|
+
"device_id": str(device_id),
|
|
891
|
+
"count": len(sources),
|
|
892
|
+
},
|
|
893
|
+
)
|
|
894
|
+
return sources
|
|
895
|
+
|
|
896
|
+
async def get_device_position_sources(
|
|
897
|
+
self, device_id: UUID | str
|
|
898
|
+
) -> list[PositionSource]:
|
|
899
|
+
"""Get all position sources associated with a device.
|
|
900
|
+
|
|
901
|
+
Args:
|
|
902
|
+
device_id: Device UUID or string identifier.
|
|
903
|
+
|
|
904
|
+
Returns:
|
|
905
|
+
List of position source instances associated with the device.
|
|
906
|
+
"""
|
|
907
|
+
logger.info(
|
|
908
|
+
"fetching_device_position_sources",
|
|
909
|
+
extra={"device_id": str(device_id)},
|
|
910
|
+
)
|
|
911
|
+
response = await self._client.get(
|
|
912
|
+
f"/api/v1/devices/{device_id}/position-sources"
|
|
913
|
+
)
|
|
914
|
+
response.raise_for_status()
|
|
915
|
+
sources = [PositionSource.model_validate(item) for item in response.json()]
|
|
916
|
+
logger.info(
|
|
917
|
+
"device_position_sources_fetched",
|
|
918
|
+
extra={
|
|
919
|
+
"device_id": str(device_id),
|
|
920
|
+
"count": len(sources),
|
|
921
|
+
},
|
|
922
|
+
)
|
|
923
|
+
return sources
|
|
924
|
+
|
|
925
|
+
async def get_device_sidescan_ping_sources(
|
|
926
|
+
self, device_id: UUID | str
|
|
927
|
+
) -> list[SidescanPingSource]:
|
|
928
|
+
"""Get all sidescan ping sources associated with a device.
|
|
929
|
+
|
|
930
|
+
Args:
|
|
931
|
+
device_id: Device UUID or string identifier.
|
|
932
|
+
|
|
933
|
+
Returns:
|
|
934
|
+
List of sidescan ping source instances associated with the device.
|
|
935
|
+
"""
|
|
936
|
+
logger.info(
|
|
937
|
+
"fetching_device_sidescan_ping_sources",
|
|
938
|
+
extra={"device_id": str(device_id)},
|
|
939
|
+
)
|
|
940
|
+
response = await self._client.get(
|
|
941
|
+
f"/api/v1/devices/{device_id}/sidescan-ping-sources"
|
|
942
|
+
)
|
|
943
|
+
response.raise_for_status()
|
|
944
|
+
sources = [SidescanPingSource.model_validate(item) for item in response.json()]
|
|
945
|
+
logger.info(
|
|
946
|
+
"device_sidescan_ping_sources_fetched",
|
|
947
|
+
extra={
|
|
948
|
+
"device_id": str(device_id),
|
|
949
|
+
"count": len(sources),
|
|
950
|
+
},
|
|
951
|
+
)
|
|
952
|
+
return sources
|
|
953
|
+
|
|
954
|
+
async def get_position_source_raw_positions(
|
|
955
|
+
self, position_source_id: UUID | str
|
|
956
|
+
) -> list[RawPosition]:
|
|
957
|
+
"""Get all raw positions associated with a position source.
|
|
958
|
+
|
|
959
|
+
Args:
|
|
960
|
+
position_source_id: Position source UUID.
|
|
961
|
+
|
|
962
|
+
Returns:
|
|
963
|
+
List of raw position instances.
|
|
964
|
+
"""
|
|
965
|
+
logger.info(
|
|
966
|
+
"fetching_position_source_raw_positions",
|
|
967
|
+
extra={"position_source_id": str(position_source_id)},
|
|
968
|
+
)
|
|
969
|
+
response = await self._client.get(
|
|
970
|
+
f"/api/v1/position-sources/{position_source_id}/raw-positions"
|
|
971
|
+
)
|
|
972
|
+
response.raise_for_status()
|
|
973
|
+
raw_positions = [RawPosition.model_validate(item) for item in response.json()]
|
|
974
|
+
logger.info(
|
|
975
|
+
"position_source_raw_positions_fetched",
|
|
976
|
+
extra={
|
|
977
|
+
"position_source_id": str(position_source_id),
|
|
978
|
+
"count": len(raw_positions),
|
|
979
|
+
},
|
|
980
|
+
)
|
|
981
|
+
return raw_positions
|
|
982
|
+
|
|
983
|
+
async def get_sidescan_ping_source_raw_sidescan_pings(
|
|
984
|
+
self, sidescan_ping_source_id: UUID | str
|
|
985
|
+
) -> list[RawSidescanPing]:
|
|
986
|
+
"""Get all raw sidescan pings associated with a sidescan ping source.
|
|
987
|
+
|
|
988
|
+
Args:
|
|
989
|
+
sidescan_ping_source_id: Sidescan ping source UUID.
|
|
990
|
+
|
|
991
|
+
Returns:
|
|
992
|
+
List of raw sidescan ping instances.
|
|
993
|
+
"""
|
|
994
|
+
logger.info(
|
|
995
|
+
"fetching_sidescan_ping_source_raw_sidescan_pings",
|
|
996
|
+
extra={"sidescan_ping_source_id": str(sidescan_ping_source_id)},
|
|
997
|
+
)
|
|
998
|
+
response = await self._client.get(
|
|
999
|
+
f"/api/v1/sidescan-ping-sources/{sidescan_ping_source_id}/raw-sidescan-pings"
|
|
1000
|
+
)
|
|
1001
|
+
response.raise_for_status()
|
|
1002
|
+
raw_sidescan_pings = [
|
|
1003
|
+
RawSidescanPing.model_validate(item) for item in response.json()
|
|
1004
|
+
]
|
|
1005
|
+
logger.info(
|
|
1006
|
+
"sidescan_ping_source_raw_sidescan_pings_fetched",
|
|
1007
|
+
extra={
|
|
1008
|
+
"sidescan_ping_source_id": str(sidescan_ping_source_id),
|
|
1009
|
+
"count": len(raw_sidescan_pings),
|
|
1010
|
+
},
|
|
1011
|
+
)
|
|
1012
|
+
return raw_sidescan_pings
|
|
1013
|
+
|
|
781
1014
|
async def create_source(self, source: SourceCreate) -> Source:
|
|
782
1015
|
"""Create a new source.
|
|
783
1016
|
|
|
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
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/altitude_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/attitude_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/depth_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/device_type.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/final_product.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/layback_algorithm.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/layback_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/layback_type.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/organization.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/platform_type.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/position_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_altitude.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_attitude.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_depth.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_layback.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processed_position.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/processing_log.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/projection_option.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_altitude.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_attitude.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_file_state.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_layback.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_position.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.25 → clarity_api_sdk_python-0.3.27}/src/cti/model/raw_sidescan_ping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|