Example: build a read-only live lyrics companion
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
Create the new script at examples/live_lyrics.py, using examples/player.py and examples/lyrics.py as the reference for resource ownership and cancellation. Read how PlaybackState.position_ms and Lyrics.at() are exposed in the typed player and lyrics APIs before selecting the active line. Done means the script runs offline checks, handles missing or unsynchronized lyrics, discards stale lyric fetches on track change, exits cleanly on Ctrl+C, and is linked from the player docs.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Goal
Add one polished example that combines SpotAPI's existing typed player and lyrics APIs into a live, synchronized terminal companion. This demonstrates a complete workflow without expanding the core library.
Expected workflow
The example should:
- connect using the user's
SPOTIFY_COOKIE; - observe an existing Spotify player without starting playback;
- fetch lyrics when the current track changes;
- select active lines using
PlaybackState.position_msandLyrics.at(); - print track information, the current lyric, and the supplied artwork URL when available.
Acceptance criteria
- Add a focused
examples/live_lyrics.pyscript with no new runtime dependency. - Do not send playback commands, download audio, or write account data.
- Handle tracks without lyrics and unsynchronized lyrics clearly.
- Cancel or discard stale lyric work when the track changes.
- Exit cleanly on Ctrl+C and close owned resources.
- Link the example from the player documentation.
- Keep credentials out of output and error messages.
- Run the existing offline quality checks; a maintainer will perform final live verification.
Notes
This uses authenticated, entitlement-dependent Spotify behavior and therefore requires more care than the two beginner CLI issues. Preserve the ownership and cancellation patterns used in examples/player.py and examples/lyrics.py.
Comment before starting so duplicate work can be avoided.
- Vorherrschende Sprache
- Python
- Sterne
- 493
- Forks
- 40
- Ø Merge
- 5 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Aran404/SpotAPI
-
CLI: expose public search language with --languageEvtl. vergeben @semajzandrews hat das heute übernommen. Offenenhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
CLI: reject invalid player seek and volume values before connectingEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offenbug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Alle Issues in Aran404/SpotAPI
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
roman-corgi/corgisim#327 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openaiEvtl. vergeben @arvindkumar-ship-it hat das heute übernommen. Offenllm translation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
BerriAI/litellm#51871 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
PolicyEngine backdates South Carolina’s EITC into 2015–2017Evtl. vergeben @MaxGhenis hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
PolicyEngine/policyengine-us#10944 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
fix(frontend): resolve SSE parser crash on unhandled Ref methods and undefined actions identifierOffenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
kodokbakar/MiroFish-Local#94 ·
Maintainer antworten meist innerhalb von 1 Tag