lastfm-edit
A Rust crate for programmatic access to Last.fm's scrobble editing functionality via web scraping.
This crate provides a high-level interface for authenticating with Last.fm, browsing user libraries, and performing bulk edits on scrobbled tracks. It uses web scraping to access functionality not available through Last.fm's public API.
Features
- Authentication: Login to Last.fm with username/password
- Library browsing: Paginated access to tracks, albums, and recent scrobbles
- Bulk editing: Edit track names, artist names, and album information
- Async iterators: Stream large datasets efficiently
- HTTP client abstraction: Works with any HTTP client implementation
Quick Start
use ;
async
Core Components
- [
LastFmClient] - Main client for interacting with Last.fm - [
Track], [Album] - Data structures for music metadata - [
AsyncPaginatedIterator] - Trait for streaming paginated data - [
ScrobbleEdit] - Represents track edit operations - [
LastFmError] - Error types for the crate
Examples
See the examples/ directory for complete usage examples including:
- Basic login and track listing
- Bulk track renaming operations
- Artist and album browsing
- Recent tracks monitoring