Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prettier readme #1006

Merged
31 commits merged into from
Dec 22, 2020
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
2b5b6e3
root main
phcreery Oct 19, 2020
e7ca3ef
Merge branch 'master' of https://github.com/spotDL/spotify-downloader
phcreery Oct 30, 2020
9e3c9e1
Merge branch 'master' of https://github.com/spotDL/spotify-downloader
phcreery Nov 24, 2020
d1015c2
add '.venv' to `.gitignore`
phcreery Nov 30, 2020
6b70933
update readme
phcreery Nov 30, 2020
90d7ef0
revert 'main' at root
phcreery Nov 30, 2020
589e6e6
formatting and consistency
phcreery Dec 1, 2020
7af97fd
quote & clarity
phcreery Dec 1, 2020
2a4f304
some more formatting
phcreery Dec 1, 2020
b6f7801
capitalization
phcreery Dec 1, 2020
f14d811
update quote
phcreery Dec 3, 2020
84746cb
grammar errors
phcreery Dec 5, 2020
3c4ece8
another grammar error
phcreery Dec 5, 2020
63ea1cb
more grammar and punctuation
phcreery Dec 6, 2020
30ac69d
chain vs queue grammar
phcreery Dec 10, 2020
bb0a4f0
include discussion
phcreery Dec 12, 2020
909c94a
v2 support notice
phcreery Dec 13, 2020
89c7af5
`pip install ...` over `python setup.py ...`
phcreery Dec 15, 2020
7da3994
comma in sentance
phcreery Dec 16, 2020
6320dc0
correct link reference
phcreery Dec 16, 2020
bd63031
revert comma in sentance
phcreery Dec 16, 2020
8372434
Merge branch 'prettier_readme' of https://github.com/phcreery/spotify…
phcreery Dec 16, 2020
3a1ca0b
revert comma
phcreery Dec 16, 2020
e12a2fa
venv as option
phcreery Dec 16, 2020
1ad5cfb
more descriptive description
phcreery Dec 16, 2020
b4b50d4
correcting version-related information
phcreery Dec 16, 2020
6013abd
pipx suggestion
phcreery Dec 21, 2020
f020df3
remove organization reference
phcreery Dec 21, 2020
f9ee3ba
remove as-a-python-library usage
phcreery Dec 21, 2020
2a55ee0
add betterCode badge
phcreery Dec 21, 2020
a1d2050
Merge branch 'master' into prettier_readme
Dec 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# Python
__pycache__
.mypy_cache
.venv

# vscode
.vscode
Expand Down
183 changes: 118 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,106 +1,159 @@
![logo](static/logo.png)

# spotDL

[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/spotDL/spotify-downloader/blob/master/LICENSE)
> The fastest, easiest, and most accurate command-line music downloader

