Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Lastfm Client Laravel Package

calliostro/lastfm-client

Lightweight Last.fm API client for PHP 8.1+ with clean, modern methods for artists, albums, tracks, search, and charts. Uses Guzzle and supports API-key access for all calls plus session authentication for write actions like scrobbling and loving tracks.

View on GitHub
Deep Wiki
Context7
v2.1.0

Added

  • Support for guzzlehttp/guzzle 8.0 alongside 7.0 (^7.0 || ^8.0).
  • Compatibility testing and CI matrix coverage for PHP 8.1–8.6 and both Guzzle 7 & 8.
  • Built-in retry resilience for Last.fm rate limits (503 and 429) with exponential backoff and Retry-After header support.
  • LastFmClientFactory::create() method to instantiate unauthenticated clients or pass pre-configured GuzzleHttp\Client instances.

Changed

  • Upgraded PHPStan to 2.x (Level 8) and GitHub Actions to Node 24 compatible runners.
  • Updated default User-Agent version to 2.1.0.

Removed

  • Dropped legacy guzzlehttp/guzzle 6.5 constraint.
v2.0.0

This release introduces significant improvements with enhanced authentication, performance optimizations, and a cleaner API design.

Breaking Changes

  • Method Naming: All methods follow consistent verb-first pattern (getArtistInfo, getTrackInfo, scrobbleTrack)
  • Authentication: Restructured with dedicated setApiCredentials() method and LastFmClientFactory
  • Parameter Handling: Enhanced with named parameter support and camelCase conversion

New Features

  • New AuthHelper class for streamlined Last.fm authentication workflows
  • LastFmClientFactory with authentication methods (createWithApiKey, createWithSession, createWithMobileAuth)
  • ConfigCache singleton for performance-optimized configuration management
  • Enhanced parameter validation with security and performance limits
  • Improved error handling with descriptive messages

Migration Required

All method calls must be updated. See CHANGELOG.md and UPGRADE.md for detailed migration guide.

Documentation

v1.0.0

Initial release of an ultra-lightweight Last.fm API client for PHP 8.1+

Added

  • Initial release of an ultra-lightweight Last.fm API client for PHP 8.1+
  • Service-description-based architecture with only two classes
  • Direct method mapping (trackGetInfo() → track.getInfo)
  • Support for all 60+ Last.fm API endpoints (track, artist, album, user, chart, tag, geo, library, auth methods)
  • Full authentication support (API key and OAuth session-based)
  • Scrobbling and now playing functionality
  • Comprehensive error handling and type safety
  • IDE support with method documentation and Last.fm API links
  • PHPStan Level 8 compatibility for maximum static analysis
  • PSR-12 compliant code with 100% test coverage
  • Complete authentication examples and setup documentation
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums