typed-ffmpeg-compatible 3.5.2__py3-none-any.whl → 3.6__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.
Files changed (71) hide show
  1. typed_ffmpeg/__init__.py +4 -1
  2. typed_ffmpeg/_version.py +2 -2
  3. typed_ffmpeg/base.py +4 -1
  4. typed_ffmpeg/codecs/__init__.py +2 -0
  5. typed_ffmpeg/codecs/decoders.py +1852 -1853
  6. typed_ffmpeg/codecs/encoders.py +2001 -1782
  7. typed_ffmpeg/codecs/schema.py +6 -12
  8. typed_ffmpeg/common/__init__.py +1 -0
  9. typed_ffmpeg/common/cache.py +9 -6
  10. typed_ffmpeg/common/schema.py +11 -0
  11. typed_ffmpeg/common/serialize.py +13 -7
  12. typed_ffmpeg/compile/__init__.py +1 -0
  13. typed_ffmpeg/compile/compile_cli.py +23 -4
  14. typed_ffmpeg/compile/compile_json.py +4 -0
  15. typed_ffmpeg/compile/compile_python.py +15 -0
  16. typed_ffmpeg/compile/context.py +15 -4
  17. typed_ffmpeg/compile/validate.py +4 -3
  18. typed_ffmpeg/dag/factory.py +2 -0
  19. typed_ffmpeg/dag/global_runnable/__init__.py +1 -0
  20. typed_ffmpeg/dag/global_runnable/global_args.py +2 -2
  21. typed_ffmpeg/dag/global_runnable/runnable.py +6 -2
  22. typed_ffmpeg/dag/io/__init__.py +1 -0
  23. typed_ffmpeg/dag/io/_input.py +20 -5
  24. typed_ffmpeg/dag/io/_output.py +24 -9
  25. typed_ffmpeg/dag/io/output_args.py +21 -7
  26. typed_ffmpeg/dag/nodes.py +20 -0
  27. typed_ffmpeg/dag/schema.py +19 -6
  28. typed_ffmpeg/dag/utils.py +2 -2
  29. typed_ffmpeg/exceptions.py +2 -1
  30. typed_ffmpeg/expressions.py +884 -0
  31. typed_ffmpeg/ffprobe/__init__.py +1 -0
  32. typed_ffmpeg/ffprobe/parse.py +7 -1
  33. typed_ffmpeg/ffprobe/probe.py +3 -1
  34. typed_ffmpeg/ffprobe/schema.py +83 -1
  35. typed_ffmpeg/ffprobe/xml2json.py +8 -2
  36. typed_ffmpeg/filters.py +540 -631
  37. typed_ffmpeg/formats/__init__.py +2 -0
  38. typed_ffmpeg/formats/demuxers.py +1869 -1921
  39. typed_ffmpeg/formats/muxers.py +1382 -1107
  40. typed_ffmpeg/formats/schema.py +6 -12
  41. typed_ffmpeg/info.py +8 -0
  42. typed_ffmpeg/options/__init__.py +15 -0
  43. typed_ffmpeg/options/codec.py +711 -0
  44. typed_ffmpeg/options/format.py +196 -0
  45. typed_ffmpeg/options/framesync.py +43 -0
  46. typed_ffmpeg/options/timeline.py +22 -0
  47. typed_ffmpeg/schema.py +15 -0
  48. typed_ffmpeg/sources.py +392 -381
  49. typed_ffmpeg/streams/__init__.py +2 -0
  50. typed_ffmpeg/streams/audio.py +1071 -882
  51. typed_ffmpeg/streams/av.py +9 -3
  52. typed_ffmpeg/streams/subtitle.py +3 -3
  53. typed_ffmpeg/streams/video.py +1873 -1725
  54. typed_ffmpeg/types.py +3 -2
  55. typed_ffmpeg/utils/__init__.py +1 -0
  56. typed_ffmpeg/utils/escaping.py +8 -4
  57. typed_ffmpeg/utils/frozendict.py +31 -1
  58. typed_ffmpeg/utils/lazy_eval/__init__.py +1 -0
  59. typed_ffmpeg/utils/lazy_eval/operator.py +75 -27
  60. typed_ffmpeg/utils/lazy_eval/schema.py +176 -4
  61. typed_ffmpeg/utils/run.py +2 -0
  62. typed_ffmpeg/utils/snapshot.py +1 -0
  63. typed_ffmpeg/utils/typing.py +2 -1
  64. typed_ffmpeg/utils/view.py +2 -1
  65. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/METADATA +1 -1
  66. typed_ffmpeg_compatible-3.6.dist-info/RECORD +73 -0
  67. typed_ffmpeg_compatible-3.5.2.dist-info/RECORD +0 -67
  68. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/WHEEL +0 -0
  69. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/entry_points.txt +0 -0
  70. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/licenses/LICENSE +0 -0
  71. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/top_level.txt +0 -0
