Crates.io | lastfm-edit |
lib.rs | lastfm-edit |
version | 4.0.3 |
created_at | 2025-07-21 11:03:08.619437+00 |
updated_at | 2025-08-08 01:13:21.406808+00 |
description | Rust crate for programmatic access to Last.fm's scrobble editing functionality via web scraping |
homepage | https://github.com/colonelpanic8/lastfm-edit |
repository | https://github.com/colonelpanic8/lastfm-edit |
max_upload_size | |
id | 1761949 |
size | 59,056,798 |
A Rust crate for programmatic access to Last.fm's scrobble editing functionality via web scraping.
📚 View API Documentation →
use lastfm_edit::{LastFmEditClient, LastFmEditClientImpl, AsyncPaginatedIterator, Result};
#[tokio::main]
async fn main() -> Result<()> {
let http_client = http_client::native::NativeClient::new();
let client = LastFmEditClientImpl::login_with_credentials(
Box::new(http_client),
"username",
"password"
).await?;
let mut recent_tracks = client.recent_tracks();
while let Some(track) = recent_tracks.next().await? {
println!("{} - {}", track.artist, track.name);
}
Ok(())
}
LastFmEditClient
] - Main client trait (see trait docs for all methods and examples)LastFmEditClientImpl
] - Concrete client implementationTrack
], [Album
] - Music metadata structuresAsyncPaginatedIterator
] - Streaming paginated dataScrobbleEdit
] - Track edit operationsLastFmError
] - Error types[dependencies]
lastfm-edit = "4.0.1"
http-client = { version = "^6.6.3", package = "http-client-2", features = ["curl_client"] }
tokio = { version = "1.0", features = ["full"] }
MIT