Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rangen-lib

simple JikanAPI wrapper for fetching random anime series/movies based on user's filter. interact with python properties instead of JSON fields

installation

usage

get a random anime

from rangen import RanGen

client = RanGen()
client.get_random_anime()

get a random anime by filter

"""
pass either keyword args or an AnimeFilter object. the latter is needed if you wanna use the filter params for any reason
"""

from rangen import RanGen

client = RanGen()

# keyword args
anime = client.get_random_anime_by_filter(
    min_score=8.0,
    anime_type=AnimeType.TV,
    genres=[Genre.ACTION, Genre.ADVENTURE],
)

# AnimeFilter object
from rangen.models import AnimeFilter

some_filter = AnimeFilter(
    min_score=8.0,
    anime_type=AnimeType.TV,
    genres=[Genre.ACTION, Genre.ADVENTURE],
)
anime = client.get_random_anime_by_filter(anime_filter=some_filter)

enums

"""
all enums have 2 properties: label (human-readable) and api_value (what is sent to JikanAPI)

the enums include AnimeType, AnimeStatus, AnimeRating and Genre
"""

from rangen.enums import AnimeType, Genre

print(Genre.ACTION.label)      
# "Action"
print(Genre.ACTION.api_value)  
# "1"

for anime_type in AnimeType:
    print(anime_type.label, anime_type.api_value)
# "Series", "tv"
# "Movies", "movie"
# "OVA", "ova"
# ...

exceptions

from rangen.exceptions import (
    MissingFilterError,     # no filter params provided
    FilterConflictError,     # passed both AnimeFilter and kwargs
    NothingFoundError,      # no anime matched the filters
    RateLimitError,         # Jikan/MAL rate limit (after retries)
)

About

simple Jikan API wrapper for fetching random anime series/movies based on user's filter

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages