vs-wobbly
A collection of VapourSynth functions for parsing and filtering wobbly files.
Full information on how every function works,
as well as a list of dependencies and links,
can be found in the docstrings of each function and class.
For further support,
drop by #dev in the JET Discord server.
How to install
Install vswobbly with the following command:
pip install vswobbly
How to use
Simplest way to use it is to pass a wobbly file (.wob) to WobblyProcessor.from_file(),
followed by calling apply().
from vswobbly import WobblyProcessor,
wob = WobblyProcessor.from_file('C:/path/to/wobbly.wob')
clip = wob.apply()
If you only need the parsed wobbly data,
you can use WobblyParser.from_file():
from vswobbly import WobblyParser
wob = WobblyParser.from_file('C:/path/to/wobbly.wob')
This will return a WobblyParser data class,
containing all the relevant data for video processing.
Note that metadata, information about wobbly's UI,
and wibbly parameters are currently excluded.
Strategies
Different "strategies" can be passed to WobblyProcessor
to change how certain problems are handled internally.
This package comes with a handful included.
For example, automatically handling combed frames with vinverse:
from vswobbly import WobblyProcessor, DecombVinverseStrategy
wob = WobblyProcessor.from_file(
'C:/path/to/wobbly.wob',
strategies=[DecombVinverseStrategy()]
)
clip = wob.apply()
Which would then run the DecombVinverseStrategy strategy on all combed frames.
This is written to be really flexible, and allow users to handle these problems however they see fit. To implement your own strategy, create a class and inherit from AbstractProcessingStrategy. Refer to the existing strategies and the docstrings of the abstract class for examples.
Note: For orphan field handling to be handled correctly, the strategy must have 'Orphan' in its name.
Metadata
Release files for vswobbly 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vswobbly-0.3.0.tar.gz | 23.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vswobbly-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.5 kB
Release files / vswobbly-0.3.0.tar.gz
| Download URL | vswobbly-0.3.0.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1c0ebdb54bc06670bae92518c18f165d7f080ab1e661ac3489a62bd1e3bc362
|
|
BLAKE2b-256 checksum How to use checksums |
f1bcabc93c318d3a589a97c0c41b26c672308936794b5a99ac53e4bd6e07d51e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 12, 2026.
Transparency logRelease files / vswobbly-0.3.0-py3-none-any.whl
| Download URL | vswobbly-0.3.0-py3-none-any.whl |
|---|---|
| Size | 34.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
923f21652d0f6cc40e982d1c9fe0e3ab861d2381f4cf621bfcf63e730cbe21c0
|
|
BLAKE2b-256 checksum How to use checksums |
e5efa9845e1e33ea1985b9580ab9fe732d9ca3186408627c771d1d2d0b8ef310
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 12, 2026.
Transparency log