<div align="center">
<p>
<a href="#"><img src="https://assets.nickficano.com/gh-pytube.min.svg" width="456" height="143" alt="pytube logo" /></a>
</p>
<p align="center">
<a href="https://pypi.org/project/pytube/"><img src="https://img.shields.io/pypi/dm/pytube?style=flat-square" alt="pypi"/></a>
<a href="https://pytube.io/en/latest/"><img src="https://readthedocs.org/projects/python-pytube/badge/?version=latest&style=flat-square" /></a>
<a href="https://pypi.org/project/pytube/"><img src="https://img.shields.io/pypi/v/pytube?style=flat-square" /></a>
</p>
</div>
### Actively soliciting contributors!
Have ideas for how pytube can be improved? Feel free to open an issue or a pull request!
# pytube
*pytube* is a genuine, lightweight, dependency-free Python library (and command-line utility) for downloading YouTube videos.
## Documentation
Detailed documentation about the usage of the library can be found at [pytube.io](https://pytube.io). This is recommended for most cases. If you want to hastily download a single video, the [quick start](#Quickstart) guide below might be what you're looking for.
## Description
YouTube is the most popular video-sharing platform in the world and as a hacker, you may encounter a situation where you want to script something to download videos. For this, I present to you: *pytube*.
*pytube* is a lightweight library written in Python. It has no third-party
dependencies and aims to be highly reliable.
*pytube* also makes pipelining easy, allowing you to specify callback functions for different download events, such as ``on progress`` or ``on complete``.
Furthermore, *pytube* includes a command-line utility, allowing you to download videos right from the terminal.
## Features
- Support for both progressive & DASH streams
- Support for downloading the complete playlist
- Easily register ``on_download_progress`` & ``on_download_complete`` callbacks
- Command-line interfaced included
- Caption track support
- Outputs caption tracks to .srt format (SubRip Subtitle)
- Ability to capture thumbnail URL
- Extensively documented source code
- No third-party dependencies
## Quickstart
This guide covers the most basic usage of the library. For more detailed information, please refer to [pytube.io](https://pytube.io).
### Installation
Pytube requires an installation of Python 3.6 or greater, as well as pip. (Pip is typically bundled with Python [installations](https://python.org/downloads).)
To install from PyPI with pip:
```bash
$ python -m pip install pytube
```
Sometimes, the PyPI release becomes slightly outdated. To install from the source with pip:
```bash
$ python -m pip install git+https://github.com/pytube/pytube
```
### Using pytube in a Python script
To download a video using the library in a script, you'll need to import the YouTube class from the library and pass an argument of the video URL. From there, you can access the streams and download them.
```python
>>> from pytube import YouTube
>>> YouTube('https://youtu.be/2lAe1cqCOXo').streams.first().download()
>>> yt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')
>>> yt.streams
... .filter(progressive=True, file_extension='mp4')
... .order_by('resolution')
... .desc()
... .first()
... .download()
```
### Using the command-line interface
Using the CLI is remarkably straightforward as well. To download a video at the highest progressive quality, you can use the following command:
```bash
$ pytube https://youtube.com/watch?v=2lAe1cqCOXo
```
You can also do the same for a playlist:
```bash
$ pytube https://www.youtube.com/playlist?list=PLS1QulWo1RIaJECMeUT4LFwJ-ghgoSH6n
```
Raw data
{
"_id": null,
"home_page": "https://github.com/pytube/pytube",
"name": "pytube",
"maintainer": "",
"docs_url": "https://pythonhosted.org/pytube/",
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "youtube,download,video,stream",
"author": "Ronnie\u00a0Ghose, Taylor Fox Dahlin, Nick Ficano",
"author_email": "hey@pytube.io",
"download_url": "https://files.pythonhosted.org/packages/d8/e7/16fec46c8d255c4bbc4b185d89c91dc92cdb802836570d8004d0db169c91/pytube-15.0.0.tar.gz",
"platform": null,
"description": "\n<div align=\"center\">\n <p>\n <a href=\"#\"><img src=\"https://assets.nickficano.com/gh-pytube.min.svg\" width=\"456\" height=\"143\" alt=\"pytube logo\" /></a>\n </p>\n <p align=\"center\">\n\t<a href=\"https://pypi.org/project/pytube/\"><img src=\"https://img.shields.io/pypi/dm/pytube?style=flat-square\" alt=\"pypi\"/></a>\n\t<a href=\"https://pytube.io/en/latest/\"><img src=\"https://readthedocs.org/projects/python-pytube/badge/?version=latest&style=flat-square\" /></a>\n\t<a href=\"https://pypi.org/project/pytube/\"><img src=\"https://img.shields.io/pypi/v/pytube?style=flat-square\" /></a>\n </p>\n</div>\n\n### Actively soliciting contributors!\n\nHave ideas for how pytube can be improved? Feel free to open an issue or a pull request!\n\n# pytube\n\n*pytube* is a genuine, lightweight, dependency-free Python library (and command-line utility) for downloading YouTube videos.\n\n## Documentation\n\nDetailed documentation about the usage of the library can be found at [pytube.io](https://pytube.io). This is recommended for most cases. If you want to hastily download a single video, the [quick start](#Quickstart) guide below might be what you're looking for.\n\n## Description\n\nYouTube is the most popular video-sharing platform in the world and as a hacker, you may encounter a situation where you want to script something to download videos. For this, I present to you: *pytube*.\n\n*pytube* is a lightweight library written in Python. It has no third-party\ndependencies and aims to be highly reliable.\n\n*pytube* also makes pipelining easy, allowing you to specify callback functions for different download events, such as ``on progress`` or ``on complete``.\n\nFurthermore, *pytube* includes a command-line utility, allowing you to download videos right from the terminal.\n\n## Features\n\n- Support for both progressive & DASH streams\n- Support for downloading the complete playlist\n- Easily register ``on_download_progress`` & ``on_download_complete`` callbacks\n- Command-line interfaced included\n- Caption track support\n- Outputs caption tracks to .srt format (SubRip Subtitle)\n- Ability to capture thumbnail URL\n- Extensively documented source code\n- No third-party dependencies\n\n## Quickstart\n\nThis guide covers the most basic usage of the library. For more detailed information, please refer to [pytube.io](https://pytube.io).\n\n### Installation\n\nPytube requires an installation of Python 3.6 or greater, as well as pip. (Pip is typically bundled with Python [installations](https://python.org/downloads).)\n\nTo install from PyPI with pip:\n\n```bash\n$ python -m pip install pytube\n```\n\nSometimes, the PyPI release becomes slightly outdated. To install from the source with pip:\n\n```bash\n$ python -m pip install git+https://github.com/pytube/pytube\n```\n\n### Using pytube in a Python script\n\nTo download a video using the library in a script, you'll need to import the YouTube class from the library and pass an argument of the video URL. From there, you can access the streams and download them.\n\n```python\n >>> from pytube import YouTube\n >>> YouTube('https://youtu.be/2lAe1cqCOXo').streams.first().download()\n >>> yt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')\n >>> yt.streams\n ... .filter(progressive=True, file_extension='mp4')\n ... .order_by('resolution')\n ... .desc()\n ... .first()\n ... .download()\n```\n\n### Using the command-line interface\n\nUsing the CLI is remarkably straightforward as well. To download a video at the highest progressive quality, you can use the following command:\n```bash\n$ pytube https://youtube.com/watch?v=2lAe1cqCOXo\n```\n\nYou can also do the same for a playlist:\n```bash\n$ pytube https://www.youtube.com/playlist?list=PLS1QulWo1RIaJECMeUT4LFwJ-ghgoSH6n\n```\n\n\n",
"bugtrack_url": null,
"license": "The Unlicense (Unlicense)",
"summary": "Python 3 library for downloading YouTube Videos.",
"version": "15.0.0",
"project_urls": {
"Bug Reports": "https://github.com/pytube/pytube/issues",
"Homepage": "https://github.com/pytube/pytube",
"Read the Docs": "https://pytube.io"
},
"split_keywords": [
"youtube",
"download",
"video",
"stream"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5164bcf8632ed2b7a36bbf84a0544885ffa1d0b4bcf25cc0903dba66ec5fdad9",
"md5": "6c601c9803949146e294464d11bf1156",
"sha256": "07b9904749e213485780d7eb606e5e5b8e4341aa4dccf699160876da00e12d78"
},
"downloads": -1,
"filename": "pytube-15.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6c601c9803949146e294464d11bf1156",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 57594,
"upload_time": "2023-05-07T19:38:59",
"upload_time_iso_8601": "2023-05-07T19:38:59.191800Z",
"url": "https://files.pythonhosted.org/packages/51/64/bcf8632ed2b7a36bbf84a0544885ffa1d0b4bcf25cc0903dba66ec5fdad9/pytube-15.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d8e716fec46c8d255c4bbc4b185d89c91dc92cdb802836570d8004d0db169c91",
"md5": "fd11326cb975238b63e1365722ecd814",
"sha256": "076052efe76f390dfa24b1194ff821d4e86c17d41cb5562f3a276a8bcbfc9d1d"
},
"downloads": -1,
"filename": "pytube-15.0.0.tar.gz",
"has_sig": false,
"md5_digest": "fd11326cb975238b63e1365722ecd814",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 67229,
"upload_time": "2023-05-07T19:39:01",
"upload_time_iso_8601": "2023-05-07T19:39:01.903042Z",
"url": "https://files.pythonhosted.org/packages/d8/e7/16fec46c8d255c4bbc4b185d89c91dc92cdb802836570d8004d0db169c91/pytube-15.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-07 19:39:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pytube",
"github_project": "pytube",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pytube"
}