clarity-api-sdk-python 0.3.19__tar.gz → 0.3.20__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 (58) hide show
  1. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/PKG-INFO +1 -1
  2. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/pyproject.toml +1 -1
  3. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/clarity_api_sdk_python.egg-info/PKG-INFO +1 -1
  4. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/clarity_api_sdk_python.egg-info/SOURCES.txt +2 -0
  5. clarity_api_sdk_python-0.3.20/src/cti/model/deferred_object_deletion.py +36 -0
  6. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_file.py +22 -17
  7. clarity_api_sdk_python-0.3.20/src/cti/model/raw_file_state.py +12 -0
  8. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/README.md +0 -0
  9. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/setup.cfg +0 -0
  10. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/clarity_api_sdk_python.egg-info/dependency_links.txt +0 -0
  11. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/clarity_api_sdk_python.egg-info/requires.txt +0 -0
  12. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/clarity_api_sdk_python.egg-info/top_level.txt +0 -0
  13. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/__init__.py +0 -0
  14. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/api/__init__.py +0 -0
  15. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/api/async_client.py +0 -0
  16. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/api/client.py +0 -0
  17. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/api/session.py +0 -0
  18. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/logger/__init__.py +0 -0
  19. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/logger/logger.py +0 -0
  20. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/main.py +0 -0
  21. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/main_api.py +0 -0
  22. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/__init__.py +0 -0
  23. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/altitude_source.py +0 -0
  24. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/attitude_source.py +0 -0
  25. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/depth_source.py +0 -0
  26. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/device.py +0 -0
  27. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/device_type.py +0 -0
  28. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/final_product.py +0 -0
  29. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/hierarchy.py +0 -0
  30. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/layback_algorithm.py +0 -0
  31. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/layback_source.py +0 -0
  32. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/layback_type.py +0 -0
  33. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/organization.py +0 -0
  34. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/platform.py +0 -0
  35. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/platform_type.py +0 -0
  36. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/position_source.py +0 -0
  37. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processed_altitude.py +0 -0
  38. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processed_attitude.py +0 -0
  39. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processed_depth.py +0 -0
  40. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processed_layback.py +0 -0
  41. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processed_position.py +0 -0
  42. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processed_sidescan_ping.py +0 -0
  43. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/processing_log.py +0 -0
  44. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/project.py +0 -0
  45. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/projection_option.py +0 -0
  46. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_altitude.py +0 -0
  47. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_attitude.py +0 -0
  48. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_depth.py +0 -0
  49. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_file_configuration.py +0 -0
  50. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_layback.py +0 -0
  51. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_position.py +0 -0
  52. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/raw_sidescan_ping.py +0 -0
  53. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/s3.py +0 -0
  54. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/sidescan_ping_source.py +0 -0
  55. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/source.py +0 -0
  56. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/survey.py +0 -0
  57. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/src/cti/model/target.py +0 -0
  58. {clarity_api_sdk_python-0.3.19 → clarity_api_sdk_python-0.3.20}/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.19
