audio streaming app plyr.fm
38
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: update plyrfm CLI calls for v0.0.1a16 namespace restructure (#1293)

plyrfm CLI moved from flat commands to noun-first subcommands:
- `plyrfm delete` → `plyrfm tracks delete`
- `plyrfm upload` → `plyrfm tracks upload`
- `plyrfm my-tracks` → `plyrfm tracks my`

also update SDK examples in llms-full.txt for namespace API
(client.search → client.discover.search, etc.)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

authored by

nate nowack
Claude Opus 4.6 (1M context)
and committed by
GitHub
118ab6b4 fc229c6f

+10 -11
+2 -2
.github/workflows/status-maintenance.yml
··· 280 280 fi 281 281 282 282 # check existing tracks to determine episode number 283 - EXISTING=$(uv run --with plyrfm -- plyrfm my-tracks --limit 50 2>/dev/null || echo "") 283 + EXISTING=$(uv run --with plyrfm -- plyrfm tracks my --limit 50 2>/dev/null || echo "") 284 284 TODAY=$(date +'%B %d, %Y') 285 285 YEAR=$(date +%Y) 286 286 ··· 298 298 fi 299 299 300 300 echo "Uploading as: $TITLE" 301 - uv run --with plyrfm -- plyrfm upload update.wav "$TITLE" --album "$YEAR" -t "ai" 301 + uv run --with plyrfm -- plyrfm tracks upload update.wav "$TITLE" --album "$YEAR" -t "ai" 302 302 env: 303 303 PLYR_TOKEN: ${{ secrets.PLYR_BOT_TOKEN }}
+2 -2
.github/workflows/upload-audio.yml
··· 42 42 if: inputs.delete_track_id != '' 43 43 run: | 44 44 echo "Deleting track ${{ inputs.delete_track_id }}..." 45 - uv run --with plyrfm -- plyrfm delete "${{ inputs.delete_track_id }}" --yes 45 + uv run --with plyrfm -- plyrfm tracks delete "${{ inputs.delete_track_id }}" --yes 46 46 env: 47 47 PLYR_TOKEN: ${{ secrets.PLYR_BOT_TOKEN }} 48 48 ··· 69 69 echo "Album: $ALBUM" 70 70 echo "Tags: $TAGS" 71 71 72 - eval uv run --with plyrfm -- plyrfm upload update.wav '"${{ inputs.title }}"' --album '"$ALBUM"' $TAG_ARGS 72 + eval uv run --with plyrfm -- plyrfm tracks upload update.wav '"${{ inputs.title }}"' --album '"$ALBUM"' $TAG_ARGS 73 73 env: 74 74 PLYR_TOKEN: ${{ secrets.PLYR_BOT_TOKEN }}
+6 -7
docs/site/public/llms-full.txt
··· 32 32 client = PlyrClient() 33 33 34 34 # search for tracks 35 - results = client.search("ambient") 36 - for track in results: 37 - print(f"{track.title} by {track.artist}") 38 - print(f" stream: {track.stream_url}") 35 + results = client.discover.search("ambient") 36 + for r in results.results: 37 + print(f"{r.title} ({r.type})") 39 38 40 39 # get top tracks 41 - for track in client.top_tracks(limit=5): 40 + for track in client.discover.top_tracks(limit=5): 42 41 print(f"{track.title} — {track.play_count} plays") 43 42 44 43 # authenticated: like a track (requires developer token) 45 44 authed = PlyrClient(token="your_token_from_plyr.fm/portal") 46 - authed.like(track_id=42) 45 + authed.tracks.like(42) 47 46 ``` 48 47 49 48 ## MCP server (for AI assistants) ··· 52 51 claude mcp add plyr-fm -- uvx plyrfm-mcp 53 52 ``` 54 53 55 - Tools: search, list_tracks, top_tracks, tracks_by_tag, get_track, liked_tracks, my_tracks. 54 + Tools: search, list_tracks, top_tracks, tracks_by_tag, get_track, liked_tracks, my_tracks, list_playlists, get_playlist, playlists_by_artist, playlist_recommendations. 56 55 57 56 --- 58 57