malupdate
Unofficial Python client wrapper for v2 MyAnimeList API using the Unoffical Specification of the Official API by
https://github.com/SuperMarcus/myanimelist-api-specification
This is most likely temporary till the time I can get beta access to MAL's API or they release it to the public.
As of July 2020, MAL has made their API public and any changes/updates done to this project from then on, will be in reference to the official documentation of the API.
Installation
PyPi: https://pypi.org/project/malupdate/
pip install malupdate
Usage
Class User
:
-
User.login(username, password):
Takes in username and password of MAL account as arguments and returns a loginObject (dictionary) consisting of keysaccess_token
,expires_in
,refresh_token
. -
User.myInfo(Access_Token, [field_1, field_2, ...]):
Returns User Profile information and statistics (ifanime_statistics
field is used as argument). -
User.getAnimeList(Access_Token, type_of_list, [field_1, field_2, ....]):
Takes theaccess_token
from the loginObject, the type of list (watching
/plan_to_watch
/completed
/on_hold
/dropped
) and one or more fields as a list. Returns a JSON object (dictionary) of shows in the list. -
User.updateList(Access_Token, show_id, {field_1: val_1, field_2: val_2 ...}):
Takes theaccess_token
from the loginObject,id
of the show to be updated, a list of fields which are to be updated and their corresponding new values in dictionary form.
Returns a JSON object (dictionary) of user's list with updated values. -
User.deleteItem(Access_Token, anime_id):
Takes inid
of an anime and removes it from the User's list.
Class Anime
:
-
Anime.search(Access_Token, anime_name, [field_1, field_2, ...]):
Takes theaccess_token
, name of the anime and the fields to be displayed as arguments. Returns a JSON object (dictionary) of search results. -
Anime.bySeason(Access_Token, year, season, [field_1, field_2, ...], sort="", limit=100, offset=0, nsfw=False):
Takes year and season (winter
/spring
/summer
/fall
) as required arguments and returns a JSON object of the anime list. List can be sorted based onanime_score
oranime_num_list_users
in descending. By default, NSFW results are filtered out but can be enabled by settingnsfw
parameter asTrue
. -
Anime.byRanking(Access_Token, ranking_type, [field_1, field_2, ...], limit=100, offset=0, nsfw=False):
Takes in aranking_type
(all
/airing
/upcoming
/tv
/ova
/movie
/special
/bypopularity
/favorite
) and returns a JSON object of the anime list. NSFW can be turned on withnsfw
parameter set toTrue
.
Things to Improve
- Better support for pagination.
- Possible design changes to make it more developer friendly.
Projects that use malupdate
License
MIT