⚠ Interested Contributors, please read our [contributing Guidelines](CONTRIBUTING.md) first.
[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/spotDL/spotify-downloader/blob/master/LICENSE) ![Contributors](https://img.shields.io/github/contributors/spotDL/spotify-downloader) ![downloads](https://img.shields.io/github/downloads/spotDL/spotify-downloader/latest/total)
phcreery marked this conversation as resolved.
Show resolved Hide resolved
[![pypi version](https://img.shields.io/pypi/v/spotDL)](https://pypi.org/project/spotdl/) [![pypi version](https://img.shields.io/pypi/pyversions/spotDL)](https://pypi.org/project/spotdl/) [![pypi downloads](https://img.shields.io/pypi/dw/spotDL?label=downloads@pypi)](https://pypi.org/project/spotdl/)

⚠ We are dropping active development of spotDL v2. No focused efforts will be made to resolve v2
specific issues.

⚠ We are actively looking for Contributors/Organization Members for all projects under development.
If interested, see [#857](https://github.com/spotDL/spotify-downloader/issues/857)
What spotDL does:
1. Downloads music from YouTube as an MP3 file
2. Applies basic metadata such as:
- Track Name
- Track Number
- Album
- Album Cover
- Genre
- and more!

⚠ There are a few feature requests we'd like the community to vote on. Do voice your support for features you'd like.
See [#867](https://github.com/spotDL/spotify-downloader/issues/867) to vote.

<br><br>
### Announcing spotDL v3

What spotDL does:
1. Downloads music from YouTube as an MP3 file
2. Applies basic metadata like `track name`, `track number`, `album`, `genre` and more...
We rebuilt spotDL from scratch to be much faster, simpler, and better than the old spotDL.
he documentation is also a work in progress. v3.0.2 is yet to be released to PyPi so you can't install it using `pip`, this is intentional. v3.0.2 is still in alpha testing. We request that you use spotDL v3 and submit issues to voice problems and like-to-haves that you come across.

<br><br>
#### Please Read

You need to download ffmpeg to use this tool, download it from:
1. [MacOs](https://evermeet.cx/ffmpeg/)
2. [Windows](https://www.gyan.dev/ffmpeg/builds/)
3. [Linux](https://johnvansickle.com/ffmpeg/)
4. [Central Release Page](https://ffmpeg.org/download.html)
⚠ We have dropped active development of spotDL v2 due to support and organization changes. No focused efforts will be made to resolve v2 specific issues.
phcreery marked this conversation as resolved.
Show resolved Hide resolved

<br><br>
⚠ We are actively looking for Contributors/Organization Members for all projects under development. If interested, please read our [Contributing Guidelines](CONTRIBUTING.md) first and see [#857](https://github.com/spotDL/spotify-downloader/issues/857)

# Announcing spotDL v3.0.2
⚠ There are a few feature requests we'd like the community to vote on. Do voice your support for features you'd like. See [#867](https://github.com/spotDL/spotify-downloader/issues/867) to vote.

We have rebuilt spotDL from scratch to be much faster, simpler and better than the old spotDL.
The documentation for the same is a work in progress. v3.0.2 is yet to be released to PyPi so you
can't install it using `pip`, this is intentional. v3.0.2 is still in alpha testing. We request that
you use spotDL v3 and open issues for problems that you come across.
<br/>
aklajnert marked this conversation as resolved.
Show resolved Hide resolved

# Installation
## Installation

1. For stable version
You need to download FFmpeg to use this tool. Download and installation instructions can be found at [FFmpeg.org](https://ffmpeg.org/)


- Recommended Stable Version:
aklajnert marked this conversation as resolved.
Show resolved Hide resolved

```
$pip install spotdl
$ pip install spotdl
```

2. For latest version (not necessarily stable)
- Alternatively, for the latest version (not necessarily stable):

```
$pip install https://github.com/spotDL/spotify-downloader/archive/next-rel-dev.zip
$ pip install https://github.com/spotDL/spotify-downloader/archive/next-rel-dev.zip
```

3. Voila !

# How to use (instructions for v3)
To download a song run,
*The availability of YouTube Music in your country is important for spotDL to work since we use YouTube Music to filter out our search results. To check if YouTube Music is available in your country, visit [YouTube Music](https://music.youtube.com).*

# spotdl $trackUrl
spotdl https://open.spotify.com/track/08mG3Y1vljYA6bvDt4Wqkj?si=SxezdxmlTx-CaVoucHmrUA

To download an album run,

# spotdl $albumUrl
spotdl https://open.spotify.com/album/2YMWspDGtbDgYULXvVQFM6?si=gF5dOQm8QUSo-NdZVsFjAQ
## Usage (instructions for v3)

To download a playlist run,

# spotdl $playlistUrl
spotdl https://open.spotify.com/playlist/37i9dQZF1DWXhcuQw7KIeM?si=xubKHEBESM27RqGkqoXzgQ
- To download a song, run:

To search for and download a song (not very accurate) run,

# spotdl $songQuery
spotdl 'The HU - Sugaan Essenna'
```
$ spotdl [trackUrl]
```
ex. `spotdl https://open.spotify.com/track/08mG3Y1vljYA6bvDt4Wqkj?si=SxezdxmlTx-CaVoucHmrUA`
<br/>

To resume a failed/incomplete download run,

- ```
# spotdl $pathToTrackingFile
spotdl 'Sugaan Essenna.spotdlTrackingFile'
- To download an album, run:

```
$ spotdl [albumUrl]
```
ex. `spotdl https://open.spotify.com/album/2YMWspDGtbDgYULXvVQFM6?si=gF5dOQm8QUSo-NdZVsFjAQ`
<br/>

- To download a playlist, run:

```
$ spotdl [playlistUrl]
```
ex. `spotdl https://open.spotify.com/playlist/37i9dQZF1DWXhcuQw7KIeM?si=xubKHEBESM27RqGkqoXzgQ`
<br/>

- To search for and download a song, run (with quotation marks):
*(Note: This may not be very accurate)*

phcreery marked this conversation as resolved.
Show resolved Hide resolved
```
$ spotdl '[songQuery]'
```
ex. `spotdl 'The HU - Sugaan Essenna'`

<br/>

- Note, '.spotDlTrackingFiles' are automatically created during download start, they are deleted on
download completion
- To resume a failed/incomplete download, run:

You can chain up download tasks by seperating them with spaces:
```
$ spotdl [pathToTrackingFile]
```
ex. `spotdl 'Sugaan Essenna.spotdlTrackingFile'`

# spotdl $songQuery1 $albumUrl $songQuery2 ... (order does not matter)
spotdl 'The Hu - Sugaan Essenna' https://open.spotify.com/playlist/37i9dQZF1DWXhcuQw7KIeM?si=xubKHEBESM27RqGkqoXzgQ ...
*`.spotDlTrackingFiles` are automatically created when a download starts, and deleted on completion*

<br/>

You can queue up multiple download tasks by separating the arguments with spaces:

```
$ spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)
```
ex. `spotdl 'The Hu - Sugaan Essenna' https://open.spotify.com/playlist/37i9dQZF1DWXhcuQw7KIeM?si=xubKHEBESM27RqGkqoXzgQ ...`

<br/>

Spotdl downloads up to 4 songs in parallel - try to download albums and playlists instead of
tracks for more speed.
*spotDL downloads up to 4 songs in parallel, so try to download albums and playlists, instead of tracks for a faster experience.*

# Note

The availability of YouTube Music in your country is important for spotDL to work since we use YouTube Music to filter out our search results.
To check if YouTube Music is available in your country, visit [YouTube Music](https://music.youtube.com).
## For Developers and Contributors

1. Clone this repository
```
$ git clone https://github.com/spotDL/spotify-downloader.git
$ cd spotify-downloader
```
2. Install requirements
- Windows
```
$ py -3 -m venv env
$ .\.venv\Scripts\activate
(.venv)$ python setup.py develop
phcreery marked this conversation as resolved.
Show resolved Hide resolved
```
- Linux/macOS
```
$ python3 -m venv .venv
$ source .venv/bin/activate
(.venv)$ python setup.py develop
```
- Use as Command (no need to re-install after file changes)
```
(.venv)$ spotdl [ARGUMENTS]
```
- Use as Library
```
(.venv)$ python
>>> import spotdl
phcreery marked this conversation as resolved.
Show resolved Hide resolved
>>> ...
```
- Cleaning Up
```
(.venv)$ deactivate
```


# Thanks for developing the v3.0.1
## Thanks for developing v3.0.1
1. [@ritiek](https://github.com/ritiek) for creating and maintaining spotDL for 4 years
2. [@rocketinventor](https://github.com/rocketinventor) for figuring out the YouTube Music querying
2. [@rocketinventor](https://github.com/rocketinventor) for figuring out YouTube Music querying
3. [@Mikhail-Zex](https://github.com/Mikhail-Zex) for, never mind...

# A few interesting forks
## A few interesting forks
1. [aasmpro/spotify/downloader](https://github.com/aasmpro/spotify-downloader)
- Sets metadata for songs that are already downloaded (v2 only.)
Binary file added static/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.