Skip to content

risk1996/jikan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jikan

Rust wrapper for Jikan, unofficial MyAnimeList API. Currently we are supporting these version:

Table of Contents

TODO

  • Mock doc test
  • Make non-2xx HTTP response status code an error
  • Add badges to README
  • Complete character feature
  • Complete search feature
  • Complete season-related feature
  • Complete schedule feature
  • Complete top feature
  • Complete genre feature
  • Complete producer feature
  • Complete magazine feature
  • Complete user feature
  • Complete club feature
  • Complete meta feature
  • Add mandatory throttling checking

Installation

Just add jikan to to your Cargo.toml file.

[dependencies]
jikan="<version>"

Docs

Coming Soon

Usage (V3)

Anime

use jikan::v3::anime::*;

static PAGE: u32 = 1;

async fn main() -> Result<(), JikanError> {
  let naruto: Anime = Anime::new(20);
  let naruto_info: Info = naruto.info().await?;
  let naruto_characters_staff: CharactersStaff = naruto.characters_staff().await?;
  let naruto_episodes: Episodes = naruto.episodes_at_page(PAGE).await?;
  let naruto_forums: Forums = naruto.forums().await?;
  let naruto_more_info: MoreInfo = naruto.more_info().await?;
  let naruto_news: News = naruto.news().await?;
  let naruto_pictures: Pictures = natuto.pictures().await?;
  let naruto_recommendations: Recommendations = naruto.recommendation().await?;
  let naruto_reviews: Reviews = naruto.reviews_at_page(PAGE).await?;
  let naruto_stats: Stats = naruto.stats().await?;
  let naruto_user_updates: UserUpdates = naruto.user_updates_at_page(PAGE).await?;
  let naruto_videos: Videos = naruto.videos().await?;

  Ok(())
}

Manga

use jikan::v3::manga::*;

static PAGE: u32 = 1;

async fn main() -> Result<(), JikanError> {
  let one_piece: Manga = Manga::new(13);
  let one_piece_info: Info = one_piece.info().await?;
  let one_piece_characters: Characters = one_piece.characters().await?;
  let one_piece_forums: Forums = one_piece.forums().await?;
  let one_piece_more_info: MoreInfo = one_piece.more_info().await?;
  let one_piece_news: News = one_piece.news().await?;
  let one_piece_pictures: Pictures = natuto.pictures().await?;
  let one_piece_recommendations: Recommendations = one_piece.recommendation().await?;
  let one_piece_reviews: Reviews = one_piece.reviews_at_page(PAGE).await?;
  let one_piece_stats: Stats = one_piece.stats().await?;
  let one_piece_user_updates: UserUpdates = one_piece.user_updates_at_page(PAGE).await?;

  Ok(())
}

Person

use jikan::v3::person::*;

async fn main() -> Result<(), JikanError> {
  let tetsuya_kakihara: Person = Person::new(167);
  let tetsuya_kakihara_info: Info = tetsuya_kakihara.info().await?;
  let tetsuya_kakihara_pictures: Pictures = natuto.pictures().await?;

  Ok(())
}

Contributions

I am doing this as a side project but any PRs are welcome! I might miss some things (especially some enums variants that does not show up in the test files).

Maintainers

William Darian (@risk1996)

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages