https://github.com/pombadev/sunny
Tool to download free music from Bandcamp. Automatically organize files to folder, ID3 tags (including album art).
https://github.com/pombadev/sunny
bandcamp bandcamp-dl bandcamp-downloader bandcamp-ripper rust
Last synced: 4 months ago
JSON representation
Tool to download free music from Bandcamp. Automatically organize files to folder, ID3 tags (including album art).
- Host: GitHub
- URL: https://github.com/pombadev/sunny
- Owner: pombadev
- License: mit
- Created: 2021-05-03T15:32:07.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-09-17T15:44:41.000Z (over 1 year ago)
- Last Synced: 2024-11-16T16:39:02.129Z (5 months ago)
- Topics: bandcamp, bandcamp-dl, bandcamp-downloader, bandcamp-ripper, rust
- Language: Rust
- Homepage:
- Size: 554 KB
- Stars: 29
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE-2.0.md
Awesome Lists containing this project
README
Welcome to sunny 🌞
> Tool to download freely available music from bandcamp.
>
> Automatically organize files to folder, ID3 tags (including album art).### Demo
[](./assets/demo.gif)
### Motivation
Sunny is hugely inspired by [SoundScrape](https://github.com/Miserlou/SoundScrape), the main motivation for writing this was speed and customizability.
- SoundScrape downloads sequentially whereas Sunny does parallelly, giving a huge boost of speed.
- Track format can be customized.### Format
By default, files are saved in this structure in current directory if `--path` option is not passed.
```
Artist
├── Album
│  ├── 01 - Track.mp3
│  ├── 02 - Track.mp3
│  ├── 03 - Track.mp3
│  ├── 04 - Track.mp3
```## Install
```sh
cargo install sunny
```## Usage
```sh
# whole discography of an artist by url
sunny https://65daysofstatic.bandcamp.com/music# whole discography just by the name of the artist
sunny 65daysofstatic# single album
sunny https://clevergirl.bandcamp.com/album/no-drum-and-bass-in-the-jazz-room# single track
sunny https://65daysofstatic.bandcamp.com/track/twenty-four-twelve-twenty# specify path to download to
sunny yvetteyoung --path=~/Music
```## CLI options
```
Usage: sunny [OPTIONS]Arguments:
Artist's bandcamp username or full urlOptions:
-t, --track-format
Specify track format: default is '{num} - {track}'available keys:
{num} - track number
{track} - track
{artist} - artist
{album} - albumusage:
-t='{num} - {track} - {album} {artist}'expands to:
2 - Track - Album Artistnote that `.mp3` is appended automatically.
-p, --path
Directory path where downloads should be saved to.
By default files are saved in the current directory.-S, --skip-albums
Skip downloading these albums, note that albums need to be delimited by ',' eg: -s 'one,two' or --skip-albums=one,two-l, --list-available
List albums/tracks available for download-s, --search
Search artist, album, label, track or all, instead of downloading-T, --type
Specify type to search for, available only for `--search` flag[default: artists]
[possible values: all, artists, labels, albums, tracks]-h, --help
Print help (see a summary with '-h')-V, --version
Print version--dry-run
Do not do anything; just show what would happenNote: run --help to see full descriptions of each flags/options
```## Contributing
Contributions, issues and feature requests are welcome!
Please have a look at [TODO.md](./TODO.md).