# 📹 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"
}