3
+ Version: 0.3.20
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
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "clarity-api-sdk-python"
8
- version = "0.3.19"
8
+ version = "0.3.20"
9
9
  authors = [
10
10
  { name="Chesapeake Technology Inc.", email="support@chesapeaketech.com" },
11
11
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarity-api-sdk-python
3
- Version: 0.3.19
3
+ Version: 0.3.20
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
@@ -17,6 +17,7 @@ src/cti/logger/logger.py
17
17
  src/cti/model/__init__.py
18
18
  src/cti/model/altitude_source.py
19
19
  src/cti/model/attitude_source.py
20
+ src/cti/model/deferred_object_deletion.py
20
21
  src/cti/model/depth_source.py
21
22
  src/cti/model/device.py
22
23
  src/cti/model/device_type.py
@@ -43,6 +44,7 @@ src/cti/model/raw_attitude.py
43
44
  src/cti/model/raw_depth.py
44
45
  src/cti/model/raw_file.py
45
46
  src/cti/model/raw_file_configuration.py
47
+ src/cti/model/raw_file_state.py
46
48
  src/cti/model/raw_layback.py
47
49
  src/cti/model/raw_position.py
48
50
  src/cti/model/raw_sidescan_ping.py
@@ -0,0 +1,36 @@
1
+ """Pydantic models for deferred object deletion."""
2
+
3
+ from datetime import datetime
4
+ from uuid import UUID
5
+
6
+ from pydantic import BaseModel, ConfigDict
7
+
8
+
9
+ class DeferredObjectDeletionBase(BaseModel):
10
+ """Base model for deferred object deletion.
11
+
12
+ Attributes:
13
+ uri: URI for AWS S3 object, Azure Storage Blob, etc.
14
+ """
15
+
16
+ uri: str
17
+
18
+
19
+ class DeferredObjectDeletionCreate(DeferredObjectDeletionBase):
20
+ """Model for creating a deferred object deletion entry."""
21
+
22
+
23
+ class DeferredObjectDeletion(DeferredObjectDeletionBase):
24
+ """Model for deferred object deletion data with database fields.
25
+
26
+ Attributes:
27
+ deferred_object_deletion_id: Unique identifier for the deferred object deletion.
28
+ updated_by: User who initiated the deletion.
29
+ created_date: Date and time when the deletion request was initiated.
30
+ """
31
+
32
+ deferred_object_deletion_id: UUID
33
+ updated_by: str
34
+ created_date: datetime
35
+
36
+ model_config = ConfigDict(from_attributes=True)
@@ -1,18 +1,11 @@
1
1
  """Pydantic models for raw file. This is the data that has been uploaded but not ingested into the database."""
2
2
 
3
3
  from datetime import datetime
4
- from enum import Enum
5
4
  from uuid import UUID
6
5
 
7
6
  from pydantic import BaseModel, ConfigDict, field_validator
8
7
 
9
-
10
- class RawFileState(str, Enum):
11
- """State of a raw file upload."""
12
-
13
- UPLOADING = "uploading"
14
- READY = "ready"
15
- ERROR = "error"
8
+ from model.raw_file_state import RawFileState
16
9
 
17
10
 
18
11
  class RawFileBase(BaseModel):
@@ -52,17 +45,9 @@ class RawFileBase(BaseModel):
52
45
  class RawFileCreate(RawFileBase):
53
46
  """Model for creating raw file data (with survey_id in body)."""
54
47
 
55
-
56
48
  class RawFileUpdate(RawFileBase):
57
49
  """Model for updating raw file data.
58
50
 
59
- Attributes:
60
- """
61
-
62
-
63
- class RawFile(RawFileBase):
64
- """Model for raw file data with database fields.
65
-
66
51
  Attributes:
67
52
  raw_file_id: Unique identifier for the source.
68
53
  state: Upload state (uploading, ready, error).
@@ -70,12 +55,18 @@ class RawFile(RawFileBase):
70
55
  meta_data: meta data for the uri
71
56
  upload_id: S3 multipart upload ID (present while uploading, cleared when complete).
72
57
  """
73
-
74
58
  raw_file_id: UUID
75
59
  state: RawFileState = RawFileState.UPLOADING
76
60
  uri: str | None = None
77
61
  meta_data: dict
78
62
  upload_id: str | None = None
63
+
64
+ class RawFile(RawFileUpdate):
65
+ """Model for raw file data with database fields.
66
+
67
+ Attributes:
68
+ """
69
+
79
70
  created_date: datetime
80
71
  updated_date: datetime
81
72
  updated_by: str
@@ -88,3 +79,17 @@ class RawFileWithUpload(RawFile):
88
79
 
89
80
  Overrides optional fields from RawFile to be required for upload responses.
90
81
  """
82
+
83
+
84
+ class RawFileFilter(BaseModel):
85
+ """Model for filtering raw files.
86
+
87
+ Attributes:
88
+ survey_id: Survey ID filter (required).
89
+ state: Optional state filter (uploading, ready, error).
90
+ raw_configuration_id: Optional raw file configuration ID filter.
91
+ """
92
+
93
+ survey_id: UUID
94
+ state: RawFileState | None = None
95
+ raw_configuration_id: UUID | None = None
@@ -0,0 +1,12 @@
1
+ """Raw file state"""
2
+
3
+ from enum import Enum
4
+
5
+ class RawFileState(str, Enum):
6
+ """Status of a raw file upload."""
7
+
8
+ UPLOADING = "uploading"
9
+ READY = "ready"
10
+ ERROR_UPLOAD = "error_upload"
11
+ ERROR_INGEST = "error_ingest"
12
+ INGEST_COMPLETE = "ingest_complete"