sprocket-systems.coda.sdk 1.3.3__tar.gz → 2.0.6__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sprocket-systems.coda.sdk
3
- Version: 1.3.3
3
+ Version: 2.0.6
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>
@@ -9,18 +9,16 @@ License-File: LICENSE
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Intended Audience :: Developers
11
11
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.7
14
- Classifier: Programming Language :: Python :: 3.8
15
- Classifier: Programming Language :: Python :: 3.9
16
- Classifier: Programming Language :: Python :: 3.10
17
- Project-URL: Documentation, https://coda.sprocket.systems/docs/sdks/python/
18
- Requires-Python: >=3.7
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Project-URL: Documentation, https://v2.coda.sprocket.systems/docs/sdks/python/
15
+ Requires-Python: >=3.11
19
16
  Requires-Dist: requests
17
+ Requires-Dist: soundfile>=0.13.1
20
18
  Description-Content-Type: text/markdown
21
19
 
22
20
  # Coda Python SDK
23
21
 
24
22
  Coda provides a Python SDK that streamlines interactions with the core API. It provides the ability to define Coda workflows, create jobs, and run them.
25
23
 
26
- Please see [the documentation](https://coda.sprocket.systems/docs/sdks/python/) for more information.
24
+ Please see [the documentation](https://v2.coda.sprocket.systems/docs/sdks/python/) for more information.
@@ -2,4 +2,4 @@
2
2
 
3
3
  Coda provides a Python SDK that streamlines interactions with the core API. It provides the ability to define Coda workflows, create jobs, and run them.
4
4
 
5
- Please see [the documentation](https://coda.sprocket.systems/docs/sdks/python/) for more information.
5
+ Please see [the documentation](https://v2.coda.sprocket.systems/docs/sdks/python/) for more information.
@@ -5,7 +5,7 @@ description = "The Coda SDK provides a Python interface to define Coda workflows
5
5
  authors = [
6
6
  { name = "Sprocket Systems", email = "support@sprocket.systems" },
7
7
  ]
8
- requires-python = ">=3.7"
8
+ requires-python = ">=3.11"
9
9
  readme = "PYPI_README.md"
10
10
  license = "LicenseRef-Tomorrow-Open-Source-Technology-License-1.0"
11
11
  license-files = [
@@ -20,19 +20,17 @@ classifiers = [
20
20
  "Development Status :: 5 - Production/Stable",
21
21
  "Intended Audience :: Developers",
22
22
  "Topic :: Software Development :: Libraries :: Python Modules",
23
- "Programming Language :: Python :: 3",
24
- "Programming Language :: Python :: 3.7",
25
- "Programming Language :: Python :: 3.8",
26
- "Programming Language :: Python :: 3.9",
27
- "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
28
25
  ]
29
26
  dependencies = [
30
27
  "requests",
28
+ "soundfile>=0.13.1",
31
29
  ]
32
- version = "1.3.3"
30
+ version = "2.0.6"
33
31
 
34
32
  [project.urls]
35
- Documentation = "https://coda.sprocket.systems/docs/sdks/python/"
33
+ Documentation = "https://v2.coda.sprocket.systems/docs/sdks/python/"
36
34
 
37
35
  [build-system]
38
36
  requires = [
@@ -54,3 +52,8 @@ excludes = [
54
52
  "dev",
55
53
  "utilities",
56
54
  ]
55
+
56
+ [dependency-groups]
57
+ dev = [
58
+ "pydoc-markdown>=4.8.2",
59
+ ]
@@ -0,0 +1,5 @@
1
+ # The versions below will be replaced automatically in CI.
2
+ # You do not need to modify any of the versions below.
3
+ __version__ = "2.0.6"
4
+ CODA_APP_SUITE_VERSION = "+coda-2.0.12"
5
+ FINAL_VERSION = __version__ + CODA_APP_SUITE_VERSION
@@ -0,0 +1,27 @@
1
+ from .job import Job, JobPayloadBuilder
2
+ from .essence import Essence
3
+ from .workflow import WorkflowDefinition, WorkflowDefinitionBuilder
4
+ from .preset import Preset
5
+ from .enums import PresetType, SourceType, VenueType, InputFilter, Language, Format, StemType, FrameRate, InputStemType
6
+ from .utils import user_info, timing_info, get_channels
7
+
8
+ __all__ = [
9
+ "Job",
10
+ "JobPayloadBuilder",
11
+ "Essence",
12
+ "WorkflowDefinition",
13
+ "WorkflowDefinitionBuilder",
14
+ "Preset",
15
+ "PresetType",
16
+ "SourceType",
17
+ "VenueType",
18
+ "InputStemType",
19
+ "InputFilter",
20
+ "Language",
21
+ "Format",
22
+ "StemType",
23
+ "FrameRate",
24
+ "user_info",
25
+ "get_channels",
26
+ "timing_info",
27
+ ]
@@ -0,0 +1,22 @@
1
+ """Constants used throughout the Coda SDK."""
2
+
3
+ # Environment Variable Names
4
+ ENV_CODA_API_GROUP_ID = "CODA_API_GROUP_ID"
5
+ ENV_CODA_API_URL = "CODA_API_URL"
6
+ ENV_CODA_API_TOKEN = "CODA_API_TOKEN"
7
+ ENV_CODA_API_INSECURE_SKIP_VERIFY = "CODA_API_INSECURE_SKIP_VERIFY"
8
+ ENV_CODA_CLI_EXE = "CODA_CLI_EXE"
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
+
13
+ # Default Values
14
+ DEFAULT_API_URL = "https://v2.coda.sprocket.systems"
15
+ DEFAULT_PROGRAM_ID = "program-1"
16
+ DEFAULT_BIT_DEPTH = 24
17
+ DEFAULT_SAMPLE_RATE = 48000
18
+ INSECURE_SKIP_VERIFY_VALUES = ("true", "1", "yes")
19
+
20
+ # URL Prefixes
21
+ URL_PREFIX_S3 = "s3://"
22
+ URL_PREFIX_IO = "io://"
@@ -0,0 +1,270 @@
1
+ from enum import StrEnum
2
+
3
+
4
+ class PresetType(StrEnum):
5
+ """Enums for the different types of presets available in Coda."""
6
+
7
+ JOBS = "jobs"
8
+ WORKFLOWS = "workflows"
9
+ LOUDNESS = "loudness"
10
+ TIMECODE = "timecode"
11
+ GROUPS = "groups"
12
+ NAMING = "naming"
13
+ DOLBY = "dolby"
14
+ DTS = "dts"
15
+ SUPER_SESSION = "super_session"
16
+ IO_LOCATIONS = "io_locations"
17
+
18
+
19
+ class SourceType(StrEnum):
20
+ """Enums for the different types of input sources for a job."""
21
+
22
+ INTERLEAVED = "interleaved"
23
+ MULTI_MONO = "multi_mono"
24
+ ADM = "bwav_adm"
25
+ IAB_MXF = "iab_mxf"
26
+
27
+
28
+ class VenueType(StrEnum):
29
+ """Enums for the different venues supported."""
30
+
31
+ NEARFIELD = "nearfield"
32
+ THEATRICAL = "theatrical"
33
+ ALL_FROM_ESSENCE = "all_from_essence"
34
+ SAME_AS_INPUT = "same_as_input"
35
+
36
+
37
+ class InputFilter(StrEnum):
38
+ """Enums for the input filters used in workflow process blocks."""
39
+
40
+ ALL_STEMS = "all_stems"
41
+ ALL_STEMS_EXCEPT_OPTIONALS = "all_stems_except_optionals"
42
+ ALL_DX = "all_dx"
43
+ ALL_MX = "all_mx"
44
+ ALL_FX = "all_fx"
45
+ MNE_STEMS = "m&e_stems"
46
+ OPTIONALS_ONLY = "optionals_only"
47
+ PRINTMASTER_ONLY = "printmaster_only"
48
+
49
+
50
+ class Language(StrEnum):
51
+ """Enums for language codes."""
52
+
53
+ NO_LINGUISTIC_CONTENT = "ZXX"
54
+ QUALIFIED_FOR_ALL_LANGUAGES = "QAL"
55
+ SEMI_TEXTLESS = "STX"
56
+ ENGLISH = "ENG"
57
+ AFRIKAANS = "AFK"
58
+ ALBANIAN = "SQI"
59
+ AMERICAN_SIGN_LANGUAGE = "ASE"
60
+ ARABIC_MODERN_STANDARD = "MSA"
61
+ ARABIC_EGYPTIAN = "ARE"
62
+ ARABIC_UAE_LEBANON = "ARL"
63
+ ARABIC_CLASSICAL_FORMAL = "QCA"
64
+ ARABIC_SYRIAN = "ASY"
65
+ ARAMAIC = "ARC"
66
+ ARMENIAN = "HYE"
67
+ AZERBAIJANI = "AZE"
68
+ BELARUSIAN = "BEL"
69
+ BOSNIAN = "BOS"
70
+ BRITISH_SIGN_LANGUAGE = "BFI"
71
+ BULGARIAN = "BUL"
72
+ BURMESE = "BUR"
73
+ CATALAN_VALENCIAN = "SCA"
74
+ CHEROKEE = "CHR"
75
+ CHINESE_CANTONESE = "CNT"
76
+ CHINESE_MANDARIN_PRC = "PRC"
77
+ CHINESE_MANDARIN_TAIWAN = "QMT"
78
+ CHINESE_MIN_NAN = "TAI"
79
+ CHINESE_SIMPLIFIED_CHARACTERS = "CMN"
80
+ CHINESE_SIMPLIFIED_CHARACTERS_MALAYSIA = "ZM1"
81
+ CHINESE_SIMPLIFIED_CHARACTERS_PRC = "CN1"
82
+ CHINESE_SIMPLIFIED_CHARACTERS_SINGAPORE = "ZS1"
83
+ CHINESE_TRADITIONAL_CHARACTERS = "CM1"
84
+ CHINESE_TRADITIONAL_CHARACTERS_HONG_KONG = "YU1"
85
+ CHINESE_TRADITIONAL_CHARACTERS_TAIWAN = "ZT1"
86
+ CHINESE_WU = "WUU"
87
+ CHOCTAW = "CHO"
88
+ COMANCHE = "COM"
89
+ CROATIAN = "CRO"
90
+ CZECH = "CZE"
91
+ DANISH = "DAN"
92
+ DUTCH = "DUT"
93
+ DUTCH_FLEMISH = "DFD"
94
+ ENGLISH_AUSTRALIAN = "AUS"
95
+ ENGLISH_BRITISH = "EUK"
96
+ ENGLISH_FOR_INDONESIA = "ENI"
97
+ ENGLISH_FOR_PHILIPPINES = "ENP"
98
+ ESTONIAN = "EST"
99
+ FARSI_PERSIAN = "PER"
100
+ FINNISH = "FIN"
101
+ FLEMISH = "FLM"
102
+ FRENCH_CANADIAN_QUEBECOIS = "FRC"
103
+ FRENCH_FRANCE = "FRP"
104
+ GEORGIAN = "GEO"
105
+ GERMAN = "GER"
106
+ GERMAN_AUSTRIAN = "AST"
107
+ GERMAN_SWISS_ALSATIAN = "SWI"
108
+ GREEK_MODERN = "GRK"
109
+ HAWAIIAN = "HAW"
110
+ HEBREW = "HEB"
111
+ HINDI = "HIN"
112
+ HUNGARIAN = "HUN"
113
+ ICELANDIC = "ICE"
114
+ INDONESIAN_BAHASA = "INB"
115
+ ITALIAN = "ITA"
116
+ JAPANESE = "JPN"
117
+ KANNADA = "KAN"
118
+ KAZAKH = "KAZ"
119
+ KOREAN = "KOR"
120
+ LAKOTA = "LKT"
121
+ LATIN = "LAT"
122
+ LATVIAN = "LTV"
123
+ LITHUANIAN = "LTH"
124
+ LUXEMBOURGISH = "LTZ"
125
+ MACEDONIAN = "MAS"
126
+ MALAY_BAHASA = "MAB"
127
+ MALAYALAM = "MYM"
128
+ MAORI = "MAO"
129
+ MOHAWK = "MOH"
130
+ MONGOLIAN = "MON"
131
+ NORTHERN_SAMI = "SME"
132
+ NORWEGIAN = "NOR"
133
+ OJIBWE = "OJI"
134
+ PANJABI = "PAN"
135
+ POLISH = "POL"
136
+ PORTUGUESE_BRAZILIAN = "PTB"
137
+ PORTUGUESE_EUROPEAN = "PTE"
138
+ PUSHTO = "PUS"
139
+ ROMANIAN_MOLDAVIAN = "ROM"
140
+ RUSSIAN = "RUS"
141
+ SERBIAN = "SER"
142
+ SLAVIC = "SLA"
143
+ SLOVAK = "SLK"
144
+ SLOVENIAN = "SLV"
145
+ SOMALI = "SOM"
146
+ SPANISH_ARGENTINIAN = "SPA"
147
+ SPANISH_CASTILIAN = "SPC"
148
+ SPANISH_CHILEAN = "ECH"
149
+ SPANISH_LATIN_AMERICAN = "LAS"
150
+ SPANISH_MEXICAN = "SPM"
151
+ SWEDISH = "SWE"
152
+ TAGALOG = "TAG"
153
+ TAIWANESE_MIN_NAN = "TAI"
154
+ TAMIL = "TAM"
155
+ TELUGU = "TEL"
156
+ THAI = "THA"
157
+ THAI_ISAN = "TTS"
158
+ TURKISH = "TUR"
159
+ UKRAINIAN = "UKR"
160
+ URDU = "URD"
161
+ VIETNAMESE = "VIE"
162
+ UNDETERMINED = "UND"
163
+
164
+
165
+ class Format(StrEnum):
166
+ """Enums for supported audio channel configurations."""
167
+
168
+ ONE_ZERO = "1.0"
169
+ TWO_ZERO = "2.0"
170
+ THREE_ZERO = "3.0"
171
+ LCRS = "LCRS"
172
+ FIVE_ZERO = "5.0"
173
+ FIVE_ZERO_TWO = "5.0.2"
174
+ SEVEN_ZERO = "7.0"
175
+ SEVEN_ONE = "7.1"
176
+ FIVE_ONE = "5.1"
177
+ FIVE_ONE_ONE = "5.1.1"
178
+ FIVE_ONE_TWO = "5.1.2"
179
+ FIVE_ZERO_FOUR = "5.0.4"
180
+ SEVEN_ZERO_TWO = "7.0.2"
181
+ FIVE_ONE_FOUR = "5.1.4"
182
+ SEVEN_ONE_TWO = "7.1.2"
183
+ SEVEN_ZERO_FOUR = "7.0.4"
184
+ SEVEN_ONE_FOUR = "7.1.4"
185
+ SEVEN_ONE_FIVE = "7.1.5"
186
+ SEVEN_ZERO_SIX = "7.0.6"
187
+ NINE_ZERO_FOUR = "9.0.4"
188
+ SEVEN_ONE_SIX = "7.1.6"
189
+ NINE_ONE_FOUR = "9.1.4"
190
+ NINE_ZERO_SIX = "9.0.6"
191
+ NINE_ONE_SIX = "9.1.6"
192
+ IMAX5 = "imax5"
193
+ IMAX6 = "imax6"
194
+ IMAX12 = "imax12"
195
+ ATMOS = "atmos"
196
+ ALL_FROM_ESSENCE = "all_from_essence"
197
+
198
+
199
+ class StemType(StrEnum):
200
+ """Enums for stem types."""
201
+
202
+ PRINTMASTER = "printmaster"
203
+ MNE = "mne"
204
+ DME = "dme"
205
+ WIDES = "wides"
206
+ ALL_FROM_ESSENCE = "all_from_essence"
207
+
208
+
209
+ class FrameRate(StrEnum):
210
+ """Enums for frame rates."""
211
+
212
+ TWENTY_THREE = "23"
213
+ TWENTY_FOUR = "24"
214
+ TWENTY_FIVE = "25"
215
+ TWENTY_NINE = "29"
216
+ TWENTY_NINE_DROP_FRAME = "29DF"
217
+ THIRTY = "30"
218
+ ALL_FROM_ESSENCE = "all_from_essence"
219
+
220
+
221
+ class InputStemType(StrEnum):
222
+ """Enums for input source stem types."""
223
+
224
+ PRINTMASTER = "audio/pm"
225
+ DX_COMP = "audio/dxcomp"
226
+ FX_COMP = "audio/fxcomp"
227
+ MX_COMP = "audio/mxcomp"
228
+ DX = "audio/dx"
229
+ MX = "audio/mx"
230
+ FX = "audio/fx"
231
+ BG = "audio/bg"
232
+ FOL = "audio/fol"
233
+ LG = "audio/lg"
234
+ PFX = "audio/pfx"
235
+ ADR = "audio/adr"
236
+ SONG = "audio/sng"
237
+ SCORE = "audio/scr"
238
+ VOX = "audio/vox"
239
+ FIX = "audio/fix"
240
+ FFFX = "audio/fffx"
241
+ MNE = "audio/mne"
242
+ MNE_MX = "audio/mnemx"
243
+ OPT_A = "audio/opta"
244
+ OPT_B = "audio/optb"
245
+ OPT_C = "audio/optc"
246
+ OPT_D = "audio/optd"
247
+ OPT_E = "audio/opte"
248
+ OPT_F = "audio/optf"
249
+ OPT_G = "audio/optg"
250
+ AUDIO_DESCRIPTION = "audio/audiodescription"
251
+ ARCH = "audio/arch"
252
+ VO = "audio/vo"
253
+ CRD = "audio/crd"
254
+ NAR = "audio/nar"
255
+
256
+
257
+ class PackageType(StrEnum):
258
+ """Enums for the different types of packages that can be created in a workflow."""
259
+
260
+ ADM = "adm"
261
+ DTS = "dts"
262
+ IMAX_ENHANCED = "imax_enhanced"
263
+ DOLBY = "dolby"
264
+ DCP_MXF = "dcp_mxf"
265
+ MULTI_MONO_REELS = "multi_mono_reels"
266
+ SUPER_SESSION = "super_session"
267
+ INTERLEAVED = "interleaved"
268
+ MOV = "mov"
269
+ MULTI_MONO = "multi_mono"
270
+ # IAB_MXF = "iab_mxf"