Metadata-Version: 2.1
Name: streamrip
Version: 1.7
Summary: A fast, all-in-one music ripper for Qobuz, Deezer, Tidal, and SoundCloud
Home-page: https://github.com/nathom/streamrip
License: GPL-3.0-only
Keywords: hi-res,free,music,download,tqdm
Author: nathom
Author-email: nathanthomas707@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: Pillow (>=8.3.0,<9.0.0)
Requires-Dist: aiodns (>=3.0.0,<4.0.0)
Requires-Dist: aiofiles (>=0.7.0,<0.8.0)
Requires-Dist: aiohttp (>=3.7.4,<4.0.0)
Requires-Dist: appdirs (>=1.4.4,<2.0.0)
Requires-Dist: cchardet (>=2.1.7,<3.0.0)
Requires-Dist: cleo (==1.0.0a3)
Requires-Dist: click (>=8.0.1,<9.0.0)
Requires-Dist: deezer-py (>=1.0.4,<2.0.0)
Requires-Dist: m3u8 (>=0.9.0,<0.10.0)
Requires-Dist: mutagen (>=1.45.1,<2.0.0)
Requires-Dist: pathvalidate (>=2.4.1,<3.0.0)
Requires-Dist: pick (>=1.0.0,<2.0.0); sys_platform == "cygwin"
Requires-Dist: pycryptodomex (>=3.10.1,<4.0.0)
Requires-Dist: requests (>=2.25.1,<3.0.0)
Requires-Dist: simple-term-menu (>=1.2.1,<2.0.0); sys_platform == "darwin" or sys_platform == "linux"
Requires-Dist: tomlkit (>=0.7.2,<0.8.0)
Requires-Dist: tqdm (>=4.61.1,<5.0.0)
Requires-Dist: windows-curses (>=2.2.0,<3.0.0); sys_platform == "win32" or sys_platform == "cygwin"
Project-URL: Bug Reports, https://github.com/nathom/streamrip/issues
Project-URL: Repository, https://github.com/nathom/streamrip
Description-Content-Type: text/markdown

# streamrip

