Skip to main content

<a href="#"><img src="https://assets.nickficano.com/gh-pytube.min.svg" width="456" height="143" alt="pytube logo" /></a>

<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>

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. This is recommended for most cases. If you want to hastily download a single video, the quick start 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.

Installation

Pytube requires an installation of Python 3.6 or greater, as well as pip. (Pip is typically bundled with Python installations.)

To install from PyPI with pip:

$ python -m pip install pytube

Sometimes, the PyPI release becomes slightly outdated. To install from the source with pip:

$ 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.

 >>> 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:

$ pytube https://youtube.com/watch?v=2lAe1cqCOXo

You can also do the same for a playlist:

$ pytube https://www.youtube.com/playlist?list=PLS1QulWo1RIaJECMeUT4LFwJ-ghgoSH6n

Metadata

Release files for pytube-for-sim 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytube-for-sim 0.0.1
File Size Uploaded
pytube_for_sim-0.0.1.tar.gz 69.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytube-for-sim 0.0.1
File Interpreter ABI Platform
pytube_for_sim-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 127.5 kB

Release files / pytube_for_sim-0.0.1.tar.gz

Download URL pytube_for_sim-0.0.1.tar.gz
Size 69.4 kB
Tags Source
SHA-256 checksum
How to use checksums
38a313efe8c0d27d0f5c2328ae726f32ac232b4ff4567feebff1fde7aa0c8a26
BLAKE2b-256 checksum
How to use checksums
fa7be665a3f62ad6ac863a3df2fc0c39bc609ec62ba82665d1075c815a3288f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release files / pytube_for_sim-0.0.1-py3-none-any.whl

Download URL pytube_for_sim-0.0.1-py3-none-any.whl
Size 58.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5aaa59d67e238bda9ac805f25fa64f57a4e1db8a644c71c7e482a44e6e09a27a
BLAKE2b-256 checksum
How to use checksums
febb3a7d1718ba6ef89d9b0feda870e7b15780504a4bd442404b53bc399c6f50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page