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.
- typed_ffmpeg/__init__.py +4 -1
- typed_ffmpeg/_version.py +2 -2
- typed_ffmpeg/base.py +4 -1
- typed_ffmpeg/codecs/__init__.py +2 -0
- typed_ffmpeg/codecs/decoders.py +1852 -1853
- typed_ffmpeg/codecs/encoders.py +2001 -1782
- typed_ffmpeg/codecs/schema.py +6 -12
- typed_ffmpeg/common/__init__.py +1 -0
- typed_ffmpeg/common/cache.py +9 -6
- typed_ffmpeg/common/schema.py +11 -0
- typed_ffmpeg/common/serialize.py +13 -7
- typed_ffmpeg/compile/__init__.py +1 -0
- typed_ffmpeg/compile/compile_cli.py +23 -4
- typed_ffmpeg/compile/compile_json.py +4 -0
- typed_ffmpeg/compile/compile_python.py +15 -0
- typed_ffmpeg/compile/context.py +15 -4
- typed_ffmpeg/compile/validate.py +4 -3
- typed_ffmpeg/dag/factory.py +2 -0
- typed_ffmpeg/dag/global_runnable/__init__.py +1 -0
- typed_ffmpeg/dag/global_runnable/global_args.py +2 -2
- typed_ffmpeg/dag/global_runnable/runnable.py +6 -2
- typed_ffmpeg/dag/io/__init__.py +1 -0
- typed_ffmpeg/dag/io/_input.py +20 -5
- typed_ffmpeg/dag/io/_output.py +24 -9
- typed_ffmpeg/dag/io/output_args.py +21 -7
- typed_ffmpeg/dag/nodes.py +20 -0
- typed_ffmpeg/dag/schema.py +19 -6
- typed_ffmpeg/dag/utils.py +2 -2
- typed_ffmpeg/exceptions.py +2 -1
- typed_ffmpeg/expressions.py +884 -0
- typed_ffmpeg/ffprobe/__init__.py +1 -0
- typed_ffmpeg/ffprobe/parse.py +7 -1
- typed_ffmpeg/ffprobe/probe.py +3 -1
- typed_ffmpeg/ffprobe/schema.py +83 -1
- typed_ffmpeg/ffprobe/xml2json.py +8 -2
- typed_ffmpeg/filters.py +540 -631
- typed_ffmpeg/formats/__init__.py +2 -0
- typed_ffmpeg/formats/demuxers.py +1869 -1921
- typed_ffmpeg/formats/muxers.py +1382 -1107
- typed_ffmpeg/formats/schema.py +6 -12
- typed_ffmpeg/info.py +8 -0
- typed_ffmpeg/options/__init__.py +15 -0
- typed_ffmpeg/options/codec.py +711 -0
- typed_ffmpeg/options/format.py +196 -0
- typed_ffmpeg/options/framesync.py +43 -0
- typed_ffmpeg/options/timeline.py +22 -0
- typed_ffmpeg/schema.py +15 -0
- typed_ffmpeg/sources.py +392 -381
- typed_ffmpeg/streams/__init__.py +2 -0
- typed_ffmpeg/streams/audio.py +1071 -882
- typed_ffmpeg/streams/av.py +9 -3
- typed_ffmpeg/streams/subtitle.py +3 -3
- typed_ffmpeg/streams/video.py +1873 -1725
- typed_ffmpeg/types.py +3 -2
- typed_ffmpeg/utils/__init__.py +1 -0
- typed_ffmpeg/utils/escaping.py +8 -4
- typed_ffmpeg/utils/frozendict.py +31 -1
- typed_ffmpeg/utils/lazy_eval/__init__.py +1 -0
- typed_ffmpeg/utils/lazy_eval/operator.py +75 -27
- typed_ffmpeg/utils/lazy_eval/schema.py +176 -4
- typed_ffmpeg/utils/run.py +2 -0
- typed_ffmpeg/utils/snapshot.py +1 -0
- typed_ffmpeg/utils/typing.py +2 -1
- typed_ffmpeg/utils/view.py +2 -1
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/METADATA +1 -1
- typed_ffmpeg_compatible-3.6.dist-info/RECORD +73 -0
- typed_ffmpeg_compatible-3.5.2.dist-info/RECORD +0 -67
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/WHEEL +0 -0
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/entry_points.txt +0 -0
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/licenses/LICENSE +0 -0
- {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
|
-
|
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
|
-
|
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
|
-
|
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)})
|
typed_ffmpeg/utils/snapshot.py
CHANGED
typed_ffmpeg/utils/typing.py
CHANGED
@@ -13,7 +13,7 @@ V = TypeVar("V")
|
|
13
13
|
|
14
14
|
def override(func: V) -> V:
|
15
15
|
"""
|
16
|
-
|
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
|
typed_ffmpeg/utils/view.py
CHANGED
@@ -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.
|
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,,
|
File without changes
|
{typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/entry_points.txt
RENAMED
File without changes
|
{typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
{typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/top_level.txt
RENAMED
File without changes
|