Little tool in python to watch anime from the terminal (the better way to watch anime)
Project description
Little tool written in python to watch and download anime from the terminal (the better way to watch anime), also applicable as an API.
Scrapes: https://gogoanime.gg
If you dont like to use a cli there is a GUI and other versions here.
Contents
Installation
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
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 [-h] [-q QUALITY] [-H] [-d] [-D] [-B] [-S] [-f] [-c] [-o] [-a] [-s] [-v] [-l LOCATION] [--mal-password MAL_PASSWORD]
Play Anime from gogoanime in local video-player or Download them.
options:
-h, --help show this help message and exit
-q QUALITY, --quality QUALITY
Change the quality of the video, accepts: best, worst or 360, 480, 720 etc. Default: best
-H, --history Show your history of watched anime
-d, --download Download mode. Download multiple episodes like so: first_number-second_number (e.g. 1-3)
-D, --delete-history Delete your History.
-B, --binge Binge mode. Binge multiple episodes like so: first_number-second_number (e.g. 1-3)
-S, --seasonal Seasonal Anime mode. Bulk download or binge watch newest episodes.
-f, --ffmpeg Use ffmpeg to download m3u8 playlists, may be more stable but is way slower than internal downloader
-c, --config Print path to the config file.
-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.
-s, --syncplay Use Syncplay to watch Anime with your Friends.
-v, --vlc Use VLC instead of mpv as video-player
-l LOCATION, --location LOCATION Override all configured download locations
-m, --my-anime-list MyAnimeList mode. Similar to seasonal mode, but using MyAnimeList (requires MAL account credentials to be set in config).
--mal-password MAL_PASSWORD Provide password for MAL login (overrides password set in config)
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
- GUI Frontend by me (WIP): https://github.com/sdaqo/anipy-gui
- Dmenu script by @Dabbing-Guy: https://github.com/Dabbing-Guy/anipy-dmenu
- Ulauncher extension by @Dankni95 (not maintained): https://github.com/Dankni95/ulauncher-anime
Credits
Heavily inspired by https://github.com/pystardust/ani-cli/
All contributors for contributing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for anipy_cli-2.6.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2369d49bd23159335b82fb912e399a2c231cb589467357b069ea26fc5483eb6a |
|
MD5 | c32d8e12cdcbfee13feef2c840bda160 |
|
BLAKE2b-256 | 63c32c76ca003ecc3b306db2ed7e194077e35a312d674b077527ad8b98fc829b |