pyutube


Namepyutube JSON
Version 1.2.5 PyPI version JSON
download
home_pageNone
SummaryAwesome CLI to download YouTube videos (as video or audio)/shorts/playlists from the terminal
upload_time2024-04-25 18:14:02
maintainerNone
docs_urlNone
authorEbraheem Alhetari
requires_python>=3.6
licenseMIT
keywords youtube download cli pyutube pytube
VCS
bugtrack_url
requirements setuptools typer requests rich yaspin pytube inquirer termcolor moviepy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 📹 YouTube Downloader CLI

### Enjoying my project? Please show your appreciation by starring it on GitHub! ⭐

[![Version](https://img.shields.io/pypi/v/pyutube.svg?style=flat)](https://pypi.org/project/pyutube/)
[![Downloads](https://static.pepy.tech/badge/pyutube)](https://pepy.tech/project/pyutube)

> [!NOTE]
> Have a new feature? Please don't hesitate to [tell me](https://github.com/Hetari/pyutube/issues/new)!

<!-- for pypi only -->
<a href="https://ibb.co/27wcFYN">
   <img src="https://i.ibb.co/MDbPg56/Screenshot-from-2024-04-08-21-38-02-transformed.png" alt="Pyutube" style="width: 100%;">
</a>

<!-- <a href="https://ibb.co/27wcFYN">
   <img src="images/pyutube.png" alt="Pyutube" style="width: 100%;">
</a> -->

## 📓 Description

This command-line tool downloads YouTube videos from the `Terminal`, written under [Pytube](https://pytube.io/), and offers a user-friendly interface.

it is cross-platform (Windows, Mac, Linux) and can be used in any terminal.

## 🤔 why `pyutube`?

While other tools offer many features and configurability, `pyutube` simplifies the process, with no need to dive into complex configurations and documentation, such as identifying specific options for downloading audio-only, or how to download a specific resolution, but on `pyutube` just paste the URL and that's it, it will guide you through the process 🔥.

## 🛠️ Installation

it is easy to install Pyutube, make sure that you have [Python](https://www.python.org) installed. To check if you have it installed, type `python --version` in your terminal. You should see something like `Python 3. x ` otherwise, download and install it from [Python](https://www.python.org/downloads/).

after that, you can install it with the following command:

```bash
pip install pyutube
```

## 📈 Upgrade

All the latest updates will be posted on [GitHub](https://github.com/Hetari/pyutube), you can also upgrade the tool via [PyPI](https://pypi.org/project/pyutube/) with this command:

```bash
pip install --upgrade pyutube
```

Then you can use it in your `Terminal` 🥳.

## 🦸 Quick Start

Pyutube is very easy to use, here are examples of its uses:

```bash
pyutube YOUTUBE_LINK [PATH]
```

> [!NOTE] > `[PATH]` is an optional input, the default value is the `terminal` path where the CLI is running (the current working directory in your terminal).

## 👨‍💻 Usage

#### Arguments

| Arguments | Description                                                                                                          |
| --------- | -------------------------------------------------------------------------------------------------------------------- |
| `URL`     | The `URL` of the YouTube video. This argument is <span style="color:red">[Required]</span>.                          |
| `PATH`    | The `path` to save the video. Defaults to the current working directory. <span style="color:green">[Optional]</span> |

#### Options

| Option                                              | Description                                                      |
| --------------------------------------------------- | ---------------------------------------------------------------- |
| `-v` <span style="color:cyan">or</span> `--version` | Show the version number.                                         |
| `-a` <span style="color:cyan">or</span> `--audio`   | Download only audio immediately without asking (video or audio). |
| `-f` <span style="color:cyan">or</span> `--footage` | Download only video immediately without asking (video or audio). |

## 🕵️‍♂️ Examples

### **- Show version:**

```bash
pyutube -v
```

### **- Download playlists:**

1. `pyutube <YOUTUBE_PLAYLIST_LINK | PLAYLIST_ID> [the_download_path*]`

> [!NOTE]
> Don't forget, the path is optional.

1. Then choose the format of the download, video or audio.
2. Choose the resolution if it is a video you want to download, otherwise, choose audio and it will download it all immediately 🔥.

> [!NOTE]
> It will check all resolutions available in the first video in the playlist, then it will download all of them in the same resolution 👍.

### **- Download shorts, videos, or audio:**

1. `pyutube <YOUTUBE_LINK | VIDEO_ID | SHORT_LINK> [the_download_path*]`

> [!NOTE]
> Don't forget, the path is optional.

1. Then choose the format of the download, video or audio.
2. Choose the resolution if it is a video you want to download, otherwise, choose audio and it will download it immediately 🔥.

```bash
pyutube cMPnY7EuZvo
pyutube youtu.be/cMPnY7EuZvo
pyutube https://youtube.com/watch?v=cMPnY7EuZvo
```

### **- Download audio immediately:**

1. `pyutube <YOUTUBE_LINK | VIDEO_ID | SHORT_LINK> [the_download_path*] -a`

```bash
pyutube cMPnY7EuZvo -a
```

or

```bash
pyutube -a youtu.be/cMPnY7EuZvo
```

and that's it 🎉.

### **- Download videos immediately:**

1. `pyutube <YOUTUBE_LINK | VIDEO_ID | SHORT_LINK> [the_download_path*] -f`
2. Choose the resolution.

```bash
pyutube cMPnY7EuZvo -f
```

or

```bash
pyutube -f youtu.be/cMPnY7EuZvo
```

see the video and relax 🎉.

## 📸 Screenshots

<!-- for pypi only -->
<div style="text-align: center;">
   <p>Download video with specify the save location</p>
   <a href="https://ibb.co/0JkdkQy">
      <img src="https://i.ibb.co/7yH6Hbt/image1.png" alt="Download video with specify the save location">
   </a>
   <p>Chose what type you want to download</p>
   <a href="https://ibb.co/Kb6qjmg">
      <img src="https://i.ibb.co/sbjwvt4/image2.png" alt="Chose what type you want to download">
   </a>
   <p>Chose what what resolution you want to download(if the type is video)</p>
   <a href="https://ibb.co/7ymCS79">
      <img src="https://i.ibb.co/h8z9gpq/image4.png" alt="Chose what resolution you want to download">
   </a>
   <p>If you download a playlist, you can choose what video you want to download, or even all of them</p>
   <a href="https://ibb.co/0qwkQNm">
      <img src="https://i.ibb.co/1ZS3bV7/Screenshot-from-2024-04-11-16-42-29.png" alt="If you download a playlist, you can choose what video you want to download, or even all of them"/>
   </a>
<br /><br />
 <p>Do not know how to use it? just type <code>pyutube --help</code></p>
  <a href="https://ibb.co/LhT6r3r">
      <img src="https://i.ibb.co/WprF0L0/image5.png" alt="image5">
   </a>
</div>

<!-- <div style="text-align: center;">
   <p>Download video with specify the save location</p>
   <a href="https://ibb.co/0JkdkQy">
      <img src="images/image1.png" alt="Download video with specify the save location">
   </a>

   <p>Chose what type you want to download</p>
   <a href="https://ibb.co/Kb6qjmg">
      <img src="images/image2.png" alt="Chose what type you want to download">
   </a>

   <p>Chose what what resolution you want to download(if the type is video)</p>
   <a href="https://ibb.co/7ymCS79">
      <img src="images/image3.png" alt="Chose what resolution you want to download">
   </a>

   <p>If you download a playlist, you can choose what video you want to download, or even all of them</p>
   <a href="https://ibb.co/0qwkQNm">
      <img src="images/image4.png" alt="If you download a playlist, you can choose what video you want to download, or even all of them"/>
   </a>

<br /><br />

 <p>Do not know how to use it? just type <code>pyutube --help</code></p>
  <a href="https://ibb.co/LhT6r3r">
      <img src="images/image5.png" alt="image5">
   </a>
</div> -->

## 🥰 Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you want to change.
please follow the [contributing guidelines](https://github.com/Hetari/pyutube/blob/main/CONTRIBUTING.md)

## 📎 License

This project is licensed under the [MIT License](https://github.com/Hetari/pyutube/blob/main/LICENSE.md).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyutube",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "youtube, download, cli, pyutube, pytube",
    "author": "Ebraheem Alhetari",
    "author_email": "hetari4all@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/14/c1/268121f5c7547ee0971e40779c3e0b06c320b1e97450f831bd13633b3c83/pyutube-1.2.5.tar.gz",
    "platform": "Windows",
    "description": "# \ud83d\udcf9 YouTube Downloader CLI\n\n### Enjoying my project? Please show your appreciation by starring it on GitHub! \u2b50\n\n[![Version](https://img.shields.io/pypi/v/pyutube.svg?style=flat)](https://pypi.org/project/pyutube/)\n[![Downloads](https://static.pepy.tech/badge/pyutube)](https://pepy.tech/project/pyutube)\n\n> [!NOTE]\n> Have a new feature? Please don't hesitate to [tell me](https://github.com/Hetari/pyutube/issues/new)!\n\n<!-- for pypi only -->\n<a href=\"https://ibb.co/27wcFYN\">\n   <img src=\"https://i.ibb.co/MDbPg56/Screenshot-from-2024-04-08-21-38-02-transformed.png\" alt=\"Pyutube\" style=\"width: 100%;\">\n</a>\n\n<!-- <a href=\"https://ibb.co/27wcFYN\">\n   <img src=\"images/pyutube.png\" alt=\"Pyutube\" style=\"width: 100%;\">\n</a> -->\n\n## \ud83d\udcd3 Description\n\nThis command-line tool downloads YouTube videos from the `Terminal`, written under [Pytube](https://pytube.io/), and offers a user-friendly interface.\n\nit is cross-platform (Windows, Mac, Linux) and can be used in any terminal.\n\n## \ud83e\udd14 why `pyutube`?\n\nWhile other tools offer many features and configurability, `pyutube` simplifies the process, with no need to dive into complex configurations and documentation, such as identifying specific options for downloading audio-only, or how to download a specific resolution, but on `pyutube` just paste the URL and that's it, it will guide you through the process \ud83d\udd25.\n\n## \ud83d\udee0\ufe0f Installation\n\nit is easy to install Pyutube, make sure that you have [Python](https://www.python.org) installed. To check if you have it installed, type `python --version` in your terminal. You should see something like `Python 3. x ` otherwise, download and install it from [Python](https://www.python.org/downloads/).\n\nafter that, you can install it with the following command:\n\n```bash\npip install pyutube\n```\n\n## \ud83d\udcc8 Upgrade\n\nAll the latest updates will be posted on [GitHub](https://github.com/Hetari/pyutube), you can also upgrade the tool via [PyPI](https://pypi.org/project/pyutube/) with this command:\n\n```bash\npip install --upgrade pyutube\n```\n\nThen you can use it in your `Terminal` \ud83e\udd73.\n\n## \ud83e\uddb8 Quick Start\n\nPyutube is very easy to use, here are examples of its uses:\n\n```bash\npyutube YOUTUBE_LINK [PATH]\n```\n\n> [!NOTE] > `[PATH]` is an optional input, the default value is the `terminal` path where the CLI is running (the current working directory in your terminal).\n\n## \ud83d\udc68\u200d\ud83d\udcbb Usage\n\n#### Arguments\n\n| Arguments | Description                                                                                                          |\n| --------- | -------------------------------------------------------------------------------------------------------------------- |\n| `URL`     | The `URL` of the YouTube video. This argument is <span style=\"color:red\">[Required]</span>.                          |\n| `PATH`    | The `path` to save the video. Defaults to the current working directory. <span style=\"color:green\">[Optional]</span> |\n\n#### Options\n\n| Option                                              | Description                                                      |\n| --------------------------------------------------- | ---------------------------------------------------------------- |\n| `-v` <span style=\"color:cyan\">or</span> `--version` | Show the version number.                                         |\n| `-a` <span style=\"color:cyan\">or</span> `--audio`   | Download only audio immediately without asking (video or audio). |\n| `-f` <span style=\"color:cyan\">or</span> `--footage` | Download only video immediately without asking (video or audio). |\n\n## \ud83d\udd75\ufe0f\u200d\u2642\ufe0f Examples\n\n### **- Show version:**\n\n```bash\npyutube -v\n```\n\n### **- Download playlists:**\n\n1. `pyutube <YOUTUBE_PLAYLIST_LINK | PLAYLIST_ID> [the_download_path*]`\n\n> [!NOTE]\n> Don't forget, the path is optional.\n\n1. Then choose the format of the download, video or audio.\n2. Choose the resolution if it is a video you want to download, otherwise, choose audio and it will download it all immediately \ud83d\udd25.\n\n> [!NOTE]\n> It will check all resolutions available in the first video in the playlist, then it will download all of them in the same resolution \ud83d\udc4d.\n\n### **- Download shorts, videos, or audio:**\n\n1. `pyutube <YOUTUBE_LINK | VIDEO_ID | SHORT_LINK> [the_download_path*]`\n\n> [!NOTE]\n> Don't forget, the path is optional.\n\n1. Then choose the format of the download, video or audio.\n2. Choose the resolution if it is a video you want to download, otherwise, choose audio and it will download it immediately \ud83d\udd25.\n\n```bash\npyutube cMPnY7EuZvo\npyutube youtu.be/cMPnY7EuZvo\npyutube https://youtube.com/watch?v=cMPnY7EuZvo\n```\n\n### **- Download audio immediately:**\n\n1. `pyutube <YOUTUBE_LINK | VIDEO_ID | SHORT_LINK> [the_download_path*] -a`\n\n```bash\npyutube cMPnY7EuZvo -a\n```\n\nor\n\n```bash\npyutube -a youtu.be/cMPnY7EuZvo\n```\n\nand that's it \ud83c\udf89.\n\n### **- Download videos immediately:**\n\n1. `pyutube <YOUTUBE_LINK | VIDEO_ID | SHORT_LINK> [the_download_path*] -f`\n2. Choose the resolution.\n\n```bash\npyutube cMPnY7EuZvo -f\n```\n\nor\n\n```bash\npyutube -f youtu.be/cMPnY7EuZvo\n```\n\nsee the video and relax \ud83c\udf89.\n\n## \ud83d\udcf8 Screenshots\n\n<!-- for pypi only -->\n<div style=\"text-align: center;\">\n   <p>Download video with specify the save location</p>\n   <a href=\"https://ibb.co/0JkdkQy\">\n      <img src=\"https://i.ibb.co/7yH6Hbt/image1.png\" alt=\"Download video with specify the save location\">\n   </a>\n   <p>Chose what type you want to download</p>\n   <a href=\"https://ibb.co/Kb6qjmg\">\n      <img src=\"https://i.ibb.co/sbjwvt4/image2.png\" alt=\"Chose what type you want to download\">\n   </a>\n   <p>Chose what what resolution you want to download(if the type is video)</p>\n   <a href=\"https://ibb.co/7ymCS79\">\n      <img src=\"https://i.ibb.co/h8z9gpq/image4.png\" alt=\"Chose what resolution you want to download\">\n   </a>\n   <p>If you download a playlist, you can choose what video you want to download, or even all of them</p>\n   <a href=\"https://ibb.co/0qwkQNm\">\n      <img src=\"https://i.ibb.co/1ZS3bV7/Screenshot-from-2024-04-11-16-42-29.png\" alt=\"If you download a playlist, you can choose what video you want to download, or even all of them\"/>\n   </a>\n<br /><br />\n <p>Do not know how to use it? just type <code>pyutube --help</code></p>\n  <a href=\"https://ibb.co/LhT6r3r\">\n      <img src=\"https://i.ibb.co/WprF0L0/image5.png\" alt=\"image5\">\n   </a>\n</div>\n\n<!-- <div style=\"text-align: center;\">\n   <p>Download video with specify the save location</p>\n   <a href=\"https://ibb.co/0JkdkQy\">\n      <img src=\"images/image1.png\" alt=\"Download video with specify the save location\">\n   </a>\n\n   <p>Chose what type you want to download</p>\n   <a href=\"https://ibb.co/Kb6qjmg\">\n      <img src=\"images/image2.png\" alt=\"Chose what type you want to download\">\n   </a>\n\n   <p>Chose what what resolution you want to download(if the type is video)</p>\n   <a href=\"https://ibb.co/7ymCS79\">\n      <img src=\"images/image3.png\" alt=\"Chose what resolution you want to download\">\n   </a>\n\n   <p>If you download a playlist, you can choose what video you want to download, or even all of them</p>\n   <a href=\"https://ibb.co/0qwkQNm\">\n      <img src=\"images/image4.png\" alt=\"If you download a playlist, you can choose what video you want to download, or even all of them\"/>\n   </a>\n\n<br /><br />\n\n <p>Do not know how to use it? just type <code>pyutube --help</code></p>\n  <a href=\"https://ibb.co/LhT6r3r\">\n      <img src=\"images/image5.png\" alt=\"image5\">\n   </a>\n</div> -->\n\n## \ud83e\udd70 Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you want to change.\nplease follow the [contributing guidelines](https://github.com/Hetari/pyutube/blob/main/CONTRIBUTING.md)\n\n## \ud83d\udcce License\n\nThis project is licensed under the [MIT License](https://github.com/Hetari/pyutube/blob/main/LICENSE.md).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Awesome CLI to download YouTube videos (as video or audio)/shorts/playlists from the terminal",
    "version": "1.2.5",
    "project_urls": {
        "Homepage": "https://github.com/Hetari/pyutube"
    },
    "split_keywords": [
        "youtube",
        " download",
        " cli",
        " pyutube",
        " pytube"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a1415e9946e7266683dede26add4c634b2b94ab852541d773812f1bb21a7c755",
                "md5": "6e65d10d447cda48973a67f3a48551a5",
                "sha256": "3f2a4539a0d204ed566a555fc182017e318ad529c77db0479822d27890d3a5f8"
            },
            "downloads": -1,
            "filename": "pyutube-1.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6e65d10d447cda48973a67f3a48551a5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 16270,
            "upload_time": "2024-04-25T18:14:00",
            "upload_time_iso_8601": "2024-04-25T18:14:00.019369Z",
            "url": "https://files.pythonhosted.org/packages/a1/41/5e9946e7266683dede26add4c634b2b94ab852541d773812f1bb21a7c755/pyutube-1.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "14c1268121f5c7547ee0971e40779c3e0b06c320b1e97450f831bd13633b3c83",
                "md5": "c76ec21c468929f6cb1129f20d536b24",
                "sha256": "7aae733044bdf998620bb3949c748349b9c12df53d8352a42f1b06784f435ae3"
            },
            "downloads": -1,
            "filename": "pyutube-1.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "c76ec21c468929f6cb1129f20d536b24",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 17034,
            "upload_time": "2024-04-25T18:14:02",
            "upload_time_iso_8601": "2024-04-25T18:14:02.120642Z",
            "url": "https://files.pythonhosted.org/packages/14/c1/268121f5c7547ee0971e40779c3e0b06c320b1e97450f831bd13633b3c83/pyutube-1.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-25 18:14:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Hetari",
    "github_project": "pyutube",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "69.2.0"
                ]
            ]
        },
        {
            "name": "typer",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.7.1"
                ]
            ]
        },
        {
            "name": "yaspin",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "pytube",
            "specs": [
                [
                    "==",
                    "15.0.0"
                ]
            ]
        },
        {
            "name": "inquirer",
            "specs": [
                [
                    "==",
                    "3.2.4"
                ]
            ]
        },
        {
            "name": "termcolor",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        },
        {
            "name": "moviepy",
            "specs": [
                [
                    "==",
                    "1.0.3"
                ]
            ]
        }
    ],
    "lcname": "pyutube"
}
        
Elapsed time: 0.26826s