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::*;
fn main() -> Result<(), musicbrainz_rs::ApiEndpointError> {
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::ApiEndpointError;pub use crate::api::browse_query::Browse;pub use crate::api::browse_query::BrowseQuery;pub use crate::api::coverart_query::CoverartQuery;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::parser::MusicBrainzParser;pub use crate::api::parser::parsing_error::ParsingError;pub use crate::api::search_query::Search;pub use crate::api::search_query::SearchQuery;pub use crate::client::MusicBrainzClient;pub use api_bindium;pub use chrono;
Modules§
- api
- The api endpoint makers
- client
- The request client
- entity
- All Musicbrainz entities
- 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