Skip to content

Python to watch and download anime from the terminal (the better way to watch anime). Also applicable as API

License

Notifications You must be signed in to change notification settings

erikngigi/anipy-cli

 
 

Repository files navigation

waving

anipy-demo.mp4

Little tool written in python to watch and download anime from the terminal (the better way to watch anime), also applicable as an API.

If you dont like to use a cli there is a GUI and other versions here.

Contents

Installation

PyPI

Recommended installation:

python3 -m pip install anipy-cli --upgrade

Directly from the repo (may be newer):

python3 -m pip install git+https://github.com/sdaqo/anipy-cli

For video playback mpv is needed. Get it here: https://mpv.io/installation/

If you would like to use another video player, you will need to specify its path in the config file.

Optionally, you can install ffmpeg to download m3u8 playlists instead of using the internal downloader. You can use it with the -f flag. This is something you should use if the internal downlaoder fails since ffmpeg is comparatively slow.

Config

When you start the program for the first time the config file gets created automatically

Places of the config:

  • Linux: ~/.config/anipy-cli/config.yaml
  • Windows: %USERPROFILE%/AppData/Local/anipy-cli/config.yaml
  • MacOS: ~/.config/anipy-cli/config.yaml

Sample Config

Attention Windows Users: If you activate the option reuse_mpv_window, you will have to donwload and put the mpv-2.dll in your path. To get it go look here: https://sourceforge.net/projects/mpv-player-windows/files/libmpv/

Usage

usage: anipy-cli [-D | -B | -H | -S | -M | --delete-history] [-q QUALITY] [-f] [-o] [-a] [-p {mpv,vlc,syncplay,mpvnet}] [-l LOCATION] [--mal-password MAL_PASSWORD] [-h] [-v] [--config-path]

Play Animes from gogoanime in local video-player or Download them.

Actions:
  Different Actions and Modes of anipy-cli (only pick one)

  -D, --download        Download mode. Download multiple episodes like so: first_number-second_number (e.g. 1-3)
  -B, --binge           Binge mode. Binge multiple episodes like so: first_number-second_number (e.g. 1-3)
  -H, --history         Show your history of watched anime
  -S, --seasonal        Seasonal Anime mode. Bulk download or binge watch newest episodes.
  -M, --my-anime-list   MyAnimeList mode. Similar to seasonal mode, but using MyAnimeList (requires MAL account credentials to be set in config).
  --delete-history      Delete your History.

Options:
  Options to change the behaviour of anipy-cli

  -q QUALITY, --quality QUALITY
                        Change the quality of the video, accepts: best, worst or 360, 480, 720 etc. Default: best
  -f, --ffmpeg          Use ffmpeg to download m3u8 playlists, may be more stable but is way slower than internal downloader
  -o, --no-seas-search  Turn off search in season. Disables prompting if GoGoAnime is to be searched for anime in specific season.
  -a, --auto-update     Automatically update and download all Anime in seasonals list from start EP to newest.
  -p {mpv,vlc,syncplay,mpvnet}, --optional-player {mpv,vlc,syncplay,mpvnet}
                        Override the player set in the config.
  -l LOCATION, --location LOCATION
                        Override all configured download locations
  --mal-password MAL_PASSWORD
                        Provide password for MAL login (overrides password set in config)

Info:
  Info about the current anipy-cli installation

  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --config-path         Print path to the config file.

What it can do

  • Faster than watching in the browser.
  • Play Animes in Your Local video player
  • Select a quality in which the video will be played/downloaded.
  • Download Animes
  • History of watched Episodes
  • Binge Mode to watch a range of episodes back-to-back.
  • Seasonal Mode to bulk download or binge watch the latest episodes of animes you pick
  • Configurable with config
  • (Optional) MAL Mode: Like seasonal mode, but uses your anime list at MyAnimeList.net
  • (Optional) Search GoGo for animes in specific seasons. Available for the download cli, seasonal mode and MAL mode. Turn it off with -o flag.
  • (Optional) Discord Presence for the anime you currently watch. This is off by default, activate it in the config (-c)
  • (Optional) Ffmpeg to download m3u8 playlists, may be more stable but is slower than internal downloader.

Libary Usage

Documentation can be found here

Important:

To import the libary, don't import anipy-cli, but anipy_cli (no '-' is allowed)

Advanced Usage Examples

Little example of using anipy-cli for automatically keeping anime library up-to-date:

# Cronjob runs every 2 minutes and checks wether anipy-cli is still running or not 
# (only run the job if last one is finished)

*/2 *   * * *   username        pidof -x anipy-cli || anipy-cli -Ma >> /var/log/anipy-cli.log

Other versions

Credits

All contributors for contributing

About

Python to watch and download anime from the terminal (the better way to watch anime). Also applicable as API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%