vs-stubs


Namevs-stubs JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryTyping stubs for VapourSynth
upload_time2025-10-10 21:51:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.13
licenseMIT
keywords python stubs typing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # vs-stubs

**Typing stubs for [VapourSynth](http://www.vapoursynth.com/)**

`vs-stubs` provides Python type stubs for VapourSynth plugins and core functions. This helps editors, IDEs, and static type checkers (e.g. `mypy`, `pyright`) understand VapourSynth’s API.

---

## Installation

```bash
pip install vsstubs
```

---

## Usage

You can use `vsstubs` via the command line or as a Python module.

### Command Line

```bash
vsstubs
```

Example:

```bash
vsstubs -o output.pyi --template
```

### Python API

```python
from vsstubs import output_stubs

# Example usage
output_stubs(None, "output.pyi", template=True)
```

---

## CLI Reference

```
Usage: vsstubs [OPTIONS] COMMAND [ARGS]...

vs-stubs command line interface

╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --input               -i,-I      PATH  Path to the input .pyi file [default: None]   │
│ --output              -o,-O      PATH  Path to write the output .pyi file. Default   │
│                                        is vapoursynth-stubs/__init__.pyi inside the  │
│                                        site-package folder                           │
│ --template            -T               Export blank template; excludes existing      │
│                                        plugins unless --load or --add is used        │
│ --load                -L         PATH  Load plugins from a folder or a single        │
│                                        library file                                  │
│                                        [default: None]                               │
│ --check               -C               Check for new plugins or new plugin           │
│                                        signatures                                    │
│ --quiet                                Suppress non-error output                     │
│ --version             -V               Show version info and exit                    │
│ --install-completion                   Install completion for the current shell.     │
│ --show-completion                      Show completion for the current shell, to     │
│                                        copy it or customize the installation.        │
│ --help                                 Show this message and exit.                   │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────╮
│ add      Add or update the specified plugins in the stubs                            │
│ remove   Remove the specified plugins from the stubs                                 │
╰──────────────────────────────────────────────────────────────────────────────────────╯
```

---

## Examples

* Simply update the VapourSynth stubs:

  ```bash
  vsstubs
  ```

* Generate a template stubs:

  ```bash
  vsstubs -o out.pyi --template
  ```

* Add plugin stubs:

  ```bash
  vsstubs -i out.pyi -o out.pyi add resize2
  ```

* Remove plugin stubs:

  ```bash
  vsstubs -i out.pyi -o out.pyi remove resize2
  ```

---

## License

MIT

---

## Why use this over `vsrepo genstubs`?
- **Modern Python typing**.
- Easier to **maintain** and **extend** than `genstubs`.
- More **flexible workflow**: supports generating blank templates, checking for new plugin signatures, and selectively adding/removing plugins.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vs-stubs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "python, stubs, typing",
    "author": null,
    "author_email": "Vard\u00eb <ichunjo.le.terrible@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c6/72/ad220351cb8952194f6ac35dcd71525d1c33aaeb12efaaf32834197d5994/vs_stubs-1.0.0.tar.gz",
    "platform": null,
    "description": "# vs-stubs\n\n**Typing stubs for [VapourSynth](http://www.vapoursynth.com/)**\n\n`vs-stubs` provides Python type stubs for VapourSynth plugins and core functions. This helps editors, IDEs, and static type checkers (e.g. `mypy`, `pyright`) understand VapourSynth\u2019s API.\n\n---\n\n## Installation\n\n```bash\npip install vsstubs\n```\n\n---\n\n## Usage\n\nYou can use `vsstubs` via the command line or as a Python module.\n\n### Command Line\n\n```bash\nvsstubs\n```\n\nExample:\n\n```bash\nvsstubs -o output.pyi --template\n```\n\n### Python API\n\n```python\nfrom vsstubs import output_stubs\n\n# Example usage\noutput_stubs(None, \"output.pyi\", template=True)\n```\n\n---\n\n## CLI Reference\n\n```\nUsage: vsstubs [OPTIONS] COMMAND [ARGS]...\n\nvs-stubs command line interface\n\n\u256d\u2500 Options \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 --input               -i,-I      PATH  Path to the input .pyi file [default: None]   \u2502\n\u2502 --output              -o,-O      PATH  Path to write the output .pyi file. Default   \u2502\n\u2502                                        is vapoursynth-stubs/__init__.pyi inside the  \u2502\n\u2502                                        site-package folder                           \u2502\n\u2502 --template            -T               Export blank template; excludes existing      \u2502\n\u2502                                        plugins unless --load or --add is used        \u2502\n\u2502 --load                -L         PATH  Load plugins from a folder or a single        \u2502\n\u2502                                        library file                                  \u2502\n\u2502                                        [default: None]                               \u2502\n\u2502 --check               -C               Check for new plugins or new plugin           \u2502\n\u2502                                        signatures                                    \u2502\n\u2502 --quiet                                Suppress non-error output                     \u2502\n\u2502 --version             -V               Show version info and exit                    \u2502\n\u2502 --install-completion                   Install completion for the current shell.     \u2502\n\u2502 --show-completion                      Show completion for the current shell, to     \u2502\n\u2502                                        copy it or customize the installation.        \u2502\n\u2502 --help                                 Show this message and exit.                   \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u256d\u2500 Commands \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 add      Add or update the specified plugins in the stubs                            \u2502\n\u2502 remove   Remove the specified plugins from the stubs                                 \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n```\n\n---\n\n## Examples\n\n* Simply update the VapourSynth stubs:\n\n  ```bash\n  vsstubs\n  ```\n\n* Generate a template stubs:\n\n  ```bash\n  vsstubs -o out.pyi --template\n  ```\n\n* Add plugin stubs:\n\n  ```bash\n  vsstubs -i out.pyi -o out.pyi add resize2\n  ```\n\n* Remove plugin stubs:\n\n  ```bash\n  vsstubs -i out.pyi -o out.pyi remove resize2\n  ```\n\n---\n\n## License\n\nMIT\n\n---\n\n## Why use this over `vsrepo genstubs`?\n- **Modern Python typing**.\n- Easier to **maintain** and **extend** than `genstubs`.\n- More **flexible workflow**: supports generating blank templates, checking for new plugin signatures, and selectively adding/removing plugins.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Typing stubs for VapourSynth",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/Ichunjo/vs-stubs",
        "Issues": "https://github.com/Ichunjo/vs-stubs/issues",
        "Repository": "https://github.com/Ichunjo/vs-stubs"
    },
    "split_keywords": [
        "python",
        " stubs",
        " typing"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "42ee48f0a027b180fe285d657211065372c8f402ec1fb181c63a91f9011f5893",
                "md5": "dcca2ff80bc65e85bdd5c1306294e856",
                "sha256": "5e822197a34022d0b45082b0b1e2714df6b3f2fdc39bd8d0f9173d9afa665512"
            },
            "downloads": -1,
            "filename": "vs_stubs-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dcca2ff80bc65e85bdd5c1306294e856",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 25567,
            "upload_time": "2025-10-10T21:51:25",
            "upload_time_iso_8601": "2025-10-10T21:51:25.339462Z",
            "url": "https://files.pythonhosted.org/packages/42/ee/48f0a027b180fe285d657211065372c8f402ec1fb181c63a91f9011f5893/vs_stubs-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c672ad220351cb8952194f6ac35dcd71525d1c33aaeb12efaaf32834197d5994",
                "md5": "cdb667738f0e1f7b2de424b696ee3cd2",
                "sha256": "dd307bf38843a4e2785faba64453cb71f18176de97fedc81ffc1a483050b2d7f"
            },
            "downloads": -1,
            "filename": "vs_stubs-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "cdb667738f0e1f7b2de424b696ee3cd2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 20538,
            "upload_time": "2025-10-10T21:51:26",
            "upload_time_iso_8601": "2025-10-10T21:51:26.664043Z",
            "url": "https://files.pythonhosted.org/packages/c6/72/ad220351cb8952194f6ac35dcd71525d1c33aaeb12efaaf32834197d5994/vs_stubs-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-10 21:51:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Ichunjo",
    "github_project": "vs-stubs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "vs-stubs"
}
        
Elapsed time: 2.90407s