Example: build a read-only live lyrics companion
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 42/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 493
- Fork
- 40
- Merge trung bình
- 5 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Aran404/SpotAPI
-
CLI: expose public search language with --languageCó thể đã có người làm @semajzandrews đã nhận hôm nay. Đang mởenhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
CLI: reject invalid player seek and volume values before connectingCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởbug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Tất cả issue của Aran404/SpotAPI
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
deepchem/deepchem#5289 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Pull Request for pretty_macĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 60/100
UKGovernmentBEIS/inspect_evals#2892 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Versioning docs: say that no output from the 0.46 warning check means nothing is affectedCó thể đã có người làm @grelinfo đã nhận hôm nay. Đang mởdocumentation priority:low size:S
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
alphacrack/readme2demo#293 ·