@@ -31,86 +31,247 @@ class LazyValue(ABC):
31
31
  """
32
32
 
33
33
  def __add__(self, v: Any) -> LazyValue:
34
+ """
35
+ Create an addition operation with this value and another.
36
+
37
+ Args:
38
+ v: The value to add
39
+
40
+ Returns:
41
+ A new LazyValue representing the addition operation
42
+
43
+ """
34
44
  from .operator import Add
35
45
 
36
46
  return Add(left=self, right=v)
37
47
 
38
48
  def __radd__(self, v: Any) -> LazyValue:
49
+ """
50
+ Create an addition operation with another value and this one.
51
+
52
+ Args:
53
+ v: The value to add
54
+
55
+ Returns:
56
+ A new LazyValue representing the addition operation
57
+
58
+ """
39
59
  from .operator import Add
40
60
 
41
61
  return Add(left=v, right=self)
42
62
 
43
63
  def __sub__(self, v: Any) -> LazyValue:
64
+ """
65
+ Create a subtraction operation with this value and another.
66
+
67
+ Args:
68
+ v: The value to subtract
69
+
70
+ Returns:
71
+ A new LazyValue representing the subtraction operation
72
+
73
+ """
44
74
  from .operator import Sub
45
75
 
46
76
  return Sub(left=self, right=v)
47
77
 
48
78
  def __rsub__(self, v: Any) -> LazyValue:
79
+ """
80
+ Create a subtraction operation with another value and this one.
81
+
82
+ Args:
83
+ v: The value to subtract from
84
+
85
+ Returns:
86
+ A new LazyValue representing the subtraction operation
87
+
88
+ """
49
89
  from .operator import Sub
50
90
 
51
91
  return Sub(left=v, right=self)
52
92
 
53
93
  def __mul__(self, v: Any) -> LazyValue:
94
+ """
95
+ Create a multiplication operation with this value and another.
96
+
97
+ Args:
98
+ v: The value to multiply by
99
+
100
+ Returns:
101
+ A new LazyValue representing the multiplication operation
102
+
103
+ """
54
104
  from .operator import Mul
55
105
 
56
106
  return Mul(left=self, right=v)
57
107
 
58
108
  def __rmul__(self, v: Any) -> LazyValue:
109
+ """
110
+ Create a multiplication operation with another value and this one.
111
+
112
+ Args:
113
+ v: The value to multiply by
114
+
115
+ Returns:
116
+ A new LazyValue representing the multiplication operation
117
+
118
+ """
59
119
  from .operator import Mul
60
120
 
61
121
  return Mul(left=v, right=self)
62
122
 
63
123
  def __truediv__(self, v: Any) -> LazyValue:
124
+ """
125
+ Create a division operation with this value and another.
126
+
127
+ Args:
128
+ v: The value to divide by
129
+
130
+ Returns:
131
+ A new LazyValue representing the division operation
132
+
133
+ """
64
134
  from .operator import TrueDiv
65
135
 
66
136
  return TrueDiv(left=self, right=v)
67
137
 
68
138
  def __rtruediv__(self, v: Any) -> LazyValue:
139
+ """
140
+ Create a division operation with another value and this one.
141
+
142
+ Args:
143
+ v: The value to divide
144
+
145
+ Returns:
146
+ A new LazyValue representing the division operation
147
+
148
+ """
69
149
  from .operator import TrueDiv
70
150
 
71
151
  return TrueDiv(left=v, right=self)
72
152
 
73
153
  def __pow__(self, v: Any) -> LazyValue:
154
+ """
155
+ Create an exponentiation operation with this value and another.
156
+
157
+ Args:
158
+ v: The exponent
159
+
160
+ Returns:
161
+ A new LazyValue representing the exponentiation operation
162
+
163
+ """
74
164
  from .operator import Pow
75
165
 
76
166
  return Pow(left=self, right=v)
77
167
 
78
168
  def __rpow__(self, v: Any) -> LazyValue:
169
+ """
170
+ Create an exponentiation operation with another value and this one.
171
+
172
+ Args:
173
+ v: The base
174
+
175
+ Returns:
176
+ A new LazyValue representing the exponentiation operation
177
+
178
+ """
79
179
  from .operator import Pow
80
180
 
81
181
  return Pow(left=v, right=self)
82
182
 
83
183
  def __neg__(self) -> LazyValue:
184
+ """
185
+ Create a negation operation for this value.
186
+
187
+ Returns:
188
+ A new LazyValue representing the negation operation
189
+
190
+ """
84
191
  from .operator import Neg
85
192
 
86
193
  return Neg(left=self)
87
194
 
88
195
  def __pos__(self) -> LazyValue:
196
+ """
197
+ Create a positive operation for this value.
198
+
199
+ Returns:
200
+ A new LazyValue representing the positive operation
201
+
202
+ """
89
203
  from .operator import Pos
90
204
 
91
205
  return Pos(left=self)
92
206
 
93
207
  def __abs__(self) -> LazyValue:
208
+ """
209
+ Create an absolute value operation for this value.
210
+
211
+ Returns:
212
+ A new LazyValue representing the absolute value operation
213
+
214
+ """
94
215
  from .operator import Abs
95
216
 
96
217
  return Abs(left=self)
97
218
 
98
219
  def __mod__(self, v: Any) -> LazyValue:
220
+ """
221
+ Create a modulo operation with this value and another.
222
+
223
+ Args:
224
+ v: The value to take modulo with
225
+
226
+ Returns:
227
+ A new LazyValue representing the modulo operation
228
+
229
+ """
99
230
  from .operator import Mod
100
231
 
101
232
  return Mod(left=self, right=v)
102
233
 
103
234
  def __rmod__(self, v: Any) -> LazyValue:
235
+ """
236
+ Create a modulo operation with another value and this one.
237
+
238
+ Args:
239
+ v: The value to take modulo of
240
+
241
+ Returns:
242
+ A new LazyValue representing the modulo operation
243
+
244
+ """
104
245
  from .operator import Mod
105
246
 
106
247
  return Mod(left=v, right=self)
107
248
 
108
249
  def __floordiv__(self, v: Any) -> LazyValue:
250
+ """
251
+ Create a floor division operation with this value and another.
252
+
253
+ Args:
254
+ v: The value to divide by
255
+
256
+ Returns:
257
+ A new LazyValue representing the floor division operation
258
+
259
+ """
109
260
  from .operator import FloorDiv
110
261
 
111
262
  return FloorDiv(left=self, right=v)
112
263
 
113
264
  def __rfloordiv__(self, v: Any) -> LazyValue:
265
+ """
266
+ Create a floor division operation with another value and this one.
267
+
268
+ Args:
269
+ v: The value to divide
270
+
271
+ Returns:
272
+ A new LazyValue representing the floor division operation
273
+
274
+ """
114
275
  from .operator import FloorDiv
115
276
 
116
277
  return FloorDiv(left=v, right=self)
@@ -127,6 +288,7 @@ class LazyValue(ABC):
127
288
 
128
289
  Raises:
129
290
  ValueError: If the lazy value is not ready to be evaluated.
291
+
130
292
  """
