Expand description
MusicBrainz rust is a utility crate for the the MusicBrainz API. It strives to provide a simple and easy to use API to query the Musicbrainz database.
All query are performed via a builder pattern fashioned syntax on musicbrainz entities available
in the entity module.
§Example
The most simple usage would be to lookup an entity, knowing its Musicbrainz ID.
use musicbrainz_rs::entity::artist::Artist;
use musicbrainz_rs::prelude::*;
#[tokio::main]
async fn main() -> Result<(), Error> {
let nirvana = Artist::fetch()
.id("5b11f4ce-a62d-471e-81fc-a69a8278c7da")
.execute()
.await;
assert_eq!(nirvana?.name, "Nirvana".to_string());
Ok(())
}
fn main() -> Result<(), Error> {
let nirvana = Artist::fetch()
.id("5b11f4ce-a62d-471e-81fc-a69a8278c7da")
.execute();
assert_eq!(nirvana?.name, "Nirvana".to_string());
Ok(())
}Note that you need to either directly to bring the Fetch trait in scope or use the
prelude module to make the fetch method accessible.
Re-exports§
pub use crate::api::api_request::ApiRequest;pub use crate::api::browse_query::Browse;pub use crate::api::browse_query::BrowseQuery;pub use crate::api::coverart_query::FetchCoverart;pub use crate::api::coverart_query::FetchCoverartQuery;pub use crate::api::fetch_query::Fetch;pub use crate::api::fetch_query::FetchQuery;pub use crate::api::search_query::Search;pub use crate::api::search_query::SearchQuery;pub use crate::client::MusicBrainzClient;pub use crate::error::Error;
Modules§
- api
- All the configurations for API queries / fetching
- chrono
- Chrono Re-export
- client
- Configure the HTTP client global state
- config
- Configure the HTTP client global state
- entity
- All Musicbrainz entities
- error
- Crate errors;
- extra_
endpoints - fetching
- prelude
- Brings trait and type needed to perform any API query in scope
Traits§
- APIPath
- Provide the entity HTTP api path, do not use this trait directly