streamrip


Namestreamrip JSON
Version 2.0.5 PyPI version JSON
download
home_pagehttps://github.com/nathom/streamrip
SummaryA fast, all-in-one music ripper for Qobuz, Deezer, Tidal, and SoundCloud
upload_time2024-01-25 00:09:03
maintainer
docs_urlNone
authornathom
requires_python>=3.10,<4.0
licenseGPL-3.0-only
keywords hi-res free music download
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![streamrip logo](https://github.com/nathom/streamrip/blob/dev/demo/logo.svg?raw=true)

[![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.

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

## Features

- Fast, concurrent downloads powered by `aiohttp`
- 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
- Concurrency and rate limiting
- Interactive search for all sources
- Highly customizable through the config file
- Integration with `youtube-dl`

## Installation

First, ensure [Python](https://www.python.org/downloads/) (version 3.10 or greater) and [pip](https://pip.pypa.io/en/stable/installing/) are installed. Then install `ffmpeg`. You may choose not to install this, but some functionality will be limited.

```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).


### 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 --quality 3 https://tidal.com/browse/album/147569387
```

> Using `4` is generally a waste of space. It is impossible for humans to perceive the between sampling rates higher than 44.1 kHz. It may be useful if you're processing/slowing down the audio.

Search for albums matching `lil uzi vert` on SoundCloud

```bash
rip search tidal playlist 'rap'
```

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

Search for *Rumours* on Tidal, and download it

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

Download a last.fm playlist using the lastfm command

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

For more 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 `-help` flag. For example, to see the help page for the `url` command, type

```
rip url --help
```

![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.

## Sponsorship

Consider becoming a Github sponsor for me if you enjoy my open source software.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nathom/streamrip",
    "name": "streamrip",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "hi-res,free,music,download",
    "author": "nathom",
    "author_email": "nathanthomas707@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e1/dc/25ad09d8bcd9864eb78cc681c4f40d0a8d07069aa5672566af08f4b12308/streamrip-2.0.5.tar.gz",
    "platform": null,
    "description": "![streamrip logo](https://github.com/nathom/streamrip/blob/dev/demo/logo.svg?raw=true)\n\n[![Downloads](https://pepy.tech/badge/streamrip)](https://pepy.tech/project/streamrip)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n\nA scriptable stream downloader for Qobuz, Tidal, Deezer and SoundCloud.\n\n![downloading an album](https://github.com/nathom/streamrip/blob/dev/demo/download_album.png?raw=true)\n\n## Features\n\n- Fast, concurrent downloads powered by `aiohttp`\n- Downloads tracks, albums, playlists, discographies, and labels from Qobuz, Tidal, Deezer, and SoundCloud\n- Supports downloads of Spotify and Apple Music playlists through [last.fm](https://www.last.fm)\n- Automatically converts files to a preferred format\n- Has a database that stores the downloaded tracks' IDs so that repeats are avoided\n- Concurrency and rate limiting\n- Interactive search for all sources\n- Highly customizable through the config file\n- Integration with `youtube-dl`\n\n## Installation\n\nFirst, ensure [Python](https://www.python.org/downloads/) (version 3.10 or greater) and [pip](https://pip.pypa.io/en/stable/installing/) are installed. Then install `ffmpeg`. You may choose not to install this, but some functionality will be limited.\n\n```bash\npip3 install streamrip --upgrade\n```\n\nWhen you type\n\n```bash\nrip\n```\n\nit 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).\n\n\n### Streamrip beta\n\nIf you want to get access to the latest and greatest features without waiting for a new release, install\nfrom the `dev` branch with the following command\n\n```bash\npip3 install git+https://github.com/nathom/streamrip.git@dev\n```\n\n## Example Usage\n\n**For Tidal and Qobuz, you NEED a premium subscription.**\n\nDownload an album from Qobuz\n\n```bash\nrip url https://www.qobuz.com/us-en/album/rumours-fleetwood-mac/0603497941032\n```\n\nDownload multiple albums from Qobuz\n\n```bash\nrip 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\n```\n\n\n\nDownload the album and convert it to `mp3`\n\n```bash\nrip url --codec mp3 https://open.qobuz.com/album/0060253780968\n```\n\n\n\nTo set the maximum quality, use the `--max-quality` option to `0, 1, 2, 3, 4`:\n\n| Quality ID | Audio Quality         | Available Sources                            |\n| ---------- | --------------------- | -------------------------------------------- |\n| 0          | 128 kbps MP3 or AAC   | Deezer, Tidal, SoundCloud (most of the time) |\n| 1          | 320 kbps MP3 or AAC   | Deezer, Tidal, Qobuz, SoundCloud (rarely)    |\n| 2          | 16 bit, 44.1 kHz (CD) | Deezer, Tidal, Qobuz, SoundCloud (rarely)    |\n| 3          | 24 bit, \u2264 96 kHz      | Tidal (MQA), Qobuz, SoundCloud (rarely)      |\n| 4          | 24 bit, \u2264 192 kHz     | Qobuz                                        |\n\n\n```bash\nrip url --quality 3 https://tidal.com/browse/album/147569387\n```\n\n> Using `4` is generally a waste of space. It is impossible for humans to perceive the between sampling rates higher than 44.1 kHz. It may be useful if you're processing/slowing down the audio.\n\nSearch for albums matching `lil uzi vert` on SoundCloud\n\n```bash\nrip search tidal playlist 'rap'\n```\n\n![streamrip interactive search](https://github.com/nathom/streamrip/blob/dev/demo/playlist_search.png?raw=true)\n\nSearch for *Rumours* on Tidal, and download it\n\n```bash\nrip search tidal album 'fleetwood mac rumours'\n```\n\nDownload a last.fm playlist using the lastfm command\n\n```\nrip lastfm https://www.last.fm/user/nathan3895/playlists/12126195\n```\n\nFor more customization, see the config file\n\n```\nrip config open\n```\n\n\n\nIf 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 `-help` flag. For example, to see the help page for the `url` command, type\n\n```\nrip url --help\n```\n\n![example_help_page.png](https://github.com/nathom/streamrip/blob/dev/demo/example_help_page.png?raw=true)\n\n## Other information\n\nFor more in-depth information about `streamrip`, see the help pages and the [wiki](https://github.com/nathom/streamrip/wiki/).\n\n\n## Contributions\n\nAll contributions are appreciated! You can help out the project by opening an issue\nor by submitting code.\n\n### Issues\n\nIf you're opening an issue **use the Feature Request or Bug Report templates properly**. This ensures\nthat I have all of the information necessary to debug the issue. If you do not follow the templates,\n**I will silently close the issue** and you'll have to deal with it yourself.\n\n### Code\n\nIf you're new to Git, follow these steps to open your first Pull Request (PR):\n\n- Fork this repository\n- Clone the new repository\n- Commit your changes\n- Open a pull request to the `dev` branch\n\nPlease document any functions or obscure lines of code.\n\n### The Wiki\n\nTo help out `streamrip` users that may be having trouble, consider contributing some information to the wiki. \nNothing is too obvious and everything is appreciated.\n\n## Acknowledgements\n\nThanks to Vitiko98, Sorrow446, and DashLt for their contributions to this project, and the previous projects that made this one possible.\n\n`streamrip` was inspired by:\n\n- [qobuz-dl](https://github.com/vitiko98/qobuz-dl)\n- [Qo-DL Reborn](https://github.com/badumbass/Qo-DL-Reborn)\n- [Tidal-Media-Downloader](https://github.com/yaronzz/Tidal-Media-Downloader)\n- [scdl](https://github.com/flyingrub/scdl)\n\n\n\n## Disclaimer\n\nI 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.\n\n## Sponsorship\n\nConsider becoming a Github sponsor for me if you enjoy my open source software.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "A fast, all-in-one music ripper for Qobuz, Deezer, Tidal, and SoundCloud",
    "version": "2.0.5",
    "project_urls": {
        "Bug Reports": "https://github.com/nathom/streamrip/issues",
        "Homepage": "https://github.com/nathom/streamrip",
        "Repository": "https://github.com/nathom/streamrip"
    },
    "split_keywords": [
        "hi-res",
        "free",
        "music",
        "download"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "794c9912282dea3b83549b856f69301798ea5c90bcbb3f2a319883909d4c2cba",
                "md5": "6698f760b3e84f5c0ddb6ee7afaaccfe",
                "sha256": "808ef8310e1d54f6d2e899c5b0f10e244dd31c238a77c54f918e8da93ab08198"
            },
            "downloads": -1,
            "filename": "streamrip-2.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6698f760b3e84f5c0ddb6ee7afaaccfe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 87555,
            "upload_time": "2024-01-25T00:09:01",
            "upload_time_iso_8601": "2024-01-25T00:09:01.337709Z",
            "url": "https://files.pythonhosted.org/packages/79/4c/9912282dea3b83549b856f69301798ea5c90bcbb3f2a319883909d4c2cba/streamrip-2.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e1dc25ad09d8bcd9864eb78cc681c4f40d0a8d07069aa5672566af08f4b12308",
                "md5": "24b76adbd7c117141d97e36df7a3e881",
                "sha256": "6eb6c75eda786b473fb060747d9afe516374e741e06632675e5c181e5c68e7ae"
            },
            "downloads": -1,
            "filename": "streamrip-2.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "24b76adbd7c117141d97e36df7a3e881",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 71661,
            "upload_time": "2024-01-25T00:09:03",
            "upload_time_iso_8601": "2024-01-25T00:09:03.505640Z",
            "url": "https://files.pythonhosted.org/packages/e1/dc/25ad09d8bcd9864eb78cc681c4f40d0a8d07069aa5672566af08f4b12308/streamrip-2.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-25 00:09:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nathom",
    "github_project": "streamrip",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "streamrip"
}
        
Elapsed time: 0.22082s