SpotDown 0.0.1__py3-none-any.whl → 0.0.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- SpotDown/__init__.py +0 -0
- SpotDown/downloader/__init__.py +0 -0
- SpotDown/downloader/youtube_downloader.py +131 -0
- SpotDown/extractor/__init__.py +6 -0
- SpotDown/extractor/spotify_extractor.py +331 -0
- SpotDown/extractor/youtube_extractor.py +271 -0
- SpotDown/main.py +139 -0
- SpotDown/utils/__init__.py +6 -0
- SpotDown/utils/config_json.py +223 -0
- SpotDown/utils/console_utils.py +188 -0
- SpotDown/utils/file_utils.py +129 -0
- SpotDown/utils/headers.py +18 -0
- {spotdown-0.0.1.dist-info → spotdown-0.0.7.dist-info}/METADATA +182 -182
- spotdown-0.0.7.dist-info/RECORD +18 -0
- {spotdown-0.0.1.dist-info → spotdown-0.0.7.dist-info}/licenses/LICENSE +674 -674
- spotdown-0.0.7.dist-info/top_level.txt +1 -0
- spotdown-0.0.1.dist-info/RECORD +0 -6
- spotdown-0.0.1.dist-info/top_level.txt +0 -1
- {spotdown-0.0.1.dist-info → spotdown-0.0.7.dist-info}/WHEEL +0 -0
- {spotdown-0.0.1.dist-info → spotdown-0.0.7.dist-info}/entry_points.txt +0 -0
@@ -1,182 +1,182 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: SpotDown
|
3
|
-
Version: 0.0.
|
4
|
-
Home-page: https://github.com/Arrowar/SpotDown
|
5
|
-
Author: Arrowar
|
6
|
-
Project-URL: Bug Reports, https://github.com/Arrowar/SpotDown/issues
|
7
|
-
Project-URL: Source, https://github.com/Arrowar/SpotDown
|
8
|
-
Keywords: streaming community
|
9
|
-
Requires-Python: >=3.8
|
10
|
-
Description-Content-Type: text/markdown
|
11
|
-
License-File: LICENSE
|
12
|
-
Requires-Dist: rich
|
13
|
-
Requires-Dist: httpx
|
14
|
-
Requires-Dist: playwright
|
15
|
-
Requires-Dist: unidecode
|
16
|
-
Requires-Dist: ua-generator
|
17
|
-
Requires-Dist: unidecode
|
18
|
-
Requires-Dist: yt-dlp
|
19
|
-
Requires-Dist: Pillow
|
20
|
-
Dynamic: author
|
21
|
-
Dynamic: description
|
22
|
-
Dynamic: description-content-type
|
23
|
-
Dynamic: home-page
|
24
|
-
Dynamic: keywords
|
25
|
-
Dynamic: license-file
|
26
|
-
Dynamic: project-url
|
27
|
-
Dynamic: requires-dist
|
28
|
-
Dynamic: requires-python
|
29
|
-
|
30
|
-
# SpotDown 🎵
|
31
|
-
|
32
|
-
<div align="center">
|
33
|
-
|
34
|
-
## 📊 Project Status & Info
|
35
|
-
[](https://pypi.org/project/spotdown)
|
36
|
-
[](https://github.com/Arrowar/spotdown/commits)
|
37
|
-
[](https://github.com/Arrowar/spotdown/issues)
|
38
|
-
[](https://github.com/Arrowar/spotdown/blob/main/LICENSE)
|
39
|
-
|
40
|
-
## 💝 Support the Project
|
41
|
-
|
42
|
-
[](https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C)
|
43
|
-
## 🚀 Download & Install
|
44
|
-
|
45
|
-
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_win.exe)
|
46
|
-
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_mac)
|
47
|
-
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_linux_latest)
|
48
|
-
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_linux_previous)
|
49
|
-
|
50
|
-
---
|
51
|
-
|
52
|
-
*⚡ **Quick Start:** `pip install spotdown` or download the executable for your platform above*
|
53
|
-
|
54
|
-
</div>
|
55
|
-
|
56
|
-
## 📋 Table of Contents
|
57
|
-
|
58
|
-
- [✨ Features](#features)
|
59
|
-
- [🛠️ Installation](#installation)
|
60
|
-
- [⚙️ Configuration](#configuration)
|
61
|
-
- [💻 Usage](#usage)
|
62
|
-
- [📁 Project Structure](#project-structure)
|
63
|
-
- [🔧 Dependencies](#dependencies)
|
64
|
-
- [⚠️ Disclaimer](#disclaimer)
|
65
|
-
|
66
|
-
## ✨ Features
|
67
|
-
|
68
|
-
- 🎵 **Download individual songs** from Spotify
|
69
|
-
- 📋 **Download entire playlists** with ease
|
70
|
-
- 🔍 **No authentication required** - uses web scraping
|
71
|
-
- 🎨 **Automatic cover art embedding** (JPEG format)
|
72
|
-
|
73
|
-
## 🛠️ Installation
|
74
|
-
|
75
|
-
### Prerequisites
|
76
|
-
|
77
|
-
- **Python 3.8+**
|
78
|
-
- **FFmpeg** (for audio processing)
|
79
|
-
- **yt-dlp** (for downloading)
|
80
|
-
|
81
|
-
### 1. Install Python Dependencies
|
82
|
-
|
83
|
-
```bash
|
84
|
-
pip install -r requirements.txt
|
85
|
-
```
|
86
|
-
|
87
|
-
### 2. Install Playwright Chromium
|
88
|
-
|
89
|
-
```bash
|
90
|
-
playwright install chromium
|
91
|
-
```
|
92
|
-
|
93
|
-
### 3. Quick Start
|
94
|
-
|
95
|
-
Create a simple launcher script:
|
96
|
-
|
97
|
-
```python
|
98
|
-
from
|
99
|
-
|
100
|
-
if __name__ == "__main__":
|
101
|
-
main()
|
102
|
-
```
|
103
|
-
|
104
|
-
## ⚙️ Configuration
|
105
|
-
|
106
|
-
SpotDown uses a JSON configuration file with the following structure:
|
107
|
-
|
108
|
-
```json
|
109
|
-
{
|
110
|
-
"DEFAULT": {
|
111
|
-
"clean_console": true,
|
112
|
-
"show_message": true
|
113
|
-
},
|
114
|
-
"DOWNLOAD": {
|
115
|
-
"auto_first": false,
|
116
|
-
"quality": "320K"
|
117
|
-
},
|
118
|
-
"BROWSER": {
|
119
|
-
"headless": true,
|
120
|
-
"timeout": 6
|
121
|
-
}
|
122
|
-
}
|
123
|
-
```
|
124
|
-
|
125
|
-
### Configuration Options
|
126
|
-
|
127
|
-
#### DEFAULT Settings
|
128
|
-
- **`clean_console`**: Clear console output for cleaner interface
|
129
|
-
- **`show_message`**: Display informational messages during execution
|
130
|
-
|
131
|
-
#### DOWNLOAD Settings
|
132
|
-
- **`auto_first`**: Automatically select first search result
|
133
|
-
- **`quality`**: Audio quality (320K recommended for best quality)
|
134
|
-
|
135
|
-
#### BROWSER Settings
|
136
|
-
- **`headless`**: Run browser in background (recommended: true)
|
137
|
-
- **`timeout`**: Browser timeout in seconds
|
138
|
-
|
139
|
-
## 💻 Usage
|
140
|
-
|
141
|
-
### Basic Usage
|
142
|
-
|
143
|
-
```bash
|
144
|
-
python
|
145
|
-
```
|
146
|
-
|
147
|
-
### Download Individual Songs
|
148
|
-
|
149
|
-
1. Run the script
|
150
|
-
2. Paste the Spotify song URL when prompted
|
151
|
-
3. The script will automatically:
|
152
|
-
- Extract song information
|
153
|
-
- Search for the best quality version
|
154
|
-
- Download as MP3 with embedded cover art
|
155
|
-
|
156
|
-
### Download Playlists
|
157
|
-
|
158
|
-
1. Run the script
|
159
|
-
2. Paste the Spotify playlist URL when prompted
|
160
|
-
3. All songs in the playlist will be downloaded automatically
|
161
|
-
|
162
|
-
## 📝 To Do
|
163
|
-
|
164
|
-
- [ ] Implement batch download queue
|
165
|
-
- [ ] Add GUI interface option
|
166
|
-
- [ ] Support for additional music platforms
|
167
|
-
|
168
|
-
## ⚠️ Disclaimer
|
169
|
-
|
170
|
-
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
|
171
|
-
|
172
|
-
**Important**: This tool is intended for educational purposes and personal use only. Users are responsible for ensuring they comply with applicable laws and platform terms of service. The developers do not encourage or condone piracy or copyright infringement.
|
173
|
-
|
174
|
-
---
|
175
|
-
|
176
|
-
<div align="center">
|
177
|
-
|
178
|
-
**Made with ❤️ for music lovers**
|
179
|
-
|
180
|
-
*If you find this project useful, consider starring it! ⭐*
|
181
|
-
|
182
|
-
</div>
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: SpotDown
|
3
|
+
Version: 0.0.7
|
4
|
+
Home-page: https://github.com/Arrowar/SpotDown
|
5
|
+
Author: Arrowar
|
6
|
+
Project-URL: Bug Reports, https://github.com/Arrowar/SpotDown/issues
|
7
|
+
Project-URL: Source, https://github.com/Arrowar/SpotDown
|
8
|
+
Keywords: streaming community
|
9
|
+
Requires-Python: >=3.8
|
10
|
+
Description-Content-Type: text/markdown
|
11
|
+
License-File: LICENSE
|
12
|
+
Requires-Dist: rich
|
13
|
+
Requires-Dist: httpx
|
14
|
+
Requires-Dist: playwright
|
15
|
+
Requires-Dist: unidecode
|
16
|
+
Requires-Dist: ua-generator
|
17
|
+
Requires-Dist: unidecode
|
18
|
+
Requires-Dist: yt-dlp
|
19
|
+
Requires-Dist: Pillow
|
20
|
+
Dynamic: author
|
21
|
+
Dynamic: description
|
22
|
+
Dynamic: description-content-type
|
23
|
+
Dynamic: home-page
|
24
|
+
Dynamic: keywords
|
25
|
+
Dynamic: license-file
|
26
|
+
Dynamic: project-url
|
27
|
+
Dynamic: requires-dist
|
28
|
+
Dynamic: requires-python
|
29
|
+
|
30
|
+
# SpotDown 🎵
|
31
|
+
|
32
|
+
<div align="center">
|
33
|
+
|
34
|
+
## 📊 Project Status & Info
|
35
|
+
[](https://pypi.org/project/spotdown)
|
36
|
+
[](https://github.com/Arrowar/spotdown/commits)
|
37
|
+
[](https://github.com/Arrowar/spotdown/issues)
|
38
|
+
[](https://github.com/Arrowar/spotdown/blob/main/LICENSE)
|
39
|
+
|
40
|
+
## 💝 Support the Project
|
41
|
+
|
42
|
+
[](https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C)
|
43
|
+
## 🚀 Download & Install
|
44
|
+
|
45
|
+
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_win.exe)
|
46
|
+
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_mac)
|
47
|
+
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_linux_latest)
|
48
|
+
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_linux_previous)
|
49
|
+
|
50
|
+
---
|
51
|
+
|
52
|
+
*⚡ **Quick Start:** `pip install spotdown` or download the executable for your platform above*
|
53
|
+
|
54
|
+
</div>
|
55
|
+
|
56
|
+
## 📋 Table of Contents
|
57
|
+
|
58
|
+
- [✨ Features](#features)
|
59
|
+
- [🛠️ Installation](#installation)
|
60
|
+
- [⚙️ Configuration](#configuration)
|
61
|
+
- [💻 Usage](#usage)
|
62
|
+
- [📁 Project Structure](#project-structure)
|
63
|
+
- [🔧 Dependencies](#dependencies)
|
64
|
+
- [⚠️ Disclaimer](#disclaimer)
|
65
|
+
|
66
|
+
## ✨ Features
|
67
|
+
|
68
|
+
- 🎵 **Download individual songs** from Spotify
|
69
|
+
- 📋 **Download entire playlists** with ease
|
70
|
+
- 🔍 **No authentication required** - uses web scraping
|
71
|
+
- 🎨 **Automatic cover art embedding** (JPEG format)
|
72
|
+
|
73
|
+
## 🛠️ Installation
|
74
|
+
|
75
|
+
### Prerequisites
|
76
|
+
|
77
|
+
- **Python 3.8+**
|
78
|
+
- **FFmpeg** (for audio processing)
|
79
|
+
- **yt-dlp** (for downloading)
|
80
|
+
|
81
|
+
### 1. Install Python Dependencies
|
82
|
+
|
83
|
+
```bash
|
84
|
+
pip install -r requirements.txt
|
85
|
+
```
|
86
|
+
|
87
|
+
### 2. Install Playwright Chromium
|
88
|
+
|
89
|
+
```bash
|
90
|
+
playwright install chromium
|
91
|
+
```
|
92
|
+
|
93
|
+
### 3. Quick Start
|
94
|
+
|
95
|
+
Create a simple launcher script:
|
96
|
+
|
97
|
+
```python
|
98
|
+
from spotdown.run import main
|
99
|
+
|
100
|
+
if __name__ == "__main__":
|
101
|
+
main()
|
102
|
+
```
|
103
|
+
|
104
|
+
## ⚙️ Configuration
|
105
|
+
|
106
|
+
SpotDown uses a JSON configuration file with the following structure:
|
107
|
+
|
108
|
+
```json
|
109
|
+
{
|
110
|
+
"DEFAULT": {
|
111
|
+
"clean_console": true,
|
112
|
+
"show_message": true
|
113
|
+
},
|
114
|
+
"DOWNLOAD": {
|
115
|
+
"auto_first": false,
|
116
|
+
"quality": "320K"
|
117
|
+
},
|
118
|
+
"BROWSER": {
|
119
|
+
"headless": true,
|
120
|
+
"timeout": 6
|
121
|
+
}
|
122
|
+
}
|
123
|
+
```
|
124
|
+
|
125
|
+
### Configuration Options
|
126
|
+
|
127
|
+
#### DEFAULT Settings
|
128
|
+
- **`clean_console`**: Clear console output for cleaner interface
|
129
|
+
- **`show_message`**: Display informational messages during execution
|
130
|
+
|
131
|
+
#### DOWNLOAD Settings
|
132
|
+
- **`auto_first`**: Automatically select first search result
|
133
|
+
- **`quality`**: Audio quality (320K recommended for best quality)
|
134
|
+
|
135
|
+
#### BROWSER Settings
|
136
|
+
- **`headless`**: Run browser in background (recommended: true)
|
137
|
+
- **`timeout`**: Browser timeout in seconds
|
138
|
+
|
139
|
+
## 💻 Usage
|
140
|
+
|
141
|
+
### Basic Usage
|
142
|
+
|
143
|
+
```bash
|
144
|
+
python run.py
|
145
|
+
```
|
146
|
+
|
147
|
+
### Download Individual Songs
|
148
|
+
|
149
|
+
1. Run the script
|
150
|
+
2. Paste the Spotify song URL when prompted
|
151
|
+
3. The script will automatically:
|
152
|
+
- Extract song information
|
153
|
+
- Search for the best quality version
|
154
|
+
- Download as MP3 with embedded cover art
|
155
|
+
|
156
|
+
### Download Playlists
|
157
|
+
|
158
|
+
1. Run the script
|
159
|
+
2. Paste the Spotify playlist URL when prompted
|
160
|
+
3. All songs in the playlist will be downloaded automatically
|
161
|
+
|
162
|
+
## 📝 To Do
|
163
|
+
|
164
|
+
- [ ] Implement batch download queue
|
165
|
+
- [ ] Add GUI interface option
|
166
|
+
- [ ] Support for additional music platforms
|
167
|
+
|
168
|
+
## ⚠️ Disclaimer
|
169
|
+
|
170
|
+
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
|
171
|
+
|
172
|
+
**Important**: This tool is intended for educational purposes and personal use only. Users are responsible for ensuring they comply with applicable laws and platform terms of service. The developers do not encourage or condone piracy or copyright infringement.
|
173
|
+
|
174
|
+
---
|
175
|
+
|
176
|
+
<div align="center">
|
177
|
+
|
178
|
+
**Made with ❤️ for music lovers**
|
179
|
+
|
180
|
+
*If you find this project useful, consider starring it! ⭐*
|
181
|
+
|
182
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
SpotDown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
+
SpotDown/main.py,sha256=TjxUMIe0ee8IMbnYhXekO2MoLRiY6pJ5CCPgz7pOpHg,5042
|
3
|
+
SpotDown/downloader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
+
SpotDown/downloader/youtube_downloader.py,sha256=zHl98F2Ax72wTg3n8pohmkBZgBIPff0NrD9QKhG-TBM,4589
|
5
|
+
SpotDown/extractor/__init__.py,sha256=pQtkjMzB4D8AVEFQ3pnp_UQI-KbYaQhZbKuDnMImN0o,161
|
6
|
+
SpotDown/extractor/spotify_extractor.py,sha256=abE48E4M8s3xf95a28IYD8L4K2-QFDaYoZC5V0Jqu-4,13486
|
7
|
+
SpotDown/extractor/youtube_extractor.py,sha256=XIPNWEBb5oUkGP1DrQ4h4XTJvHlBlbVIkAFNdpFE-Rc,9586
|
8
|
+
SpotDown/utils/__init__.py,sha256=ZhJJhNQkUd4XG6vkoVQSC3qvSlaArhsRjscn4bfC9WA,128
|
9
|
+
SpotDown/utils/config_json.py,sha256=Z_fuM2mYQVPc51sQ_-LXrX-ArTPL-lRDcQ3lLM_hmck,7435
|
10
|
+
SpotDown/utils/console_utils.py,sha256=A1zNRyB9yG7BqWzlQgfVZ25cWUjMmYQooRKyeqVlcDw,6823
|
11
|
+
SpotDown/utils/file_utils.py,sha256=Lgq_Nu1r-bVIH37H7Mx73WgotN_nrgMUAT2STDyEYoY,3495
|
12
|
+
SpotDown/utils/headers.py,sha256=nSF2rEQEl7g2tIJMjz9c5mAQfLiugfWwdlJBhtMfBSo,312
|
13
|
+
spotdown-0.0.7.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
14
|
+
spotdown-0.0.7.dist-info/METADATA,sha256=LSLqp2ukK5M9uvV4xwMiC1rwlJiPHxJNFri8fnqfRLY,5759
|
15
|
+
spotdown-0.0.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
16
|
+
spotdown-0.0.7.dist-info/entry_points.txt,sha256=E0FfPESnVOw1IKTawv1GKhIFc0nf-6OfYqnjvj_ag4o,47
|
17
|
+
spotdown-0.0.7.dist-info/top_level.txt,sha256=1E-ZZ8rsrXmBPAsseY_kEfHfNo9w9PtSCaS6pM63-tw,9
|
18
|
+
spotdown-0.0.7.dist-info/RECORD,,
|