Metadata-Version: 2.1
Name: yewtube
Version: 2.12.0
Summary: A Terminal based YouTube player and downloader. No Youtube API key required. Forked from mps-youtube
Home-page: https://github.com/mps-youtube/yewtube
Download-URL: https://github.com/mps-youtube/yewtube/releases
Author: talha_programmer
Author-email: iamtalhaasghar@gmail.com
Keywords: video,music,audio,youtube,stream,download
Classifier: Topic :: Utilities
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
Classifier: Topic :: Multimedia :: Video
Classifier: Environment :: Console
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: MacOS :: MacOS 9
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
Classifier: Operating System :: Microsoft :: Windows :: Windows XP
Classifier: Operating System :: Microsoft :: Windows :: Windows Vista
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: pyperclip
Requires-Dist: youtube-search-python>=1.6.5
Requires-Dist: yt-dlp>=2023.7.6
Requires-Dist: pylast
Requires-Dist: pyreadline3; platform_system == "Windows"
Requires-Dist: colorama; platform_system == "Windows"
Provides-Extra: docs
Requires-Dist: mkdocs-gen-files>=0.3.4; extra == "docs"
Requires-Dist: mkdocs-literate-nav>=0.4.1; extra == "docs"
Requires-Dist: mkdocs-macros-plugin>=0.6.4; extra == "docs"
Requires-Dist: mkdocs-material>=8.2.1; extra == "docs"
Requires-Dist: mkdocstrings-python-legacy>=0.2.2; extra == "docs"
Requires-Dist: mkdocstrings>=0.18.0; extra == "docs"
Provides-Extra: mpris
Requires-Dist: dbus-python>=1.2.18; extra == "mpris"
Requires-Dist: PyGObject>=3.42.0; extra == "mpris"


