sprocket-systems.coda.sdk 2.0.6__py3-none-any.whl → 2.0.8__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.
- coda/__init__.py +2 -2
- coda/sdk/constants.py +0 -2
- coda/sdk/essence.py +11 -3
- coda/sdk/job.py +11 -7
- coda/sdk/workflow.py +8 -2
- {sprocket_systems_coda_sdk-2.0.6.dist-info → sprocket_systems_coda_sdk-2.0.8.dist-info}/METADATA +1 -1
- sprocket_systems_coda_sdk-2.0.8.dist-info/RECORD +15 -0
- sprocket_systems_coda_sdk-2.0.6.dist-info/RECORD +0 -15
- {sprocket_systems_coda_sdk-2.0.6.dist-info → sprocket_systems_coda_sdk-2.0.8.dist-info}/WHEEL +0 -0
- {sprocket_systems_coda_sdk-2.0.6.dist-info → sprocket_systems_coda_sdk-2.0.8.dist-info}/entry_points.txt +0 -0
- {sprocket_systems_coda_sdk-2.0.6.dist-info → sprocket_systems_coda_sdk-2.0.8.dist-info}/licenses/LICENSE +0 -0
coda/__init__.py
CHANGED
|
@@ -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.0.8"
|
|
4
|
+
CODA_APP_SUITE_VERSION = "+coda-2.0.13"
|
|
5
5
|
FINAL_VERSION = __version__ + CODA_APP_SUITE_VERSION
|
coda/sdk/constants.py
CHANGED
|
@@ -7,8 +7,6 @@ ENV_CODA_API_TOKEN = "CODA_API_TOKEN"
|
|
|
7
7
|
ENV_CODA_API_INSECURE_SKIP_VERIFY = "CODA_API_INSECURE_SKIP_VERIFY"
|
|
8
8
|
ENV_CODA_CLI_EXE = "CODA_CLI_EXE"
|
|
9
9
|
ENV_NO_CODA_EXE = "NO_CODA_EXE"
|
|
10
|
-
ENV_S3_SRC_ROLE = "S3_SRC_ROLE"
|
|
11
|
-
ENV_S3_SRC_EXTERNAL_ID = "S3_SRC_EXTERNAL_ID"
|
|
12
10
|
|
|
13
11
|
# Default Values
|
|
14
12
|
DEFAULT_API_URL = "https://v2.coda.sprocket.systems"
|
coda/sdk/essence.py
CHANGED
|
@@ -219,6 +219,7 @@ class Essence:
|
|
|
219
219
|
res["resource"]["auth"] = auth
|
|
220
220
|
if opts is not None:
|
|
221
221
|
res["resource"]["opts"] = opts
|
|
222
|
+
print(res)
|
|
222
223
|
self.payload["definition"]["resources"].append(res)
|
|
223
224
|
|
|
224
225
|
def override_stem_type(self, stem_type: InputStemType) -> None:
|
|
@@ -316,16 +317,22 @@ class Essence:
|
|
|
316
317
|
io_location_id (str, optional): The IO Location ID associated with the source files. Required for agent transfers.
|
|
317
318
|
file_info (dict, optional): Manual override info for files. Required for S3.
|
|
318
319
|
Should contain keys like 'format', 'type', 'frames', 's3_auth'. Defaults to None.
|
|
319
|
-
|
|
320
|
+
Examples: file_info = {
|
|
320
321
|
"frames": 720000,
|
|
321
322
|
"format": Format.SEVEN_ONE,
|
|
322
323
|
"type": InputStemType.PRINTMASTER,
|
|
323
324
|
"s3_auth": {
|
|
324
|
-
"
|
|
325
|
-
"
|
|
325
|
+
"iam_role": os.getenv(ENV_S3_ROLE, "XXXX"),
|
|
326
|
+
"iam_external_id": os.getenv(ENV_S3_EXTERNAL_ID, "XXXX"),
|
|
326
327
|
},
|
|
327
328
|
"s3_options": {"region": "us-west-2"},
|
|
328
329
|
}
|
|
330
|
+
|
|
331
|
+
Note: `s3_auth` may also use S3 access key secret and ID
|
|
332
|
+
"s3_auth": {
|
|
333
|
+
"access_key_id": os.getenv(ENV_S3_ACCESS_KEY_ID, "XXXX"),
|
|
334
|
+
"secret_access_key": os.getenv(ENV_S3_SECRET_ACCESS_KEY, "XXXX"),
|
|
335
|
+
}
|
|
329
336
|
program (str, optional): The program identifier to assign to the essences.
|
|
330
337
|
Defaults to "".
|
|
331
338
|
forced_frame_rate (str, optional): Specify the frame rate to calculate the FFOA and LFOA
|
|
@@ -442,6 +449,7 @@ class Essence:
|
|
|
442
449
|
essence = Essence(
|
|
443
450
|
file_info["format"], stem_type=file_info["type"], program=program
|
|
444
451
|
)
|
|
452
|
+
|
|
445
453
|
res = [
|
|
446
454
|
{
|
|
447
455
|
"url": r,
|
coda/sdk/job.py
CHANGED
|
@@ -361,13 +361,6 @@ class JobPayloadBuilder:
|
|
|
361
361
|
lfoa = None
|
|
362
362
|
fr = None
|
|
363
363
|
|
|
364
|
-
for e in self._essences:
|
|
365
|
-
essence_timing = e.payload["timing_info"]
|
|
366
|
-
if essence_timing:
|
|
367
|
-
ffoa = essence_timing["ffoa_timecode"]
|
|
368
|
-
lfoa = essence_timing["lfoa_timecode"]
|
|
369
|
-
fr = essence_timing["source_frame_rate"]
|
|
370
|
-
|
|
371
364
|
if self._time_options.get("frame_rate"):
|
|
372
365
|
fr = self._time_options.get("frame_rate")
|
|
373
366
|
if self._time_options.get("ffoa"):
|
|
@@ -375,6 +368,17 @@ class JobPayloadBuilder:
|
|
|
375
368
|
if self._time_options.get("lfoa"):
|
|
376
369
|
lfoa = self._time_options.get("lfoa")
|
|
377
370
|
|
|
371
|
+
for e in self._essences:
|
|
372
|
+
current_timing = e.payload.get("timing_info") or {}
|
|
373
|
+
new_timing = dict(current_timing)
|
|
374
|
+
if not new_timing.get("ffoa_timecode"):
|
|
375
|
+
new_timing["ffoa_timecode"] = ffoa
|
|
376
|
+
if not new_timing.get("lfoa_timecode"):
|
|
377
|
+
new_timing["lfoa_timecode"] = lfoa
|
|
378
|
+
if not new_timing.get("source_frame_rate"):
|
|
379
|
+
new_timing["source_frame_rate"] = fr
|
|
380
|
+
e.payload["timing_info"] = new_timing
|
|
381
|
+
|
|
378
382
|
sources = [e.dict() for e in self._essences]
|
|
379
383
|
|
|
380
384
|
start_time = self._time_options.get("start_time")
|
coda/sdk/workflow.py
CHANGED
|
@@ -995,7 +995,10 @@ class WorkflowDefinitionBuilder:
|
|
|
995
995
|
venues = []
|
|
996
996
|
for block_id in blist:
|
|
997
997
|
block = self._process_blocks[block_id]
|
|
998
|
-
|
|
998
|
+
venue_type = block.get("output_settings").get("venue")
|
|
999
|
+
venue = self._ALL_FROM_ESSENCE if venue_type == self._SAME_AS_INPUT else venue_type
|
|
1000
|
+
venues.append(venue)
|
|
1001
|
+
|
|
999
1002
|
for fr_original in output_frame_rates:
|
|
1000
1003
|
for f_original in output_formats:
|
|
1001
1004
|
for t_original in output_stem_types:
|
|
@@ -1078,7 +1081,10 @@ class WorkflowDefinitionBuilder:
|
|
|
1078
1081
|
|
|
1079
1082
|
for block_id in blist:
|
|
1080
1083
|
block = self._process_blocks[block_id]
|
|
1081
|
-
|
|
1084
|
+
venue_type = block.get("output_settings").get("venue")
|
|
1085
|
+
venue = self._ALL_FROM_ESSENCE if venue_type == self._SAME_AS_INPUT else venue_type
|
|
1086
|
+
venues.append(venue)
|
|
1087
|
+
|
|
1082
1088
|
fmt = Format.ATMOS
|
|
1083
1089
|
fr = self._SAME_AS_INPUT if output_frame_rate == self._ALL_FROM_ESSENCE else output_frame_rate
|
|
1084
1090
|
st = self._SAME_AS_INPUT if output_stem_type == self._ALL_FROM_ESSENCE else output_stem_type
|
{sprocket_systems_coda_sdk-2.0.6.dist-info → sprocket_systems_coda_sdk-2.0.8.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sprocket-systems.coda.sdk
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.8
|
|
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>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
coda/__init__.py,sha256=vE1LP8NOlIPcHtFGopI2SkUBTkwyY8XPWQmGfz4PEzo,229
|
|
2
|
+
coda/sdk/__init__.py,sha256=wOCrh1piLbgLVOMhKuLFYA62n60IN89eXGHpFKwFAE4,691
|
|
3
|
+
coda/sdk/constants.py,sha256=DW-goGI4vTlt8KeR4z0sf89Duov4TgZdsjv1VJDuAQI,596
|
|
4
|
+
coda/sdk/enums.py,sha256=1l4pK8pNofV56WVAiQXitlY6m9iTfEv9I159GWkTZKE,6582
|
|
5
|
+
coda/sdk/essence.py,sha256=vSx2lp1I0yJvFNMcAWqF-I3BV9q_bRnZbtSEf_QArHg,20764
|
|
6
|
+
coda/sdk/job.py,sha256=WArS06ufJUZLDdx6wJHgwk2olYjtX3w_sJqPF_XEu6A,21538
|
|
7
|
+
coda/sdk/preset.py,sha256=OtaRVJU6luBBD_6Ehd8ZkcjXL_YVoXfziI14E-GS4Xw,8934
|
|
8
|
+
coda/sdk/utils.py,sha256=uC9hHJtMkGu3pLvJOwq9kIdf6r7KxMRAbzaRyf95EdQ,10565
|
|
9
|
+
coda/sdk/workflow.py,sha256=QpGvjkNuFKh5XyawC7HXyx-nmC4EKbdRc-6eIjaQ79Q,63171
|
|
10
|
+
coda/tc_tools.py,sha256=hEtVE6xtPqg93WfJ-lQdRQroPdQTkH5HkMLWCIkwIlo,22010
|
|
11
|
+
sprocket_systems_coda_sdk-2.0.8.dist-info/METADATA,sha256=AoA1LH1gdh3NEvIAWqWRYcWObwRLwVCXjwaHpR_LRvw,1106
|
|
12
|
+
sprocket_systems_coda_sdk-2.0.8.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
|
|
13
|
+
sprocket_systems_coda_sdk-2.0.8.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
|
|
14
|
+
sprocket_systems_coda_sdk-2.0.8.dist-info/licenses/LICENSE,sha256=wrFjizFlraIAPW8JIteGftNH2laAZBBRhdEnPVUsKTM,10198
|
|
15
|
+
sprocket_systems_coda_sdk-2.0.8.dist-info/RECORD,,
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
coda/__init__.py,sha256=e52umPb_buoXPUDoFPRK2lJpeuFNwbVGNfsRFwy5y3w,229
|
|
2
|
-
coda/sdk/__init__.py,sha256=wOCrh1piLbgLVOMhKuLFYA62n60IN89eXGHpFKwFAE4,691
|
|
3
|
-
coda/sdk/constants.py,sha256=HRWf8zE8IFVRy-2apsae4BSecXod3BsQiozaMkJkY88,674
|
|
4
|
-
coda/sdk/enums.py,sha256=1l4pK8pNofV56WVAiQXitlY6m9iTfEv9I159GWkTZKE,6582
|
|
5
|
-
coda/sdk/essence.py,sha256=x70SwSJWc95mHL8y9vHNc-hg5TDgy_TxPVykU7CVAqc,20414
|
|
6
|
-
coda/sdk/job.py,sha256=DfQGI9bKoji_dPLqVoAiufNKeupSDg_kdkNSfaLDhs0,21315
|
|
7
|
-
coda/sdk/preset.py,sha256=OtaRVJU6luBBD_6Ehd8ZkcjXL_YVoXfziI14E-GS4Xw,8934
|
|
8
|
-
coda/sdk/utils.py,sha256=uC9hHJtMkGu3pLvJOwq9kIdf6r7KxMRAbzaRyf95EdQ,10565
|
|
9
|
-
coda/sdk/workflow.py,sha256=4-r3hWUEabyzS1vA0Ql-1VY5FoQA3KNnWlhwqQ0umbw,62899
|
|
10
|
-
coda/tc_tools.py,sha256=hEtVE6xtPqg93WfJ-lQdRQroPdQTkH5HkMLWCIkwIlo,22010
|
|
11
|
-
sprocket_systems_coda_sdk-2.0.6.dist-info/METADATA,sha256=PRa_kJe7JPsmiRLHWuKhpHnnIjqcx8a9TLIGbu6QOVw,1106
|
|
12
|
-
sprocket_systems_coda_sdk-2.0.6.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
|
|
13
|
-
sprocket_systems_coda_sdk-2.0.6.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
|
|
14
|
-
sprocket_systems_coda_sdk-2.0.6.dist-info/licenses/LICENSE,sha256=wrFjizFlraIAPW8JIteGftNH2laAZBBRhdEnPVUsKTM,10198
|
|
15
|
-
sprocket_systems_coda_sdk-2.0.6.dist-info/RECORD,,
|
{sprocket_systems_coda_sdk-2.0.6.dist-info → sprocket_systems_coda_sdk-2.0.8.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|