vswobbly


Namevswobbly JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryWobbly Vapoursynth Functions.
upload_time2024-12-06 07:20:38
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/07/3b/934590afba125568c10f6c6ed66d2df4ca3a53d218e3e85c8a7cd8b95ebc/vswobbly-0.1.3.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.3",
    "project_urls": {
        "Contact": "https://discord.gg/XTpc6Fa9eB",
        "Source Code": "https://github.com/Jaded-Encoding-Thaumaturgy/vs-wobbly"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3dad3d0b8de6d8e0acf5fcea79cc2f20c4fea707a5bb51c450541272e685048c",
                "md5": "5d59de23e747e714acbfc4eedfe1243d",
                "sha256": "4c94803048250ef7400b2bde253df72b2d5ad52ffc53de5a06ff4b8c2f6a1feb"
            },
            "downloads": -1,
            "filename": "vswobbly-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5d59de23e747e714acbfc4eedfe1243d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 31900,
            "upload_time": "2024-12-06T07:20:37",
            "upload_time_iso_8601": "2024-12-06T07:20:37.196298Z",
            "url": "https://files.pythonhosted.org/packages/3d/ad/3d0b8de6d8e0acf5fcea79cc2f20c4fea707a5bb51c450541272e685048c/vswobbly-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "073b934590afba125568c10f6c6ed66d2df4ca3a53d218e3e85c8a7cd8b95ebc",
                "md5": "49caee03005ba44efbcbaf19120173ba",
                "sha256": "d7ec7fd5d49fa4d9e1527ae3e7360a8a354a93b473f59b95205ef74114cfff74"
            },
            "downloads": -1,
            "filename": "vswobbly-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "49caee03005ba44efbcbaf19120173ba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 22002,
            "upload_time": "2024-12-06T07:20:38",
            "upload_time_iso_8601": "2024-12-06T07:20:38.379520Z",
            "url": "https://files.pythonhosted.org/packages/07/3b/934590afba125568c10f6c6ed66d2df4ca3a53d218e3e85c8a7cd8b95ebc/vswobbly-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-06 07:20:38",
    "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.47626s