131
293
  v = self.partial(**values)
132
294
  if isinstance(v, LazyValue):
@@ -136,15 +298,15 @@ class LazyValue(ABC):
136
298
  @abstractmethod
137
299
  def partial(self, **values: Any) -> Any:
138
300
  """
139
- Partially evaluate the lazy value with the given values.
301
+ Evaluate the lazy value with the given values.
140
302
 
141
303
  Args:
142
304
  **values: Values to be used for evaluation.
143
305
 
144
306
  Returns:
145
307
  Any: The partially evaluated value.
146
- """
147
308
 
309
+ """
148
310
  ...
149
311
 
150
312
  def ready(self) -> bool:
@@ -158,6 +320,7 @@ class LazyValue(ABC):
158
320
  Returns:
159
321
  True if the lazy value can be evaluated without additional values,
160
322
  False otherwise
323
+
161
324
  """
162
325
  return not self.keys()
163
326
 
@@ -173,6 +336,7 @@ class LazyValue(ABC):
173
336
 
174
337
  Returns:
175
338
  A set of strings representing the required symbol names
339
+
176
340
  """
177
341
  ...
178
342
 
@@ -192,6 +356,7 @@ class Symbol(LazyValue):
192
356
 
193
357
  Attributes:
194
358
  key: The name of the variable this symbol represents
359
+
195
360
  """
196
361
 
197
362
  key: str
@@ -202,13 +367,14 @@ class Symbol(LazyValue):
202
367
 
203
368
  Returns:
204
369
  The symbol's key as a string
370
+
205
371
  """
206
372
  return str(self.key)
207
373
 
208
374
  @override
209
375
  def partial(self, **values: Any) -> Any:
210
376
  """
211
- Partially evaluate this symbol with the given values.
377
+ Evaluate this symbol with the given values.
212
378
 
213
379
  If the symbol's key is present in the values dictionary, returns the
214
380
  corresponding value. Otherwise, returns the symbol itself (unchanged).
@@ -218,6 +384,7 @@ class Symbol(LazyValue):
218
384
 
219
385
  Returns:
220
386
  The value for this symbol if available, otherwise the symbol itself
387
+
221
388
  """
222
389
  if self.key in values:
223
390
  return values[self.key]
@@ -232,6 +399,7 @@ class Symbol(LazyValue):
232
399
 
233
400
  Returns:
234
401
  A set containing the symbol's key
402
+
235
403
  """
236
404
  return {self.key}
237
405
 
@@ -254,6 +422,7 @@ class LazyOperator(LazyValue):
254
422
 
255
423
  Concrete implementations include:
256
424
  Add, Sub, Mul, TrueDiv, Pow, Neg, Pos, Abs, Mod, FloorDiv
425
+
257
426
  """
258
427
 
259
428
  left: Any = None
@@ -273,13 +442,14 @@ class LazyOperator(LazyValue):
273
442
 
274
443
  Returns:
275
444
  The result of applying the operation to the operands
445
+
276
446
  """
277
447
  ...
278
448
 
279
449
  @override
280
450
  def partial(self, **values: Any) -> Any:
281
451
  """
282
- Partially evaluate this operator with the given values.
452
+ Evaluate this operator with the given values.
283
453
 
284
454
  This method recursively evaluates the operands (which may themselves be
285
455
  LazyValues) with the provided values, then applies the operator's
@@ -292,6 +462,7 @@ class LazyOperator(LazyValue):
292
462
  The result of applying the operation to the partially evaluated operands,
293
463
  which may be a concrete value or another LazyValue if some symbols
294
464
  remain unevaluated
465
+
295
466
  """
296
467
  if isinstance(self.left, LazyValue):
297
468
  left = self.left.partial(**values)
@@ -316,6 +487,7 @@ class LazyOperator(LazyValue):
316
487
  Returns:
317
488
  A set of strings representing all symbol names required to
318
489
  fully evaluate this operator
