clarity-api-sdk-python 0.3.22__tar.gz → 0.3.24__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.22 → clarity_api_sdk_python-0.3.24}/PKG-INFO +1 -1
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/pyproject.toml +1 -1
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/clarity_api_sdk_python.egg-info/PKG-INFO +1 -1
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/clarity_api_sdk_python.egg-info/SOURCES.txt +1 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/logger/logger.py +1 -1
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/device.py +4 -4
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_file.py +3 -0
- clarity_api_sdk_python-0.3.24/src/cti/model/raw_file_device_mapping.py +69 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/source.py +1 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/README.md +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/setup.cfg +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/clarity_api_sdk_python.egg-info/dependency_links.txt +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/clarity_api_sdk_python.egg-info/requires.txt +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/clarity_api_sdk_python.egg-info/top_level.txt +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/api/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/api/async_client.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/api/client.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/api/session.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/logger/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/main.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/main_api.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/__init__.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/altitude_source.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/attitude_source.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/deferred_object_deletion.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/depth_source.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/device_type.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/final_product.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/hierarchy.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/layback_algorithm.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/layback_source.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/layback_type.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/organization.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/platform.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/platform_type.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/position_source.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_altitude.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_attitude.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_depth.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_layback.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_position.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_sidescan_ping.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processing_log.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/project.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/projection_option.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_altitude.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_attitude.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_depth.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_file_configuration.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_file_state.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_layback.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_position.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_sidescan_ping.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/s3.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/sidescan_ping_source.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/survey.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/target.py +0 -0
- {clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/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.24
|
|
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.24
|
|
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
|
|
@@ -44,6 +44,7 @@ src/cti/model/raw_attitude.py
|
|
|
44
44
|
src/cti/model/raw_depth.py
|
|
45
45
|
src/cti/model/raw_file.py
|
|
46
46
|
src/cti/model/raw_file_configuration.py
|
|
47
|
+
src/cti/model/raw_file_device_mapping.py
|
|
47
48
|
src/cti/model/raw_file_state.py
|
|
48
49
|
src/cti/model/raw_layback.py
|
|
49
50
|
src/cti/model/raw_position.py
|
|
@@ -89,7 +89,7 @@ def _get_aws_metadata() -> dict:
|
|
|
89
89
|
"""Helper to fetch a metadata key with a timeout."""
|
|
90
90
|
try:
|
|
91
91
|
# yes, a hard coded IPv4 is best practice
|
|
92
|
-
url = f"http://169.254.169.
|
|
92
|
+
url = f"http://169.254.169.254/latest/meta-data/{key}"
|
|
93
93
|
with urllib.request.urlopen(url, timeout=timeout) as response:
|
|
94
94
|
return response.read().decode("utf-8")
|
|
95
95
|
except (urllib.error.URLError, socket.timeout):
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
|
-
from pydantic import BaseModel, ConfigDict
|
|
6
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class DeviceBase(BaseModel):
|
|
@@ -11,7 +11,7 @@ class DeviceBase(BaseModel):
|
|
|
11
11
|
|
|
12
12
|
Attributes:
|
|
13
13
|
name: Device name.
|
|
14
|
-
channel:
|
|
14
|
+
channel: channel id.
|
|
15
15
|
offset_x: X-axis offset.
|
|
16
16
|
offset_y: Y-axis offset.
|
|
17
17
|
offset_z: Z-axis offset.
|
|
@@ -23,7 +23,7 @@ class DeviceBase(BaseModel):
|
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
25
|
name: str
|
|
26
|
-
channel: int
|
|
26
|
+
channel: int = Field(ge=0)
|
|
27
27
|
offset_x: float
|
|
28
28
|
offset_y: float
|
|
29
29
|
offset_z: float
|
|
@@ -51,7 +51,7 @@ class DeviceUpdate(DeviceBase):
|
|
|
51
51
|
|
|
52
52
|
Attributes:
|
|
53
53
|
name: Device name.
|
|
54
|
-
|
|
54
|
+
channel: channel id.
|
|
55
55
|
offset_x: X-axis offset.
|
|
56
56
|
offset_y: Y-axis offset.
|
|
57
57
|
offset_z: Z-axis offset.
|
|
@@ -45,6 +45,7 @@ class RawFileBase(BaseModel):
|
|
|
45
45
|
class RawFileCreate(RawFileBase):
|
|
46
46
|
"""Model for creating raw file data (with survey_id in body)."""
|
|
47
47
|
|
|
48
|
+
|
|
48
49
|
class RawFileUpdate(RawFileBase):
|
|
49
50
|
"""Model for updating raw file data.
|
|
50
51
|
|
|
@@ -55,12 +56,14 @@ class RawFileUpdate(RawFileBase):
|
|
|
55
56
|
meta_data: meta data for the uri
|
|
56
57
|
upload_id: S3 multipart upload ID (present while uploading, cleared when complete).
|
|
57
58
|
"""
|
|
59
|
+
|
|
58
60
|
raw_file_id: UUID
|
|
59
61
|
state: RawFileState = RawFileState.UPLOADING
|
|
60
62
|
uri: str | None = None
|
|
61
63
|
meta_data: dict
|
|
62
64
|
upload_id: str | None = None
|
|
63
65
|
|
|
66
|
+
|
|
64
67
|
class RawFile(RawFileUpdate):
|
|
65
68
|
"""Model for raw file data with database fields.
|
|
66
69
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"""Pydantic model for mapping a raw file to a device."""
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from uuid import UUID
|
|
5
|
+
|
|
6
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class RawFileDeviceMappingBase(BaseModel):
|
|
10
|
+
"""Base model for raw file device mapping.
|
|
11
|
+
|
|
12
|
+
Attributes:
|
|
13
|
+
raw_file_id: Foreign key reference to RawFile.
|
|
14
|
+
device_id: Foreign key reference to Device.
|
|
15
|
+
source_stream_identifier: Identifier for the source stream.
|
|
16
|
+
input_srid: Spatial reference ID for the input data.
|
|
17
|
+
input_timezone: Timezone for the input data.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
raw_file_id: UUID
|
|
21
|
+
device_id: UUID
|
|
22
|
+
source_stream_identifier: str
|
|
23
|
+
input_srid: int = Field(ge=2000, le=900913)
|
|
24
|
+
input_timezone: str = Field(pattern=r"^UTM([+-]\d+)?$")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class RawFileDeviceMappingCreate(RawFileDeviceMappingBase):
|
|
28
|
+
"""Model for creating raw file device mapping data."""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class RawFileDeviceMappingUpdate(RawFileDeviceMappingBase):
|
|
32
|
+
"""Model for updating raw file device mapping data.
|
|
33
|
+
|
|
34
|
+
Attributes:
|
|
35
|
+
mapping_id: Unique identifier for the mapping.
|
|
36
|
+
created_date: Date and time when the mapping was created.
|
|
37
|
+
updated_date: Date and time when the mapping was last updated.
|
|
38
|
+
updated_by: User who last updated the mapping.
|
|
39
|
+
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class RawFileDeviceMapping(RawFileDeviceMappingUpdate):
|
|
44
|
+
"""Model for raw file device mapping data with database fields.
|
|
45
|
+
|
|
46
|
+
Attributes:
|
|
47
|
+
created_date: Date and time when the mapping was created.
|
|
48
|
+
updated_date: Date and time when the mapping was last updated.
|
|
49
|
+
updated_by: User who last updated the mapping.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
mapping_id: UUID
|
|
53
|
+
created_date: datetime
|
|
54
|
+
updated_date: datetime
|
|
55
|
+
updated_by: str
|
|
56
|
+
|
|
57
|
+
model_config = ConfigDict(from_attributes=True)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class RawFileDeviceMappingFilter(BaseModel):
|
|
61
|
+
"""Model for filtering raw file device mappings.
|
|
62
|
+
|
|
63
|
+
Attributes:
|
|
64
|
+
raw_file_id: Raw file ID filter (required).
|
|
65
|
+
device_id: Device ID filter (required).
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
raw_file_id: UUID
|
|
69
|
+
device_id: UUID
|
|
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.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/altitude_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/attitude_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/depth_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/device_type.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/final_product.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/layback_algorithm.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/layback_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/layback_type.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/organization.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/platform_type.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/position_source.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_altitude.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_attitude.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_depth.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_layback.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processed_position.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/processing_log.py
RENAMED
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/projection_option.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_altitude.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_attitude.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_file_state.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_layback.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/src/cti/model/raw_position.py
RENAMED
|
File without changes
|
{clarity_api_sdk_python-0.3.22 → clarity_api_sdk_python-0.3.24}/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
|