vswobbly


Namevswobbly JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryWobbly Vapoursynth Functions.
upload_time2025-02-20 03:36:58
maintainerLightArrowsEXE
docs_urlNone
authorLightArrowsEXE
requires_python>=3.12
licenseNone
keywords
VCS
bugtrack_url
requirements VapourSynth vstools vsdeinterlace
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # vs-wobbly

<p align="center">
    <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/vswobbly">
    <a href="https://pypi.org/project/vswobbly/"><img alt="PyPI" src="https://img.shields.io/pypi/v/vswobbly"></a>
    <a href="https://github.com/Jaded-Encoding-Thaumaturgy/vs-wobbly/commits/master"><img alt="GitHub commits since tagged version" src="https://img.shields.io/github/commits-since/Jaded-Encoding-Thaumaturgy/vs-wobbly/latest"></a>
    <a href="https://github.com/Jaded-Encoding-Thaumaturgy/vs-wobbly/blob/master/LICENSE"><img alt="PyPI - License" src="https://img.shields.io/pypi/l/vswobbly"></a>
    <a href="https://discord.gg/XTpc6Fa9eB"><img alt="Discord" src="https://img.shields.io/discord/856381934052704266?label=discord"></a>
</p>

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](https://discord.gg/XTpc6Fa9eB).

## How to install

Install `vswobbly` with the following command:

```shell
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()`.

```python
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()`:

```python
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:

```python
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](./vswobbly/process/strategies/combed.py) 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](./vswobbly/process/strategies/abstract.py).
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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vswobbly",
    "maintainer": "LightArrowsEXE",
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": "LightArrowsReboot@gmail.com",
    "keywords": null,
    "author": "LightArrowsEXE",
    "author_email": "LightArrowsReboot@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/0a/09/3a958e838958fdcb0777e2fbc0b535f4ce1b96824c9c192c40069e754a7c/vswobbly-0.1.4.tar.gz",
    "platform": null,
    "description": "# vs-wobbly\n\n<p align=\"center\">\n    <img alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/vswobbly\">\n    <a href=\"https://pypi.org/project/vswobbly/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/vswobbly\"></a>\n    <a href=\"https://github.com/Jaded-Encoding-Thaumaturgy/vs-wobbly/commits/master\"><img alt=\"GitHub commits since tagged version\" src=\"https://img.shields.io/github/commits-since/Jaded-Encoding-Thaumaturgy/vs-wobbly/latest\"></a>\n    <a href=\"https://github.com/Jaded-Encoding-Thaumaturgy/vs-wobbly/blob/master/LICENSE\"><img alt=\"PyPI - License\" src=\"https://img.shields.io/pypi/l/vswobbly\"></a>\n    <a href=\"https://discord.gg/XTpc6Fa9eB\"><img alt=\"Discord\" src=\"https://img.shields.io/discord/856381934052704266?label=discord\"></a>\n</p>\n\nA collection of VapourSynth functions for parsing and filtering wobbly files.\nFull information on how every function works,\nas well as a list of dependencies and links,\ncan be found in the docstrings of each function and class.\nFor further support,\ndrop by `#dev` in the [JET Discord server](https://discord.gg/XTpc6Fa9eB).\n\n## How to install\n\nInstall `vswobbly` with the following command:\n\n```shell\npip install vswobbly\n```\n\n## How to use\n\nSimplest way to use it is to pass a wobbly file (`.wob`) to `WobblyProcessor.from_file()`,\nfollowed by calling `apply()`.\n\n```python\nfrom vswobbly import WobblyProcessor,\n\nwob = WobblyProcessor.from_file('C:/path/to/wobbly.wob')\nclip = wob.apply()\n```\n\nIf you only need the parsed wobbly data,\nyou can use `WobblyParser.from_file()`:\n\n```python\nfrom vswobbly import WobblyParser\n\nwob = WobblyParser.from_file('C:/path/to/wobbly.wob')\n```\n\nThis will return a `WobblyParser` data class,\ncontaining all the relevant data for video processing.\nNote that metadata, information about wobbly's UI,\nand wibbly parameters are currently excluded.\n\n### Strategies\n\nDifferent \"strategies\" can be passed to `WobblyProcessor`\nto change how certain problems are handled internally.\nThis package comes with a handful included.\n\nFor example,\nautomatically handling combed frames\nwith vinverse:\n\n```python\nfrom vswobbly import WobblyProcessor, DecombVinverseStrategy\n\nwob = WobblyProcessor.from_file(\n    'C:/path/to/wobbly.wob',\n    strategies=[DecombVinverseStrategy()]\n)\n\nclip = wob.apply()\n```\n\nWhich would then run the [DecombVinverseStrategy](./vswobbly/process/strategies/combed.py) strategy\non all combed frames.\n\nThis is written to be really flexible,\nand allow users to handle these problems however they see fit.\nTo implement your own strategy,\ncreate a class and inherit from [AbstractProcessingStrategy](./vswobbly/process/strategies/abstract.py).\nRefer to the existing strategies and the docstrings of the abstract class for examples.\n\nNote: For orphan field handling to be handled correctly,\nthe strategy *must* have 'Orphan' in its name.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Wobbly Vapoursynth Functions.",
    "version": "0.1.4",
    "project_urls": {
        "Contact": "https://discord.gg/XTpc6Fa9eB",
        "Source Code": "https://github.com/Jaded-Encoding-Thaumaturgy/vs-wobbly"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "48b3aa2ffef41aa50ceb00e787956e2ab52bce9da9d15055acbf709456b9e61d",
                "md5": "01c6e139fc59603a059dd05f2486610a",
                "sha256": "1bb569a2248433c10abd27de722d189f6c55871d508afcbe400f6a9326e29de2"
            },
            "downloads": -1,
            "filename": "vswobbly-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01c6e139fc59603a059dd05f2486610a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 32012,
            "upload_time": "2025-02-20T03:36:57",
            "upload_time_iso_8601": "2025-02-20T03:36:57.545166Z",
            "url": "https://files.pythonhosted.org/packages/48/b3/aa2ffef41aa50ceb00e787956e2ab52bce9da9d15055acbf709456b9e61d/vswobbly-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0a093a958e838958fdcb0777e2fbc0b535f4ce1b96824c9c192c40069e754a7c",
                "md5": "b8b21dcb1ea418a0ac9ee1b7f76eccdb",
                "sha256": "ec45de3eb9a356e5b652abb38db895976abc7a2e40822dbdb1419658113439e2"
            },
            "downloads": -1,
            "filename": "vswobbly-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "b8b21dcb1ea418a0ac9ee1b7f76eccdb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 22209,
            "upload_time": "2025-02-20T03:36:58",
            "upload_time_iso_8601": "2025-02-20T03:36:58.820253Z",
            "url": "https://files.pythonhosted.org/packages/0a/09/3a958e838958fdcb0777e2fbc0b535f4ce1b96824c9c192c40069e754a7c/vswobbly-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-20 03:36:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Jaded-Encoding-Thaumaturgy",
    "github_project": "vs-wobbly",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "VapourSynth",
            "specs": [
                [
                    ">=",
                    "70"
                ]
            ]
        },
        {
            "name": "vstools",
            "specs": [
                [
                    ">=",
                    "3.3.3"
                ]
            ]
        },
        {
            "name": "vsdeinterlace",
            "specs": [
                [
                    ">=",
                    "0.8.0"
                ]
            ]
        }
    ],
    "lcname": "vswobbly"
}
        
Elapsed time: 0.60074s