490
+
319
491
  """
320
492
  r = set()
321
493
  if isinstance(self.left, LazyValue):
typed_ffmpeg/utils/run.py CHANGED
@@ -32,6 +32,7 @@ def command_line(args: list[str]) -> str:
32
32
  cmd = ["ffmpeg", "-i", "input file.mp4", "-c:v", "libx264"]
33
33
  print(command_line(cmd)) # 'ffmpeg -i "input file.mp4" -c:v libx264'
34
34
  ```
35
+
35
36
  """
36
37
  return " ".join(shlex.quote(arg) for arg in args)
37
38
 
@@ -60,5 +61,6 @@ def ignore_default(
60
61
  options = {"width": 1920, "height": 1080, "format": Default("yuv420p")}
61
62
  filtered = ignore_default(options) # {"width": 1920, "height": 1080}
62
63
  ```
64
+
63
65
  """
64
66
  return FrozenDict({k: v for k, v in kwargs.items() if not isinstance(v, Default)})
@@ -59,6 +59,7 @@ class DAGSnapshotExtension(JSONSnapshotExtension):
59
59
 
60
60
  Returns:
61
61
  The serialized representation of the DAG node
62
+
62
63
  """
63
64
  stream = Stream(node=data)
64
65
 
@@ -13,7 +13,7 @@ V = TypeVar("V")
13
13
 
14
14
  def override(func: V) -> V:
15
15
  """
16
- Decorator to indicate a method that overrides a method in a superclass.
16
+ Indicate a method that overrides a method in a superclass.
17
17
 
18
18
  This decorator serves as a placeholder until Python 3.12, which introduces
19
19
  a built-in @override decorator. Using this decorator helps with code clarity
@@ -38,5 +38,6 @@ def override(func: V) -> V:
38
38
  def method(self): # Correctly overrides Parent.method
39
39
  pass
40
40
  ```
41
+
41
42
  """
42
43
  return func
@@ -32,6 +32,7 @@ def _get_node_color(node: Node) -> str | None:
32
32
 
33
33
  Returns:
34
34
  A hex color string or None if no specific color is assigned
35
+
35
36
  """
36
37
  if isinstance(node, InputNode):
37
38
  color = "#99cc00"
@@ -72,8 +73,8 @@ def view(node: Node, format: Literal["png", "svg", "dot"]) -> str:
72
73
  graph_path = ffmpeg.utils.view(output, format="png")
73
74
  print(f"Graph visualization saved to {graph_path}")
74
75
  ```
75
- """
76
76
 
77
+ """
77
78
  try:
78
79
  import graphviz # type: ignore
79
80
  except ImportError:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: typed-ffmpeg-compatible
3
- Version: 3.5.2
3
+ Version: 3.6
4
4
  Summary: Modern Python FFmpeg wrappers offer comprehensive support for complex filters, complete with detailed typing and documentation.
5
5
  Author-email: lucemia <lucemia@gmail.com>
6
6
  License-Expression: MIT
@@ -0,0 +1,73 @@
1
+ typed_ffmpeg/__init__.py,sha256=oeMvHs-zZNS0BRey13UCwyaMhthxBrsWlmet2rXeKIw,1733
2
+ typed_ffmpeg/_version.py,sha256=zHozo5CInO1y8pIQ5L0CzIoB6_255ZDJd8Kizd5-AK8,506
3
+ typed_ffmpeg/base.py,sha256=Aq-eIkDfji8FMEGx17DCJCUnIT4wCQvbAA6rBMwW2dE,6312
4
+ typed_ffmpeg/exceptions.py,sha256=rNHAJZXkpUQNgAlnf-R8b4cYNEMkYNNH7NLg2pyk0G0,2475
5
+ typed_ffmpeg/expressions.py,sha256=oQnBqdkjB-1tuHxdf4udhye-qVcNsj1IeBI1t-hIeTg,19669
6
+ typed_ffmpeg/filters.py,sha256=TQAWvxxknFDLjauWL9tt9pQjEOVSGRH3Uey7tm8tAtA,137124
7
+ typed_ffmpeg/info.py,sha256=gnXfruqjy5KeIxcNRxy-GZRSpdOUQ8_oTn9RN79dCxA,9529
8
+ typed_ffmpeg/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ typed_ffmpeg/schema.py,sha256=xlF84RA-loeHLU0CQ1DgAujm1oop2wFuKZOfCqtDHY4,1854
10
+ typed_ffmpeg/sources.py,sha256=PWszm9xJ5s3U3s5JLre3SkgrKqc390EKhT6puG25Tpo,124617
11
+ typed_ffmpeg/types.py,sha256=Hz_pm1ZL5g_zAzy-3kTUOfSyoqkvcJ93zaYSA3fmkec,4271
12
+ typed_ffmpeg/codecs/__init__.py,sha256=EL82KdkvLHvxvKwV6nD5_kMbdOa34XHbIIBYKFOgy5c,117
13
+ typed_ffmpeg/codecs/decoders.py,sha256=fg3v-su1qq2w2nclNW5-o-vNV5GTbX_0VP_rBOk26FA,120176
14
+ typed_ffmpeg/codecs/encoders.py,sha256=Pa776BgFtO0MxGt77PP7HaPIfY5Plu2sxigcTIamQ-0,224069
15
+ typed_ffmpeg/codecs/schema.py,sha256=lJe4qWOzfWzrSy0ZYH8M8wSoe2vZYzxwu7mzdxURV6s,253
16
+ typed_ffmpeg/common/__init__.py,sha256=MOaoqb-pQq-OZGWfzLptwfGX6v3qDh3zUzncr_Vi_n4,39
17
+ typed_ffmpeg/common/cache.py,sha256=JxjvPujIUCs1SdqBhYsrucIWp6ShRSF8EF7hJPbmXrA,1429
18
+ typed_ffmpeg/common/schema.py,sha256=P618Bw4ngMhxvjuMkWUVy0EF-WveFWn2OmRP-tg1TiE,19762
19
+ typed_ffmpeg/common/serialize.py,sha256=8Ldy3Y7cb71a1Z-msSTp_ZNdcamGpunTBv-gTAd-r_c,7795
20
+ typed_ffmpeg/compile/__init__.py,sha256=arrUostAUZzB8cQujLg9xo8OOfB4eoU3CYObAAY198A,44
21
+ typed_ffmpeg/compile/compile_cli.py,sha256=aNRaJnno7ICF6NKoIGQqhTpldMuykCGQCxC5JiVqpnE,34234
22
+ typed_ffmpeg/compile/compile_json.py,sha256=Sp84ss73C5YnUsEmhoqzy-y-gVk8G8q6d3SSKD3YWvE,1048
23
+ typed_ffmpeg/compile/compile_python.py,sha256=psJMBL1SRfVzVM16k6jIh-2x991Ao_XR7wJbk8_twrA,11698
24
+ typed_ffmpeg/compile/context.py,sha256=UerSdy2xohgZbCnKGT0IgOndJa6kzDYmIVa4Xl3kXUw,10958
25
+ typed_ffmpeg/compile/validate.py,sha256=N1jT0iwh2oAk1_-2q5j68iJOUIkJbS_f27g9NcU3QMU,9615
26
+ typed_ffmpeg/dag/__init__.py,sha256=qAApSNqjbZ1DtUaV5bSku9RwG7MpMPa1HJO764cSBt4,849
27
+ typed_ffmpeg/dag/factory.py,sha256=fqVvurjCuOpU5z8nk20J5hlCqUaTV-xypf1LRgakyyQ,3149
28
+ typed_ffmpeg/dag/nodes.py,sha256=0uq_UVw6-tAW_mXsL_Reeq1ujNiqPWrLy51D9Z0kLdI,20655
29
+ typed_ffmpeg/dag/schema.py,sha256=tNOLoSUKR9qX8QqHDJN7RxzoHPpQaqm8TgwsN7Vt9bY,6111
30
+ typed_ffmpeg/dag/utils.py,sha256=n2yrn5dxL-wbXVKrjnZ4Vxy3Mrdl0g6zQ24WrhZr6M4,1943
31
+ typed_ffmpeg/dag/global_runnable/__init__.py,sha256=Luivk0kVYzOLixmJy1SSqu9AXZtRTwDt5rXI5ISFpzg,59
32
+ typed_ffmpeg/dag/global_runnable/global_args.py,sha256=fB1iw1VrrdqMelb_8O7WYGMF3NuoVvr6-UA2TzpG3kw,7824
33
+ typed_ffmpeg/dag/global_runnable/runnable.py,sha256=KJZuCI05fx4isD4xZHbVNDn0yYImY0Hw7b76uVIySis,12617
34
+ typed_ffmpeg/dag/io/__init__.py,sha256=KSxmqhZYVNbckRCCL575eUjV0GpyvV9EbwnmwGKHdbQ,56
35
+ typed_ffmpeg/dag/io/_input.py,sha256=v-g0lBHveGG1-NFp6ODL4QKjDdEVRfLcZghXZivl6nE,8237
36
+ typed_ffmpeg/dag/io/_output.py,sha256=48weTEWSLP7DVVYWSr8bnr_hHrcd_MgDGksw2GKPnEc,13646
37
+ typed_ffmpeg/dag/io/output_args.py,sha256=B0vHF2Mjv1T-R4rXUFQMbOvbCpNkU8obQlYPgLCYoRI,15232
38
+ typed_ffmpeg/ffprobe/__init__.py,sha256=XsPSdQyt12eJF3YF_5Rb101gjaBgvRasgO7gK4CyzZc,49
39
+ typed_ffmpeg/ffprobe/parse.py,sha256=FKYTp_18SsnQFvStsGFl1fV4bbDfDPVQ3n44-5QtmOE,3834
40
+ typed_ffmpeg/ffprobe/probe.py,sha256=iuGxqhxpNdFJb7SUDXl9gjR4CtGR4nzxJpWLTSH4_K4,10369
41
+ typed_ffmpeg/ffprobe/schema.py,sha256=iNTstGYEf_dFxJxqnuP7PI9EthR-TeK9zAnC0PN4vCs,15651
42
+ typed_ffmpeg/ffprobe/xml2json.py,sha256=hF4NHnILD1bIsMxKgurPutQU2wMLZR5ug8TisR5nH0o,2527
43
+ typed_ffmpeg/formats/__init__.py,sha256=4Ex3fieEe2zFEDIhzrTxuJ_DrH6Anuk-3dWwIQok9wQ,123
44
+ typed_ffmpeg/formats/demuxers.py,sha256=LN31P-fbDpCpBNOTAPB2ufovPfaXz9y6xMfd9WqjgSk,138320
45
+ typed_ffmpeg/formats/muxers.py,sha256=3n9YJxpWuxeltfWLBZTFbYaLSbE3_VDAqFlqH6mcknw,118359
46
+ typed_ffmpeg/formats/schema.py,sha256=REGhxLCAaWnydypw_XfErImk-_5zrpm02Im7a5J4vlM,250
47
+ typed_ffmpeg/options/__init__.py,sha256=7W5Z8OhbawlJPhR0qWHg0sGyNlTgj1UiBmTcXl2KirM,384
48
+ typed_ffmpeg/options/codec.py,sha256=l6z_d1niDGG6vChsOBMruo8G4q7LdNAK6Qd-s2MswIU,24820
49
+ typed_ffmpeg/options/format.py,sha256=Ng9a_2jwkNfNoPVTJQ0QIQd1x11MqP877rUdXZzZNtw,9024
50
+ typed_ffmpeg/options/framesync.py,sha256=7ETX6NuobAMPVDXrXZE6inoaznKmi2uqPuhAKbOSza8,1542
51
+ typed_ffmpeg/options/timeline.py,sha256=RFKsOCGWlhfmI5VKRJSc5R9eStHjQ8DCEdWvhHBtoAU,492
52
+ typed_ffmpeg/streams/__init__.py,sha256=ZPPQc0fMwSGKjAuMAY-N9QRLzAcPGrCJzsIkdWN4k0w,236
53
+ typed_ffmpeg/streams/audio.py,sha256=xo5CKu9ym82q0W-7OFB9vZzaWAEVugH-ftc1woG-qv0,286189
54
+ typed_ffmpeg/streams/av.py,sha256=OyRRhSOEDYC1WtcXxX6h4eCkgDw6b4jFOx7yyUXJ3iA,2627
55
+ typed_ffmpeg/streams/channel_layout.py,sha256=hGagaoc1tnWS8K1yiITp4f_92qq5e7C_zB15bHOL0DI,1162
56
+ typed_ffmpeg/streams/subtitle.py,sha256=f139Wt9OtExHjzSm64HdKYk8KyfXSuv0HjmBZhjOVtQ,165
57
+ typed_ffmpeg/streams/video.py,sha256=U17bBaPBgLAwALZT_QZFRTdVz7FXgyMKmX5ltyCUkvQ,519673
58
+ typed_ffmpeg/utils/__init__.py,sha256=YUl7EosqAlIpB153d39qj5fG4SVFcFG2XI4hRDxUBDQ,52
59
+ typed_ffmpeg/utils/escaping.py,sha256=cM0CJc6LNQ-1gZZ3D9-VmMPgBT6rqJA6G6OngK_c9XI,2965
60
+ typed_ffmpeg/utils/frozendict.py,sha256=TCzkxaS_lxTeBrIop8UNnzsnx_sXuM8ca2e2O2nZWlM,5047
61
+ typed_ffmpeg/utils/run.py,sha256=oTFoTx7oVs_SdLRYH3V2XQXQ9XNrt0qvCyBYKZbdLNY,2180
62
+ typed_ffmpeg/utils/snapshot.py,sha256=fYAirAhQq0De8MeEX5ESrKMZm9S2a1QEhEbxC4cb7ss,2259
63
+ typed_ffmpeg/utils/typing.py,sha256=WCc8JliIRNtuSxDnJU5aL1pIK0qJcAVELJ5EbTgjxDA,1175
64
+ typed_ffmpeg/utils/view.py,sha256=wbfHsX4vhXTGgvxvoLdlJgIXbWtzh5TohcMDVgZobGw,3485
65
+ typed_ffmpeg/utils/lazy_eval/__init__.py,sha256=_yEaOR9o5QerwmrLev_bGFB4cyWeEA_YvxE2WyToK2c,50
66
+ typed_ffmpeg/utils/lazy_eval/operator.py,sha256=w61XIH0kdJkGuo201837lqvKHStTHumOlvyDCm8Gu5o,5472
67
+ typed_ffmpeg/utils/lazy_eval/schema.py,sha256=Xn8ABlx_EK2hv6dsZ2Hu7nPRCzQFvMWxLPXEOgSLnSM,13329
68
+ typed_ffmpeg_compatible-3.6.dist-info/licenses/LICENSE,sha256=8Aaya5i_09Cou2i3QMxTwz6uHGzi_fGA4uhkco07-A4,1066
69
+ typed_ffmpeg_compatible-3.6.dist-info/METADATA,sha256=JRpsWlXyQFsSewJ-yMfE_gjT9Dxs-9T-LbEU9k3-Nzc,8383
70
+ typed_ffmpeg_compatible-3.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
+ typed_ffmpeg_compatible-3.6.dist-info/entry_points.txt,sha256=kUQvZ27paV-07qtkIFV-emKsYtjFOTw9kknBRSXPs04,45
72
+ typed_ffmpeg_compatible-3.6.dist-info/top_level.txt,sha256=vuASJGVRQiNmhWY1pt0RXESWSNkknWXqWLIRAU7H_L4,13
73
+ typed_ffmpeg_compatible-3.6.dist-info/RECORD,,
@@ -1,67 +0,0 @@
1
- typed_ffmpeg/__init__.py,sha256=6ULyAwFhDsIb03SeKRKArqYWlxfeOvRTGEI6vUUj774,1676
2
- typed_ffmpeg/_version.py,sha256=Os7iM-cbnpNkMbuTfkjwZkN72w6VSpuD0K5OQvMq66s,511
3
- typed_ffmpeg/base.py,sha256=JNNNnN-1A50i9zviR6uOjAs-bClCDx5qx9A5iSePBeI,6309
4
- typed_ffmpeg/exceptions.py,sha256=D4SID6WOwkjVV8O8mAjrEDHWn-8BRDnK_jteaDof1SY,2474
5
- typed_ffmpeg/filters.py,sha256=XY1LqXY6Ch1wOX-1XW3SzgwH3NQaAtSEQew6f3JoTeY,144001
6
- typed_ffmpeg/info.py,sha256=0KCzf8hJaI6ObPRT0uftLa96RlYvaQmoEq1sqFJSc24,9521
7
- typed_ffmpeg/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- typed_ffmpeg/schema.py,sha256=KVtmyGeJutjFot70r6Nj8W8WBqwvfg2-rSgjdhPVh-o,1615
9
- typed_ffmpeg/sources.py,sha256=gR8qH-Qf36X2veab4kh9ZE5CYu5K0Yz6eXzd0lCFdPE,122297
10
- typed_ffmpeg/types.py,sha256=jFx20tRgwpRimxXMO4kJvVW3uYIdwjPUz66db4bXfnM,4287
11
- typed_ffmpeg/codecs/__init__.py,sha256=qEqV-Oo2vG06WIAm3obcArK6ZBDWNP7_Kw6cszSGqb8,87
12
- typed_ffmpeg/codecs/decoders.py,sha256=4SS6r0j1Pa7s_Fut04OmLhFOZ1kVA7UPJNT-VPN6E-k,123234
13
- typed_ffmpeg/codecs/encoders.py,sha256=9n2FNEEBfpbtOKgDi6fOHEGVhbAzTEF_UoZDqqQzEmw,216605
14
- typed_ffmpeg/codecs/schema.py,sha256=d0OeLkJAHf6GwUjUFgr_1sR38mQOCUQns3aSmpX7EF8,451
15
- typed_ffmpeg/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- typed_ffmpeg/common/cache.py,sha256=j0JvfX7jewLpdJWxgo7Pwze0BkUJdYGHX2uGR8BZ-9M,1386
17
- typed_ffmpeg/common/schema.py,sha256=qM8yfMX9UU3EAQSNsTrr-SAmyqKx8eQCXTtu3RJWkEk,19673
18
- typed_ffmpeg/common/serialize.py,sha256=ECgnown2I6BpKK2xYxYKzBUE4tnWxDEyUiSvsymoG1I,7719
19
- typed_ffmpeg/compile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- typed_ffmpeg/compile/compile_cli.py,sha256=Gs1jJqQ2DUufOI220S4uPpREs2RWy7DWP2uhEEwnBW4,34094
21
- typed_ffmpeg/compile/compile_json.py,sha256=YCiTyfAnUVSbFr7BiQpmJYs13K5sa-xo77Iih33mb6I,992
22
- typed_ffmpeg/compile/compile_python.py,sha256=YnnRRHE8TEUiqFF9DsqkYOwIcA2ejCYw12k-O5n825A,11506
23
- typed_ffmpeg/compile/context.py,sha256=macQ3HhEJ73j_WbWYtU9GCQCzcB_KQGAPimcuU-WOac,10946
24
- typed_ffmpeg/compile/validate.py,sha256=BraermYPsQEHbrCPEriMDFVDr2Bo2KNxHgaGrpaUngg,9614
25
- typed_ffmpeg/dag/__init__.py,sha256=qAApSNqjbZ1DtUaV5bSku9RwG7MpMPa1HJO764cSBt4,849
26
- typed_ffmpeg/dag/factory.py,sha256=2IMVKP_2UaTrlGXBg8YDx5KXBqhpScJiJQ87PRrppzY,3147
27
- typed_ffmpeg/dag/nodes.py,sha256=TEBlG2299_sTjvt0eTbsULK6Ln8ndo1Z38ftNYUC5Lc,20526
28
- typed_ffmpeg/dag/schema.py,sha256=ZIW2RTdSa484akezWnREEZC5FgdTZHvVLYC-Vl6-dF8,5916
29
- typed_ffmpeg/dag/utils.py,sha256=hydh7_kjpOCw8WEGhXMxIXR4Ek-3DeoOt6esInuK2Xw,1941
30
- typed_ffmpeg/dag/global_runnable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- typed_ffmpeg/dag/global_runnable/global_args.py,sha256=PINtqw5QNDcZ9OC4w0frt-fWV8Yg6_We6w68dnXia94,7801
32
- typed_ffmpeg/dag/global_runnable/runnable.py,sha256=jvXMs8MOBrv29Jeg6Fmf0T5r8Jx493YxxWsgZQtW6dk,12613
33
- typed_ffmpeg/dag/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- typed_ffmpeg/dag/io/_input.py,sha256=NFr4leQWCQ6f1bj_o5jPli4UMRFfwcEZufU5BztFpm4,7826
35
- typed_ffmpeg/dag/io/_output.py,sha256=SfQCEtmGJKFmxbXXDlc7DaQpeNFNYVG9x6vDNVaFmhE,13232
36
- typed_ffmpeg/dag/io/output_args.py,sha256=dycw8BdwkP-koY5EMH46JvzW_Hybdzt2K3V5Y6dRJ3k,14770
37
- typed_ffmpeg/ffprobe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- typed_ffmpeg/ffprobe/parse.py,sha256=fq1cGFkUpUdvyVi3S-TAQ7qn-tXUdae6ADhymZt7-t4,3791
39
- typed_ffmpeg/ffprobe/probe.py,sha256=D_opsKp3OgT2HSBzhxgY1b9SIqXpDhz3xh_k9HUGux0,10367
40
- typed_ffmpeg/ffprobe/schema.py,sha256=PBgBWYGO8wKnI0Lae9oCJ1Nprhv2ciPkdLrumzPVllY,13631
41
- typed_ffmpeg/ffprobe/xml2json.py,sha256=1TSuxR7SYc-M_-JmE-1khHGbXCapgW0Oap9kzL0nwNg,2455
42
- typed_ffmpeg/formats/__init__.py,sha256=y6MdgOZyyFrQWafATLHeN_o0VLrHH266A9avGO5i8KM,83
43
- typed_ffmpeg/formats/demuxers.py,sha256=EqMySaTpmT3f8wOi_kuo4zCc73Sy5VRIvJ-98TYdpvY,143238
44
- typed_ffmpeg/formats/muxers.py,sha256=btevbmDQCEFV-8n4TiLWFd-48v-YlEZNw8Vcnoso81k,110447
45
- typed_ffmpeg/formats/schema.py,sha256=z3DrBsM_3azkutzMdXdN2DlYEVNsG7a7TV5jICyHqYY,452
46
- typed_ffmpeg/streams/__init__.py,sha256=32kiqBVigKH2EqS3cA6EfXCW8KpVdQNWSStAmQ0MktM,196
47
- typed_ffmpeg/streams/audio.py,sha256=_40HQ4B1Hc5VLzkq1oNdjgY4uuDZXjaRmMmE-0EZCkc,274665
48
- typed_ffmpeg/streams/av.py,sha256=qrsO692BG6OVMWVwIeuCKPntBGTR685lc2ULbGPTSkQ,2594
49
- typed_ffmpeg/streams/channel_layout.py,sha256=hGagaoc1tnWS8K1yiITp4f_92qq5e7C_zB15bHOL0DI,1162
50
- typed_ffmpeg/streams/subtitle.py,sha256=zhbRKUYH0C972Hurm4hK_dqLvT4Y6v_VNZFzQrkCm9A,141
51
- typed_ffmpeg/streams/video.py,sha256=_dPV_ZzXyNgu5MFr5W727t-SSbZo-gN3_w6OTELIouE,508354
52
- typed_ffmpeg/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- typed_ffmpeg/utils/escaping.py,sha256=m6CTEBwWZTFdtZHTHW-3pQCgkpdZb9f9ynoO-gsD7uM,2937
54
- typed_ffmpeg/utils/frozendict.py,sha256=oRlG0hQWIHhnYCrMeGQ6JE37yge_dB1gY3lDdoiJ0hw,4569
55
- typed_ffmpeg/utils/run.py,sha256=R3WSxEUdY-QmJnHT03VrvdUVQDyyI1QEiMw6Nz8AH1s,2178
56
- typed_ffmpeg/utils/snapshot.py,sha256=jqjG_Jgp6tL-gPislqpaLBM0b31D-ul9AI-LQ9EBeqw,2258
57
- typed_ffmpeg/utils/typing.py,sha256=DBQn_gCF8C_DTwsfMHeCgfnNUROwAjlIcHrQ7lNDOoE,1187
58
- typed_ffmpeg/utils/view.py,sha256=jiCKJnx-KVJh-uvhkADBQNlWH1uHPqyYgmSZ_iSEj0c,3484
59
- typed_ffmpeg/utils/lazy_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- typed_ffmpeg/utils/lazy_eval/operator.py,sha256=QWybd-UH3VdDa8kgWkqAMi3WV0b0WF1d1JixQr6is2E,4136
61
- typed_ffmpeg/utils/lazy_eval/schema.py,sha256=WSg-E3MS3itN1AT6Dq4Z9btnRHEReuN3o6zruXou7h4,9623
62
- typed_ffmpeg_compatible-3.5.2.dist-info/licenses/LICENSE,sha256=8Aaya5i_09Cou2i3QMxTwz6uHGzi_fGA4uhkco07-A4,1066
63
- typed_ffmpeg_compatible-3.5.2.dist-info/METADATA,sha256=-CodS0or09ivYNKLFawPFb4AVsi-FXjv89Wrk2wfWfg,8385
64
- typed_ffmpeg_compatible-3.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
- typed_ffmpeg_compatible-3.5.2.dist-info/entry_points.txt,sha256=kUQvZ27paV-07qtkIFV-emKsYtjFOTw9kknBRSXPs04,45
66
- typed_ffmpeg_compatible-3.5.2.dist-info/top_level.txt,sha256=vuASJGVRQiNmhWY1pt0RXESWSNkknWXqWLIRAU7H_L4,13
67
- typed_ffmpeg_compatible-3.5.2.dist-info/RECORD,,