[![Downloads](https://pepy.tech/badge/streamrip)](https://pepy.tech/project/streamrip)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)

A scriptable stream downloader for Qobuz, Tidal, Deezer and SoundCloud.

![Streamrip downloading an album](https://github.com/nathom/streamrip/blob/dev/demo/download_album.png?raw=true)


## Features

- Super fast, as it utilizes concurrent downloads and conversion
- Downloads tracks, albums, playlists, discographies, and labels from Qobuz, Tidal, Deezer, and SoundCloud
- Supports downloads of Spotify and Apple Music playlists through [last.fm](https://www.last.fm)
- Automatically converts files to a preferred format
- Has a database that stores the downloaded tracks' IDs so that repeats are avoided
- Easy to customize with the config file
- Integration with `youtube-dl`

## Installation

First, ensure [Python](https://www.python.org/downloads/) (version 3.8 or greater) and [pip](https://pip.pypa.io/en/stable/installing/) are installed. Then run the following in the command line:

```bash
pip3 install streamrip --upgrade
```

When you type

```bash
rip
```

it should show the main help page. If you have no idea what these mean, or are having other issues installing, check out the [detailed installation instructions](https://github.com/nathom/streamrip/wiki#detailed-installation-instructions).

If you would like to use `streamrip`'s conversion capabilities, download TIDAL videos, or download music from SoundCloud, install [ffmpeg](https://ffmpeg.org/download.html). To download music from YouTube, install [youtube-dl](https://github.com/ytdl-org/youtube-dl#installation).

### Streamrip beta

If you want to get access to the latest and greatest features without waiting for a new release, install
from the `dev` branch with the following command

```bash
pip3 install git+https://github.com/nathom/streamrip.git@dev
```

## Example Usage

**For Tidal and Qobuz, you NEED a premium subscription.**

Download an album from Qobuz

```bash
rip url https://www.qobuz.com/us-en/album/rumours-fleetwood-mac/0603497941032
```

Download multiple albums from Qobuz

```bash
rip url https://www.qobuz.com/us-en/album/back-in-black-ac-dc/0886444889841 https://www.qobuz.com/us-en/album/blue-train-john-coltrane/0060253764852
```



Download the album and convert it to `mp3`

```bash
rip url --codec mp3 https://open.qobuz.com/album/0060253780968
```



To set the maximum quality, use the `--max-quality` option to `0, 1, 2, 3, 4`:

| Quality ID | Audio Quality         | Available Sources                            |
| ---------- | --------------------- | -------------------------------------------- |
| 0          | 128 kbps MP3 or AAC   | Deezer, Tidal, SoundCloud (most of the time) |
| 1          | 320 kbps MP3 or AAC   | Deezer, Tidal, Qobuz, SoundCloud (rarely)    |
| 2          | 16 bit, 44.1 kHz (CD) | Deezer, Tidal, Qobuz, SoundCloud (rarely)    |
| 3          | 24 bit, ≤ 96 kHz      | Tidal (MQA), Qobuz, SoundCloud (rarely)      |
| 4          | 24 bit, ≤ 192 kHz     | Qobuz                                        |



```bash
rip url --max-quality 3 https://tidal.com/browse/album/147569387
```

Search for albums matching `lil uzi vert` on SoundCloud

```bash
rip search --source soundcloud 'lil uzi vert'
```

![streamrip interactive search](https://github.com/nathom/streamrip/blob/dev/demo/album_search.png?raw=true)

Search for *Rumours* on Tidal, and download it

```bash
rip search 'fleetwood mac rumours'
```

Want to find some new music? Use the `discover` command (only on Qobuz)

```bash
rip discover --list 'best-sellers'
```

Download a last.fm playlist using the lastfm command

```
rip lastfm https://www.last.fm/user/nathan3895/playlists/12126195
```

For extreme customization, see the config file

```
rip config --open
```



If you're confused about anything, see the help pages. The main help pages can be accessed by typing `rip` by itself in the command line. The help pages for each command can be accessed with the `-h` flag. For example, to see the help page for the `url` command, type

```
rip url -h
```

![example_help_page.png](https://github.com/nathom/streamrip/blob/dev/demo/example_help_page.png?raw=true)

## Other information

For more in-depth information about `streamrip`, see the help pages and the [wiki](https://github.com/nathom/streamrip/wiki/).


## Contributions

All contributions are appreciated! You can help out the project by opening an issue
or by submitting code.

### Issues

If you're opening an issue **use the Feature Request or Bug Report templates properly**. This ensures
that I have all of the information necessary to debug the issue. If you do not follow the templates,
**I will silently close the issue** and you'll have to deal with it yourself.

### Code

If you're new to Git, follow these steps to open your first Pull Request (PR):

- Fork this repository
- Clone the new repository
- Commit your changes
- Open a pull request to the `dev` branch

Please document any functions or obscure lines of code.

### The Wiki

To help out `streamrip` users that may be having trouble, consider contributing some information to the wiki. 
Nothing is too obvious and everything is appreciated.

## Acknowledgements

Thanks to Vitiko98, Sorrow446, and DashLt for their contributions to this project, and the previous projects that made this one possible.

`streamrip` was inspired by:

- [qobuz-dl](https://github.com/vitiko98/qobuz-dl)
- [Qo-DL Reborn](https://github.com/badumbass/Qo-DL-Reborn)
- [Tidal-Media-Downloader](https://github.com/yaronzz/Tidal-Media-Downloader)
- [scdl](https://github.com/flyingrub/scdl)



## Disclaimer


I will not be responsible for how you use `streamrip`. By using `streamrip`, you agree to the terms and conditions of the Qobuz, Tidal, and Deezer APIs.