![](https://img.shields.io/pypi/v/yewtube.svg)  ![](https://img.shields.io/pypi/wheel/yewtube.svg)

## STOP GENOCIDE OF INNOCENT PEOPLE

![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Flag_of_Palestine.svg/1280px-Flag_of_Palestine.svg.png)

<pre>
                      _         _          
                     | |       | |         
  _   _  _____      _| |_ _   _| |__   ___ 
 | | | |/ _ \ \ /\ / / __| | | | '_ \ / _ \
 | |_| |  __/\ V  V /| |_| |_| | |_) |  __/
  \__, |\___| \_/\_/  \__|\__,_|_.__/ \___|
   __/ |                                   
  |___/


</pre>

yewtube, forked from mps-youtube , is a Terminal based YouTube player and downloader. No Youtube API key required. <br>
Visit [this](./COLLABORATORS.md) page if you want to support maintainers of this project.

Installation
-----------
# Stable Version

### Using pip
1. Install using `pip install yewtube`
2. Run using, `yt`. Enjoy! 

### Using pipx (Recommended)
1.  Install **_pipx_** using `pip install pipx`
2.  Install `yewtube` using `pipx install yewtube`
3.  Now, type `yt` That's it.

# Latest Version

### Using pip
1. Install using `pip install git+https://github.com/mps-youtube/yewtube.git`
2. Run using, `yt`. Enjoy! 

### Using pipx
1.  Install **_pipx_** using `pip install pipx`
2.  Install `yewtube` using `pipx install git+https://github.com/mps-youtube/yewtube.git`
3.  Now, type `yt` That's it.

What's new in yewtube?
----------------------
-   **No Youtube API Key required**
-   **Run audio in VLC with no GUI**

See complete and up-to-date changelog [here](https://github.com/mps-youtube/yewtube/blob/master/CHANGELOG.md).

These features are still inherited from [mps-youtube](https://github.com/mps-youtube/mps-youtube).
-   Search and play audio/video from YouTube
-   Search tracks of albums by album title
-   Search and import YouTube playlists
-   Create and save local playlists
-   Download audio/video
-   Convert to mp3 & other formats (requires ffmpeg or avconv)
-   View video comments
-   Works with Python 3.x
-   Works with Windows, Linux and Mac OS X
-   Requires mplayer, mpv or VLC

This project is based on [mps-youtube](https://github.com/mps-youtube/mps-youtube) and mps-youtube is based on [mps](https://web.archive.org/web/20180429034221/https://github.com/np1/mps), a terminal based program to search, stream and download music. This
implementation uses YouTube as a source of content and can play and
download video as well as audio. The [pafy](https://github.com/mps-youtube/pafy)  library handles interfacing with YouTube.

[mps-youtube wiki](https://github.com/mps-youtube/mps-youtube/wiki/Troubleshooting) <br>
[yewtube wiki](https://github.com/mps-youtube/yewtube/wiki/FAQ)

Screenshots
-----------

Search:<br>
![](http://mps-youtube.github.io/yewtube/std-search.png)

A standard search is performed by entering `/` followed by search terms.

You can play all of the search results by giving `1-` as input

Repeating song/songs can be done with `song_number[loop]`, for example:
`1[3]` or `4-6[2]`

Local Playlists:<br>
![](http://mps-youtube.github.io/yewtube/local-playlist.png)

Search result items can easily be stored in local playlists.

YouTube Playlists:<br>
![](http://mps-youtube.github.io/yewtube/playlist-search.png)

YouTube playlists can be searched and played or saved as local
playlists.

A playlist search is performed by `//` followed by search term.

Download:<br>
![](http://mps-youtube.github.io/yewtube/download.png)

Content can be downloaded in various formats and resolutions.

Comments:<br>
![](http://mps-youtube.github.io/yewtube/comments.png)

A basic comments browser is available to view YouTube user comments.

Music Album Matching:<br>

![](http://mps-youtube.github.io/yewtube/album-1.png)

![](http://mps-youtube.github.io/yewtube/album-2.png)

An album title can be specified and yewtube will attempt to find
matches for each track of the album, based on title and duration. Type
`help search` for more info.

Customisation:<br>

![](http://mps-youtube.github.io/yewtube/customisation2.png)

Search results can be customised to display additional fields and
ordered by various criteria.

This configuration was set up using the following commands
```
set order views
set columns user:14 date comments rating likes dislikes category:9 views
```

Type `help config` for help on configuration options

Upgrading
---------

### If installed using pipx

`pipx upgrade yewtube`

Optionally with upgrading all dependencies:

`pipx runpip yewtube install --upgrade-strategy eager --upgrade yewtube`

### If installed using pip

`pip install --upgrade yewtube`

Optionally with upgrading all dependencies:

`pip install --upgrade-strategy eager --upgrade yewtube`

Usage
-----

yewtube is run on the command line using the command:

   `yt`

Enter `h` from within the program for help.


Using yewtube with mpris
------------------------

1. Install PyGObject, GTK and their dependencies based on this guide https://pygobject.readthedocs.io/en/latest/getting_started.html
2. Install yewtube with mpris extra

```shell
> # recommended
> pipx install 'yewtube[mpris]'
> # or
> pip install 'yewtube[mpris]'
```

3. check yewtube version

```shell
> yt --version
yewtube version    : 2.8.2
yt_dlp version     : 2022.02.04
Python version     : 3.9.7 (default, Nov  7 2021, 15:17:57)
[GCC 11.2.0]
Processor          : x86_64
Machine type       : x86_64
Architecture       : 64bit, ELF
Platform           : Linux-5.13.0-35-generic-x86_64-with-glibc2.34
sys.stdout.enc     : utf-8
default enc        : utf-8
Config dir         : /home/user/.config/mps-youtube
dbus               : 1.2.18
glib               : True
env:TERM           : tmux-256color
env:SHELL          : /usr/bin/zsh
env:LANG           : en_US.UTF-8
```

If everything working correctly, dbug and glib would have similar result as above text

4. run `set mpris true` on yewtube
5. check with `playerctl`

```shell
> playerctl -l
mps-youtube.instance567867
```

Check also the [common-issue](https://github.com/mps-youtube/yewtube/wiki/Common-issues) if you are having problem with yewtube.

How to Contribute
-----------------

Contributions are warmly welcomed! However, please check out the [contribution page](https://github.com/mps-youtube/yewtube/blob/master/CONTRIBUTING.md) before making a contribution.
