You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+31-6Lines changed: 31 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ following:
47
47
48
48
- Open an [Issue](https://github.com/spotDL/spotify-downloader/issues/new).
49
49
- Provide as much context as you can about what you're running into.
50
-
- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.
50
+
- Provide project and platform versions (Node.js, npm, etc.), depending on what seems relevant.
51
51
52
52
We will then take care of the issue as soon as possible.
53
53
@@ -74,6 +74,31 @@ Depending on how large the project is, you may want to outsource the questioning
74
74
> that you have the necessary rights to the content and that the content you contribute may be
75
75
> provided under the project license.
76
76
77
+
---
78
+
79
+
### AUTOMATED CONTRIBUTIONS (AI / LLM) POLICY
80
+
81
+
#### AI Use
82
+
- It is in everyone's best interest to **not** submit issues, pull requests or feature requests that are AI-generated.
83
+
- All such requests will be closed and submitters will be blocked from the repository.
84
+
85
+
#### You must...
86
+
- Be able to understand and respond to questions relating to the issue or the fix you provide.
87
+
- You *can* use an AI tool for proofreading, translating or understanding the issue's content.
88
+
- You **cannot** use AI tools to generate the issue text, or the issue itself.
89
+
90
+
#### Pull Requests
91
+
- You should be able to explain every part of the code you have written/modified in your PR.
92
+
- If you do not understand your PR, **do not** submit it. You cannot use an AI tool to generate code for you.
93
+
94
+
The rationale behind this policy is that automated contributions are a waste of the maintainers' time. Humans spend their time and brainpower reviewing every submission. Issues or pull requests generated by automation tools create an imbalance of effort between the submitter and the reviewer. Nobody learns anything when a maintainer reviews code written by an LLM.
95
+
96
+
Additionally, such AI-generated content impedes legitimate issues and feature requests that would add more value to the project.
97
+
98
+
99
+
---
100
+
101
+
77
102
### Reporting Bugs
78
103
79
104
<!-- omit in toc -->
@@ -263,13 +288,13 @@ Any submitted code is expected to have accompanying documentation
263
288
264
289
- We generate our documentation with [`mkdocs`](https://www.mkdocs.org/)
265
290
266
-
generate docs with
291
+
Generate docs with
267
292
268
293
```bash
269
294
mkdocs build --strict
270
295
```
271
296
272
-
view docs live-time while editing with
297
+
View docs in real-time while editing with
273
298
274
299
```bash
275
300
mkdocs serve
@@ -280,7 +305,7 @@ Any submitted code is expected to have accompanying documentation
280
305
- For functions
281
306
282
307
```text
283
-
one-liner about functions purpose
308
+
one-liner about function's purpose
284
309
285
310
### Args (optional)
286
311
- arg_name: description
@@ -310,9 +335,9 @@ Any submitted code is expected to have accompanying documentation
310
335
- For modules/package `__init__`
311
336
312
337
```text
313
-
at max 3 lines about module/package purpose
338
+
At most 3 lines about module/package purpose
314
339
315
-
optional usage example for module/package preferably showcasing most commonly used functionality
340
+
Optional usage example for module/package, preferably showcasing most commonly used functionality
??? "KeyError: 'header' - YouTube Music API error"
135
+
136
+
This error occurs when YouTube Music's API response structure changes intermittently. The error has been fixed in ytmusicapi v1.11.1, which is the minimum version required by spotdl v4.4.3.
137
+
138
+
### Error Message
139
+
140
+
```
141
+
KeyError: "Unable to find 'header' using path ['header', 'musicCardShelfHeaderBasicRenderer', 'title', 'runs', 0, 'text']"
142
+
```
143
+
144
+
### Solution
145
+
146
+
1. Update ytmusicapi to v1.11.1 or later:
147
+
148
+
```bash
149
+
pip install -U ytmusicapi
150
+
```
151
+
152
+
2. If the error persists, reinstall spotdl:
153
+
154
+
```bash
155
+
pip install -U --force spotdl
156
+
```
157
+
158
+
3. If you're still experiencing issues, the error may be intermittent due to YouTube's anti-bot mechanisms. Wait a few minutes and try again.
159
+
160
+
### Background
161
+
162
+
YouTube Music occasionally returns different response structures from their API. Version 1.11.1 of ytmusicapi includes a fallback mechanism that handles cases where the `header` field is missing from search results. This fix was implemented in PR #800 (https://github.com/sigma67/ytmusicapi/pull/800) to address issue #799.
0 commit comments