yt-queue


Nameyt-queue JSON
Version 0.11.16 PyPI version JSON
download
home_pageNone
SummaryCLI to keep track of videos in Youtube playlists
upload_time2025-09-06 05:47:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords yt-dlp youtube
VCS
bugtrack_url
requirements yt-dlp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # yt-queue
CLI to keep track of videos in Youtube playlists

## cli

See `yt-queue -h` and `yt-queue <subcommand> -h` for details.

Examples:

```sh
# create a new file
yt-queue create example.ytq.json "https://www.youtube.com/playlist?list=PL0pg4HdU1lNMtRzycn3wbKyfQO5vQZja9"

# refresh a file, only if it wasnt recently updated
yt-queue refresh example.ytq.json --only-if-older=1day

# get the "new" items
yt-queue filter --no-status example.ytq.json

# read the values of a video from the file
yt-queue read-field example.ytq.json "C0DPdy98e4c" url
yt-queue read-field example.ytq.json "C0DPdy98e4c" title

# set the status
yt-queue set-status example.ytq.json "C0DPdy98e4c" some-text-status
yt-queue filter --status=some-text-status example.ytq.json

# more filter options
yt-queue filter --title "TEST VIDEO" example.ytq.json
yt-queue filter --min-duration 3 example.ytq.json
yt-queue filter --max-duration 20 example.ytq.json
```

### output

Most cli subcommands' output (`stdout`) is parsable. `stderr` is used for logging:

- `filter` returns the matching video ids, 1 per line
- `read-field` returns the value of the field for the given video id

Other subcommands output should not be parsed - they contain either progress or verbose logging (including
from `yt-dlp`)

## development

setup (or recreate) environment with `source dev/init.sh`

or manually:

```shell
python3 -m venv .env
source .env/bin/activate
pip install --editable .
pip install '.[dev]'
```

other dependencies: `shellcheck`

tests: `./check.sh`

test the built packages: `./dist-check.sh dist/...`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "yt-queue",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "yt-dlp, YouTube",
    "author": null,
    "author_email": "Hendri Pretorius <pretorh@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/d0/d7/1347228117617807e60168a81069ceb5467824cf9f0361e233916390cf71/yt_queue-0.11.16.tar.gz",
    "platform": null,
    "description": "# yt-queue\nCLI to keep track of videos in Youtube playlists\n\n## cli\n\nSee `yt-queue -h` and `yt-queue <subcommand> -h` for details.\n\nExamples:\n\n```sh\n# create a new file\nyt-queue create example.ytq.json \"https://www.youtube.com/playlist?list=PL0pg4HdU1lNMtRzycn3wbKyfQO5vQZja9\"\n\n# refresh a file, only if it wasnt recently updated\nyt-queue refresh example.ytq.json --only-if-older=1day\n\n# get the \"new\" items\nyt-queue filter --no-status example.ytq.json\n\n# read the values of a video from the file\nyt-queue read-field example.ytq.json \"C0DPdy98e4c\" url\nyt-queue read-field example.ytq.json \"C0DPdy98e4c\" title\n\n# set the status\nyt-queue set-status example.ytq.json \"C0DPdy98e4c\" some-text-status\nyt-queue filter --status=some-text-status example.ytq.json\n\n# more filter options\nyt-queue filter --title \"TEST VIDEO\" example.ytq.json\nyt-queue filter --min-duration 3 example.ytq.json\nyt-queue filter --max-duration 20 example.ytq.json\n```\n\n### output\n\nMost cli subcommands' output (`stdout`) is parsable. `stderr` is used for logging:\n\n- `filter` returns the matching video ids, 1 per line\n- `read-field` returns the value of the field for the given video id\n\nOther subcommands output should not be parsed - they contain either progress or verbose logging (including\nfrom `yt-dlp`)\n\n## development\n\nsetup (or recreate) environment with `source dev/init.sh`\n\nor manually:\n\n```shell\npython3 -m venv .env\nsource .env/bin/activate\npip install --editable .\npip install '.[dev]'\n```\n\nother dependencies: `shellcheck`\n\ntests: `./check.sh`\n\ntest the built packages: `./dist-check.sh dist/...`\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "CLI to keep track of videos in Youtube playlists",
    "version": "0.11.16",
    "project_urls": {
        "Bug Tracker": "https://github.com/pretorh/yt-queue/issues",
        "Homepage": "https://github.com/pretorh/yt-queue"
    },
    "split_keywords": [
        "yt-dlp",
        " youtube"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ec2c4737af349a78ba00ccb523adacd7697d99cdfa8175f808a49a708ac763c",
                "md5": "4b3c3b4e8bdd02a5e68711eec00029a7",
                "sha256": "390621141d147505fb2e06991df3f7cadb8971a93531e00ffc9f5b9b5b9c069c"
            },
            "downloads": -1,
            "filename": "yt_queue-0.11.16-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4b3c3b4e8bdd02a5e68711eec00029a7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 15984,
            "upload_time": "2025-09-06T05:47:17",
            "upload_time_iso_8601": "2025-09-06T05:47:17.166963Z",
            "url": "https://files.pythonhosted.org/packages/0e/c2/c4737af349a78ba00ccb523adacd7697d99cdfa8175f808a49a708ac763c/yt_queue-0.11.16-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d0d71347228117617807e60168a81069ceb5467824cf9f0361e233916390cf71",
                "md5": "6092aca01f537d727d012d1051c957d2",
                "sha256": "8701f4e624de2353377c38774115c4c33fc30f88c4d589b1a5cbf08c5d9df583"
            },
            "downloads": -1,
            "filename": "yt_queue-0.11.16.tar.gz",
            "has_sig": false,
            "md5_digest": "6092aca01f537d727d012d1051c957d2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11464,
            "upload_time": "2025-09-06T05:47:18",
            "upload_time_iso_8601": "2025-09-06T05:47:18.426583Z",
            "url": "https://files.pythonhosted.org/packages/d0/d7/1347228117617807e60168a81069ceb5467824cf9f0361e233916390cf71/yt_queue-0.11.16.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-06 05:47:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pretorh",
    "github_project": "yt-queue",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "yt-dlp",
            "specs": [
                [
                    "==",
                    "2025.09.05"
                ]
            ]
        }
    ],
    "lcname": "yt-queue"
}
        
Elapsed time: 2.12305s