sprocket-systems.coda.sdk 2.0.11__tar.gz → 2.1.0__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.
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/PKG-INFO +1 -1
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/pyproject.toml +1 -1
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/__init__.py +2 -2
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/essence.py +9 -7
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/job.py +2 -1
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/workflow.py +14 -14
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/LICENSE +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/PYPI_README.md +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/__init__.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/constants.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/enums.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/exceptions.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/preset.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/utils.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk.py +0 -0
- {sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/tc_tools.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sprocket-systems.coda.sdk
|
|
3
|
-
Version: 2.0
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: The Coda SDK provides a Python interface to define Coda workflows, create jobs and run them.
|
|
5
5
|
Keywords: python,coda,sdk
|
|
6
6
|
Author-Email: Sprocket Systems <support@sprocket.systems>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# The versions below will be replaced automatically in CI.
|
|
2
2
|
# You do not need to modify any of the versions below.
|
|
3
|
-
__version__ = "2.0
|
|
4
|
-
CODA_APP_SUITE_VERSION = "+coda-2.0.
|
|
3
|
+
__version__ = "2.1.0"
|
|
4
|
+
CODA_APP_SUITE_VERSION = "+coda-2.0.17"
|
|
5
5
|
FINAL_VERSION = __version__ + CODA_APP_SUITE_VERSION
|
{sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/essence.py
RENAMED
|
@@ -402,6 +402,8 @@ class Essence:
|
|
|
402
402
|
) -> list["Essence"]:
|
|
403
403
|
"""Create a list of CodaEssence objects from files.
|
|
404
404
|
|
|
405
|
+
Note: this method only supports multi-mono file sets.
|
|
406
|
+
|
|
405
407
|
This method inspects local files using the 'coda inspect' command-line tool
|
|
406
408
|
to automatically determine their properties. For S3 files or when the CLI
|
|
407
409
|
is unavailable, it relies on the `file_info` dictionary for manual creation.
|
|
@@ -410,20 +412,20 @@ class Essence:
|
|
|
410
412
|
files (List): A list of file paths.
|
|
411
413
|
io_location_id (str, optional): The IO Location ID associated with the source files. Required for agent transfers.
|
|
412
414
|
file_info (dict, optional): Manual override info for files. Required for S3.
|
|
413
|
-
Should contain keys like 'format', 'type', 'frames', '
|
|
415
|
+
Should contain keys like 'format', 'type', 'frames', 'auth'. Defaults to None.
|
|
414
416
|
Examples: file_info = {
|
|
415
417
|
"frames": 720000,
|
|
416
418
|
"format": Format.SEVEN_ONE,
|
|
417
419
|
"type": InputStemType.PRINTMASTER,
|
|
418
|
-
"
|
|
420
|
+
"auth": {
|
|
419
421
|
"iam_role": os.getenv(ENV_S3_ROLE, "XXXX"),
|
|
420
422
|
"iam_external_id": os.getenv(ENV_S3_EXTERNAL_ID, "XXXX"),
|
|
421
423
|
},
|
|
422
|
-
"
|
|
424
|
+
"opts": {"region": "us-west-2"},
|
|
423
425
|
}
|
|
424
426
|
|
|
425
|
-
Note: `
|
|
426
|
-
"
|
|
427
|
+
Note: `auth` may also use S3 access key secret and ID
|
|
428
|
+
"auth": {
|
|
427
429
|
"access_key_id": os.getenv(ENV_S3_ACCESS_KEY_ID, "XXXX"),
|
|
428
430
|
"secret_access_key": os.getenv(ENV_S3_SECRET_ACCESS_KEY, "XXXX"),
|
|
429
431
|
}
|
|
@@ -551,8 +553,8 @@ class Essence:
|
|
|
551
553
|
res = [
|
|
552
554
|
{
|
|
553
555
|
"url": r,
|
|
554
|
-
"auth": file_info.get("
|
|
555
|
-
"opts": file_info.get("
|
|
556
|
+
"auth": file_info.get("auth"),
|
|
557
|
+
"opts": file_info.get("opts"),
|
|
556
558
|
}
|
|
557
559
|
for r in s3_files
|
|
558
560
|
]
|
|
@@ -729,5 +729,6 @@ class Job:
|
|
|
729
729
|
CodaAPIError: If query fails (HTTP 4XX or 5XX response).
|
|
730
730
|
|
|
731
731
|
"""
|
|
732
|
-
|
|
732
|
+
group_id = validate_group_id()
|
|
733
|
+
ret = make_request(requests.get, f"/interface/v2/groups/{group_id}/jobs?sort=asc&start_date={start_date}&end_date={end_date}")
|
|
733
734
|
return ret.json()
|
{sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/workflow.py
RENAMED
|
@@ -1120,40 +1120,40 @@ class WorkflowDefinitionBuilder:
|
|
|
1120
1120
|
|
|
1121
1121
|
return self
|
|
1122
1122
|
|
|
1123
|
-
def with_destination(self, name: str, io_location_id: str | None = None,
|
|
1123
|
+
def with_destination(self, name: str, io_location_id: str | None = None, url: str | None = None, auth: dict | None = None, options: dict | None = None) -> 'WorkflowDefinitionBuilder':
|
|
1124
1124
|
"""Add a destination node to the workflow.
|
|
1125
1125
|
|
|
1126
1126
|
Args:
|
|
1127
1127
|
name (str): A unique name for the destination.
|
|
1128
1128
|
io_location_id (str): The ULID of a desired IO Location. Defaults to None.
|
|
1129
|
-
|
|
1130
|
-
|
|
1129
|
+
url (str): The URL of the cloud storage destination (e.g., "s3://..."). Defaults to None.
|
|
1130
|
+
auth (dict, optional): Authentication details. Defaults to None.
|
|
1131
1131
|
options (dict, optional): URL options. Defaults to None.
|
|
1132
1132
|
|
|
1133
1133
|
Returns:
|
|
1134
1134
|
WorkflowDefinitionBuilder: The builder instance for fluent chaining.
|
|
1135
1135
|
|
|
1136
1136
|
Raises:
|
|
1137
|
-
ValueError: If either io_location or
|
|
1138
|
-
ValueError: If both io_location and
|
|
1137
|
+
ValueError: If either io_location or url is not supplied.
|
|
1138
|
+
ValueError: If both io_location and url is supplied.
|
|
1139
1139
|
|
|
1140
1140
|
"""
|
|
1141
|
-
if
|
|
1142
|
-
raise ValueError("Either an 'io_location_id' or '
|
|
1141
|
+
if url is None and io_location_id is None:
|
|
1142
|
+
raise ValueError("Either an 'io_location_id' or 'url' must be supplied")
|
|
1143
1143
|
|
|
1144
|
-
if
|
|
1145
|
-
raise ValueError("Either an 'io_location_id' or '
|
|
1144
|
+
if url is not None and io_location_id is not None:
|
|
1145
|
+
raise ValueError("Either an 'io_location_id' or 'url' must be supplied, not both.")
|
|
1146
1146
|
|
|
1147
1147
|
dest_def: dict[str, Any] = {"package_ids": []}
|
|
1148
|
-
if
|
|
1148
|
+
if url is not None and io_location_id is None:
|
|
1149
1149
|
dest_type = "s3"
|
|
1150
|
-
dest_def["url"] =
|
|
1151
|
-
if
|
|
1152
|
-
dest_def["auth"] =
|
|
1150
|
+
dest_def["url"] = url
|
|
1151
|
+
if auth:
|
|
1152
|
+
dest_def["auth"] = auth
|
|
1153
1153
|
if options:
|
|
1154
1154
|
dest_def["opts"] = options
|
|
1155
1155
|
|
|
1156
|
-
if io_location_id is not None and
|
|
1156
|
+
if io_location_id is not None and url is None:
|
|
1157
1157
|
dest_type = "io_location"
|
|
1158
1158
|
dest_def["io_location_id"] = io_location_id
|
|
1159
1159
|
|
|
File without changes
|
|
File without changes
|
{sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/__init__.py
RENAMED
|
File without changes
|
{sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{sprocket_systems_coda_sdk-2.0.11 → sprocket_systems_coda_sdk-2.1.0}/src/coda/sdk/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|