{"id":22413008,"url":"https://github.com/benexl/fastanime","last_synced_at":"2025-05-15T09:06:30.951Z","repository":{"id":242196046,"uuid":"806650446","full_name":"Benexl/FastAnime","owner":"Benexl","description":"Your browser anime experience from the terminal","archived":false,"fork":false,"pushed_at":"2025-05-12T10:09:39.000Z","size":59641,"stargazers_count":671,"open_issues_count":3,"forks_count":38,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-12T11:25:26.095Z","etag":null,"topics":["anilist","anime","anime-scraper","api","application","cli","click","fastanime","python","rich","scraping"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Benexl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"benexl","patreon":null,"open_collective":null,"ko_fi":"benexl","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-05-27T15:56:11.000Z","updated_at":"2025-05-12T10:09:43.000Z","dependencies_parsed_at":"2024-09-17T22:40:14.864Z","dependency_job_id":"83ed0fec-261b-4d29-be2e-2a9cafc9823f","html_url":"https://github.com/Benexl/FastAnime","commit_stats":null,"previous_names":["benex254/anixstream","benex254/fastanime","fastanime/fastanime","benexl/fastanime"],"tags_count":93,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benexl%2FFastAnime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benexl%2FFastAnime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benexl%2FFastAnime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benexl%2FFastAnime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Benexl","download_url":"https://codeload.github.com/Benexl/FastAnime/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310515,"owners_count":22049469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anilist","anime","anime-scraper","api","application","cli","click","fastanime","python","rich","scraping"],"created_at":"2024-12-05T14:11:36.967Z","updated_at":"2025-05-15T09:06:30.910Z","avatar_url":"https://github.com/Benexl.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003eFastAnime\u003c/h1\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csup\u003e\n  Browse anime from the terminal\n  \u003c/sup\u003e\n\u003c/p\u003e\n\u003cdiv align=\"center\"\u003e\n  \n![PyPI - Downloads](https://img.shields.io/pypi/dm/fastanime) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/FastAnime/FastAnime/test.yml?label=Tests)\n![Discord](https://img.shields.io/discord/1250887070906323096?label=Discord)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/FastAnime/FastAnime)\n![GitHub deployments](https://img.shields.io/github/deployments/FastAnime/fastanime/pypi?label=PyPi%20Publish)\n![PyPI - License](https://img.shields.io/pypi/l/fastanime)\n![Static Badge](https://img.shields.io/badge/lines%20of%20code-13k%2B-green)\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://discord.gg/HBEmAwvbHV\"\u003e\n\u003cimg src=\"https://invidget.switchblade.xyz/C4rhMA4mmK\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n![fastanime](https://github.com/user-attachments/assets/9ab09f26-e4a8-4b70-a315-7def998cec63)\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eRiced\u003c/b\u003e\n  \u003c/summary\u003e\n\n**Anilist results menu:**\n![image](https://github.com/user-attachments/assets/240023a7-7e4e-47dd-80ff-017d65081ee1)\n\n**Episodes menu preview:**\n![image](https://github.com/user-attachments/assets/580f86ef-326f-4ab3-9bd8-c1cb312fbfa6)\n\n**Without preview images enabled:**\n![image](https://github.com/user-attachments/assets/e1248a85-438f-4758-ae34-b0e0b224addd)\n\n**Desktop notifications + episodes menu without image preview:**\n![image](https://github.com/user-attachments/assets/b7802ef1-ca0d-45f5-a13a-e39c96a5d499)\n\n\u003c/details\u003e\n\n## Installation\n\n![Windows](https://img.shields.io/badge/-Windows_x64-blue.svg?style=for-the-badge\u0026logo=windows)\n![Linux/BSD](https://img.shields.io/badge/-Linux/BSD-red.svg?style=for-the-badge\u0026logo=linux)\n![Arch Linux](https://img.shields.io/badge/-Arch_Linux-black.svg?style=for-the-badge\u0026logo=archlinux)\n![MacOS](https://img.shields.io/badge/-MacOS-lightblue.svg?style=for-the-badge\u0026logo=apple)\n![Android](https://img.shields.io/badge/-Android-green.svg?style=for-the-badge\u0026logo=android)\n\nThe app can run wherever python can run. So all you need to have is python installed on your device.\nOn android you can use [termux](https://github.com/termux/termux-app).\nIf you have any difficulty consult for help on the [discord channel](https://discord.gg/HBEmAwvbHV)\n\n### Installation on nixos\n\n![Static Badge](https://img.shields.io/badge/NixOs-black?style=flat\u0026logo=nixos)\n\n```bash\nnix profile install github:Benexl/fastanime\n```\n\n### Installation on Arch\n\n![Static Badge](https://img.shields.io/badge/arch-black?style=flat\u0026logo=archlinux)\n\nInstall from the AUR using an AUR helper such as [yay](https://github.com/Jguer/yay) or [paru](https://github.com/Morganamilo/paru), either the git version, which uses the latest commit:\n\n![AUR Version](https://img.shields.io/aur/version/fastanime-git?label=git)\n\n```bash\nyay -S fastanime-git\n```\n\nor the stable version, which uses a tagged release:\n\n![AUR Version](https://img.shields.io/aur/version/fastanime?label=stable)\n\n```bash\nyay -S fastanime\n```\n\n### Installation using your favourite package manager\n\nCurrently the app is only published on [pypi](https://pypi.org/project/fastanime/).\nWith the following extras available:\n\n- standard -which installs all dependencies\n- api - which installs dependencies required to use `fastanime serve`\n- mpv - which installs python mpv\n- notifications - which installs plyer required for desktop notifications\n  \n#### Using uv\n\nRecommended method of installation is using [uv](https://docs.astral.sh/uv/).\n\n```bash\n# generally:\nuv tool install \"fastanime[standard]\"\n\n# or stripped down installations:\nuv tool install fastanime\nuv tool install \"fastanime[api]\"\nuv tool install \"fastanime[mpv]\"\nuv tool install \"fastanime[notifications]\"\n\n```\n\n#### Using pipx\n\n```bash\n\npipx install fastanime\n# -- or for the development version --\npipx install 'fastanime==\u003clatest-pre-release-tag\u003e.dev1'\n# example\n# pipx install 'fastanime==0.60.1.dev1'\n\n```\n\n#### Using pip\n\n```bash\npip install fastanime\n# -- or for the development version --\npip install 'fastanime==\u003clatest-pre-release-tag\u003e.dev1'\n# example\n# pip install 'fastanime==0.60.1.dev1'\n```\n\n### Installing the bleeding edge version\n\nTo install the latest build which are created on every push by GitHub actions, download the [fastanime_debug_build](https://github.com/FastAnime/FastAnime/actions) of your choosing from the GitHub actions page.\nThen:\n\n```bash\nunzip fastanime_debug_build\n\n# outputs fastanime\u003cversion\u003e.tar.gz\n\npipx install fastanime\u003cversion\u003e.tar.gz\n\n# --- or ---\n\npip install fastanime\u003cversion\u003e.tar.gz\n```\n\n### Building from the source\n\nRequirements:\n\n- [git](https://git-scm.com/)\n- [python 3.10 and above](https://www.python.org/)\n- [uv](https://astral.sh/blog/uv)\n\nTo build from the source, follow these steps:\n\n1. Clone the repository: `git clone https://github.com/Benexl/FastAnime.git --depth 1`\n2. Navigate into the folder: `cd FastAnime`\n3. Then build and Install the app:\n\n```bash\n# build and install fastanime with uv\nuv tool install .\n```\n\n4. Enjoy! Verify installation with:\n\n```bash\nfastanime --version\n```\n\n\u003e [!Tip]\n\u003e\n\u003e Download the completions from [here](https://github.com/FastAnime/FastAnime/tree/master/completions) for your shell.\n\u003e To add completions:\n\u003e\n\u003e - Fish Users: `cp $FASTANIME_PATH/completions/fastanime.fish ~/.config/fish/completions/`\n\u003e - Bash Users: Add `source $FASTANIME_PATH/completions/fastanime.bash` to your `.bashrc`\n\u003e - Zsh Users: Add `source $FASTANIME_PATH/completions/fastanime.zsh` to your `.zshrc`\n\u003e   or using the built in command `fastanime completions`\n\n### External Dependencies\n\nThe only required external dependency, unless you won't be streaming, is [MPV](https://mpv.io/installation/), which i recommend installing with [uosc](https://github.com/tomasklaen/uosc) :fire: and [thumbfast](https://github.com/po5/thumbfast) for the best experience since they add a better interface to it.\n\n\u003e [!NOTE]\n\u003e\n\u003e The project currently sees no reason to support any other video\n\u003e player because we believe nothing beats **MPV** and it provides\n\u003e everything you could ever need with a small footprint.\n\u003e But if you have a reason feel free to encourage as to do so.\n\u003e However, on android this is not the case so vlc is also supported\n\n**Other external dependencies that will just make your experience better:**\n\n- [webtorrent-cli](https://github.com/webtorrent/webtorrent-cli) used when the provider is nyaa\n- [ffmpeg](https://www.ffmpeg.org/) is required to be in your path environment variables to properly download [hls](https://www.cloudflare.com/en-gb/learning/video/what-is-http-live-streaming/) streams.\n- [fzf](https://github.com/junegunn/fzf) 🔥 which is used as a better alternative to the ui.\n- [rofi](https://github.com/davatorium/rofi) 🔥 which is used as another alternative ui + the desktop entry ui\n- [chafa](https://github.com/hpjansson/chafa) currently the best cross platform and cross terminal image viewer for the terminal.\n- [icat](https://sw.kovidgoyal.net/kitty/kittens/icat/) an image viewer that only works in [kitty terminal](https://sw.kovidgoyal.net/kitty/), which is currently the best terminal in my opinion, and by far the best image renderer for the terminal thanks to kitty's terminal graphics protocol. Its terminal graphics is so op that you can [run a browser on it](https://github.com/chase/awrit?tab=readme-ov-file)!!\n- [bash](https://www.gnu.org/software/bash/) is used as the preview script language.\n- [ani-skip](https://github.com/synacktraa/ani-skip) used for skipping the opening and ending theme songs\n- [ffmpegthumbnailer](https://github.com/dirkvdb/ffmpegthumbnailer) used for local previews of downloaded anime\n- [syncplay](https://syncplay.pl/) to enable watch together.\n- [feh](https://github.com/derf/feh) used in manga mode\n\n## Usage\n\nThe project offers a featureful command-line interface and MPV interface through the use of python-mpv.\nThe project also offers subs in different languages thanks to hianime provider.\n\n### The Commandline interface :fire:\n\nDesigned for efficiency and automation. Plus has a beautiful pseudo-TUI in some of the commands.\nIf you are stuck anywhere just use `--help` before the command you would like to get help on\n\n**Overview of main commands:**\n\n- `fastanime anilist`: Powerful command for browsing and exploring anime due to AniList integration.\n- `fastanime download`: Download anime.\n- `fastanime search`: Powerful command meant for binging since it doesn't require the interfaces\n- `fastanime downloads`: View downloaded anime and watch with MPV.\n- `fastanime config`: Quickly edit configuration settings.\n- `fastanime cache`: Quickly manage the cache fastanime uses\n- `fastanime update`: Quickly update fastanime\n- `fastanime grab`: print streams to stdout to use in non python application.\n\n**Overview of options**\n\nMost options are directly passed into fastanime directly and are shared by multiple subcommands.\n\nMost of the options override your config file.\n\nThis is a convention to make the dev time faster since it reduces redundancy and also makes switching of subcommands with the same options easier to the end user.\n\nIn general `fastanime --\u003coption-name\u003e`\n\nAvailable options for the fastanime include:\n\n- `--server \u003cserver\u003e` or `-s \u003cserver\u003e` set the default server to auto select\n- `--continue/--no-continue` or `-c/-no-c` whether to continue from the last episode you were watching\n- `--local-history/--remote-history` whether to use remote or local history defaults to local\n- `--quality \u003c1080/720/480/360\u003e` or `-q \u003c1080/720/480/360\u003e` the link to choose from server\n- `--translation-type \u003cdub/sub\u003e` or `-t \u003cdub/sub\u003e` what language for anime\n- `--dub` dubbed anime\n- `--sub` subbed anime\n- `--auto-select/--no-auto-select` or `-a/-no-a` auto select title from provider results\n- `--auto-next/--no-auto-next` or `-A/-no-A` auto select next episode\n- `-downloads-dir \u003cpath\u003e` or `-d \u003cpath\u003e` set the folder to download anime into\n- `--fzf` use fzf for the ui\n- `--default` use the default ui\n- `--preview` show a preview when using fzf\n- `--no-preview` dont show a preview when using fzf\n- `--format \u003cyt-dlp format string\u003e` or `-f \u003cyt-dlp format string\u003e` set the format of anime downloaded and streamed based on [yt-dlp format](https://github.com/yt-dlp/yt-dlp#format-selection). Works when `--server gogoanime` or on providers that provide multi quality streams eg hianime\n- `--icons/--no-icons` toggle the visibility of the icons\n- `--skip/--no-skip` whether to skip the opening and ending theme songs.\n- `--rofi` use rofi for the ui\n- `--rofi-theme \u003cpath\u003e` theme to use with rofi\n- `--rofi-theme-input \u003cpath\u003e` theme to use with rofi input\n- `--rofi-theme-confirm \u003cpath\u003e` theme to use with rofi confirm\n- `--log` allow logging to stdout\n- `--log-file` allow logging to a file\n- `--rich-traceback` allow rich traceback\n- `--use-mpv-mod/--use-default-player` whether to use python-mpv\n- `--provider \u003callanime/animepahe/hianime/nyaa\u003e` anime site of choice to scrape from\n- `--sync-play` or `-sp` use syncplay for streaming anime so you can watch with your friends\n- `--sub-lang \u003cen/or any other common shortform for country\u003e` regex is used to determine the appropriate. Only works when provider is hianime.\n- `--normalize-titles/--no-normalize-titles` whether to normalize provider titles\n- `--manga` toggle experimental manga mode\n\nExample usage of the above options\n\n```bash\n# example of syncplay intergration\nfastanime --sync-play --server sharepoint search -t \u003canime-title\u003e\n\n# --- or ---\n\n# to watch with anilist intergration\nfastanime --sync-play --server sharepoint anilist\n\n# downloading dubbed anime\nfastanime --dub download -t \u003canime\u003e\n\n# use  icons and fzf for a more elegant ui with preview\nfastanime --icons --preview --fzf anilist\n\n# use icons with default ui\nfastanime --icons --default anilist\n\n# viewing manga\nfastanime --manga search -t \u003cmanga-title\u003e\n```\n\n#### The anilist command :fire: :fire: :fire:\n\nUses the [AniList API](https://github.com/AniList/ApiV2-GraphQL-Docs) to create a terminal anilist client which is then intergrated with the scraping capabilities of the project.\n\n##### Running without any subcommand\n\nRun `fastanime anilist` to access the main interface.\n\n##### Subcommands\n\nThe subcommands are mainly their as convenience. Since all the features already exist in the main interface.\nMost of the subcommands share the common option `--dump-json` or `-d` which will print only the json data and suppress the ui.\n\n- `fastanime anilist trending`: Top 15 trending anime.\n- `fastanime anilist recent`: Top 15 recently updated anime.\n- `fastanime anilist search`: Search for anime (top 50 results).\n- `fastanime anilist upcoming`: Top 15 upcoming anime.\n- `fastanime anilist popular`: Top 15 popular anime.\n- `fastanime anilist favourites`: Top 15 favorite anime.\n- `fastanime anilist random`: get random anime\n\n**FastAnime Anilist Search subcommand** 🔥 🔥 🔥\n\nIt is by far one of the most powerful commands.\nIt offers the following options:\n\n- `--sort \u003cMediaSort\u003e` or `-s \u003cMediaSort\u003e`\n- `--title \u003canime-title\u003e` or `-t \u003canime-title\u003e`\n- `--tags \u003ctag\u003e` or `-T \u003ctag\u003e` can be specified multiple times for different tags to filter by.\n- `--year \u003cyear\u003e` or `-y \u003cyear\u003e`\n- `--status \u003cMediaStatus\u003e` or `-S \u003cMediaStatus\u003e` can be specified multiple times\n- `--media-format \u003cMediaFormat\u003e` or `-f \u003cMediaFormat\u003e`\n- `--season \u003cMediaSeason\u003e`\n- `--genres \u003cgenre\u003e` or `-g \u003cgenre\u003e` can be specified multiple times.\n- `--on-list/--not-on-list`\n\nExample:\n\n```bash\n# get anime with the tag of isekai\nfastanime anilist search -T isekai\n\n# get anime of 2024 and sort by popularity\n# that has already finished airing or is releasing\n# and is not in your anime lists\nfastanime anilist search -y 2024 -s POPULARITY_DESC --status RELEASING --status FINISHED --not-on-list\n\n# get anime of 2024 season WINTER\nfastanime anilist search -y 2024 --season WINTER\n\n# get anime genre action and tag isekai,magic\n fastanime anilist search -g Action -T Isekai -T Magic\n\n# get anime of 2024 thats finished airing\nfastanime anilist search -y 2024 -S FINISHED\n\n# get the most favourite anime movies\nfastanime anilist search -f MOVIE -s FAVOURITES_DESC\n```\n\nFor more details visit the anilist docs or just get the completions which will improve the experience.\n\nLike seriously **[get the completions](https://github.com/FastAnime/FastAnime#completions-subcommand)** and the experience will be a 💯 💯 better.\n\n**Fastanime anilist download:**\nSupports all the options for search except its used for downloading.\nit also supports all options for `fastanime download`\nExample:\n\n```bash\n# get anime with the tag of isekai\nfastanime anilist download -T isekai\n\n# get anime of 2024 and sort by popularity\n# that has already finished airing or is releasing\n# and is not in your anime lists\nfastanime anilist download -y 2024 -s POPULARITY_DESC --status RELEASING --status FINISHED --not-on-list\n\n# get anime of 2024 season WINTER\nfastanime anilist download -y 2024 --season WINTER\n\n# get anime genre action and tag isekai,magic\n fastanime anilist download -g Action -T Isekai -T Magic\n\n# get anime of 2024 thats finished airing\nfastanime anilist download -y 2024 -S FINISHED\n\n# get the most favourite anime movies\nfastanime anilist download -f MOVIE -s FAVOURITES_DESC\n```\n\nThe following are commands you can only run if you are signed in to your AniList account:\n\n- `fastanime anilist watching`\n- `fastanime anilist planning`\n- `fastanime anilist rewatching`\n- `fastanime anilist dropped`\n- `fastanime anilist paused`\n- `fastanime anilist completed`\n\nPlus: `fastanime anilist notifier` 🔥\n\n```bash\n# basic form\nfastanime anilist notifier\n\n# with logging to stdout\nfastanime --log anilist notifier\n\n# with logging to a file. stored in the same place as your config\nfastanime --log-file anilist notifier\n```\n\nThe above commands will start a loop that checks every 2 minutes if any of the anime in your watch list that are airing has just released a new episode.\n\nThe notification will consist of a cover image of the anime in none windows systems.\n\nYou can place the command among your machines startup scripts.\n\nFor fish users for example you can decide to put this in your `~/.config/fish/config.fish`:\n\n```fish\nif ! ps aux | grep -q '[f]astanime .* notifier'\n  echo initializing fastanime anilist notifier\n  nohup fastanime --log-file anilist notifier\u003e/dev/null \u0026\nend\n```\n\n\u003e [!NOTE]\n\u003e To sign in just run `fastanime anilist login` and follow the instructions.\n\u003e To view your login status `fastanime anilist login --status`\n\u003e To erase login data `fastanime anilist login --erase`\n\n#### download subcommand\n\nDownload anime to watch later dub or sub with this one command.\nIts optimized for scripting due to fuzzy matching; basically you don't have to manually select search results.\n\nSo every step of the way has been and can be automated.\nUses a list slicing syntax similar to that of python as the value for the `-r` option.\n\n\u003e [!NOTE]\n\u003e\n\u003e The download feature is powered by [yt-dlp](https://github.com/yt-dlp/yt-dlp) so all the bells and whistles that it provides are readily available in the project.\n\u003e Like continuing from where you left of while downloading, after lets say you lost your internet connection.\n\n**Syntax:**\n\n```bash\n# Download all available episodes\n# multiple titles can be specified with -t option\nfastanime download -t \u003canime-title\u003e -t \u003canime-title\u003e\n# -- or --\nfastanime download -t \u003canime-title\u003e -t \u003canime-title\u003e -r ':'\n\n# download latest episode for the two anime titles\n# the number can be any no of latest episodes but a minus sign\n# must be present\nfastanime download -t \u003canime-title\u003e -t \u003canime-title\u003e -r '-1'\n\n# latest 5\nfastanime download -t \u003canime-title\u003e -t \u003canime-title\u003e -r '-5'\n\n# Download specific episode range\n# be sure to observe the range Syntax\nfastanime download -t \u003canime-title\u003e -r '\u003cepisodes-start\u003e:\u003cepisodes-end\u003e:\u003cstep\u003e'\n\nfastanime download -t \u003canime-title\u003e -r '\u003cepisodes-start\u003e:\u003cepisodes-end\u003e'\n\nfastanime download -t \u003canime-title\u003e -r '\u003cepisodes-start\u003e:'\n\nfastanime download -t \u003canime-title\u003e -r ':\u003cepisodes-end\u003e'\n\n# download specific episode\n# remember python indexing starts at 0\nfastanime download -t \u003canime-title\u003e -r '\u003cepisode-1\u003e:\u003cepisode\u003e'\n\n# merge subtitles with ffmpeg to mkv format; hianime tends to give subs as separate files\n# and dont prompt for anything\n# eg existing file in destination instead remove\n# and clean\n# ie remove original files (sub file and vid file)\n# only keep merged files\nfastanime download -t \u003canime-title\u003e --merge --clean --no-prompt\n\n# EOF is used since -t always expects a title\n# you can supply anime titles from file or -t at the same time\n#\n# from stdin\necho -e \"\u003canime-title\u003e\\n\u003canime-title\u003e\\n\u003canime-title\u003e\" | fastanime download -t \"EOF\" -r \u003crange\u003e -f -\n\n# from file\nfastanime download -t \"EOF\" -r \u003crange\u003e -f \u003cfile-path\u003e\n\n\n```\n\n#### search subcommand\n\nPowerful command mainly aimed at binging anime. Since it doesn't require interaction with the interfaces.\n\nUses a list slicing syntax similar to that of python as the value of the `-r` option.\n\n**Syntax:**\n\n```bash\n# basic form where you will still be prompted for the episode number\n# multiple titles can be specified with the -t option\nfastanime search -t \u003canime-title\u003e -t \u003canime-title\u003e\n\n# binge all episodes with this command\nfastanime search -t \u003canime-title\u003e -r ':'\n\n# watch latest episode\nfastanime search -t \u003canime-title\u003e -r '-1'\n\n# binge a specific episode range with this command\n# be sure to observe the range Syntax\nfastanime search -t \u003canime-title\u003e -r '\u003cstart\u003e:\u003cstop\u003e'\n\nfastanime search -t \u003canime-title\u003e -r '\u003cstart\u003e:\u003cstop\u003e:\u003cstep\u003e'\n\nfastanime search -t \u003canime-title\u003e -r '\u003cstart\u003e:'\n\nfastanime search -t \u003canime-title\u003e -r ':\u003cend\u003e'\n```\n\n#### grab subcommand\n\nHelper command to print streams to stdout so it can be used by non-python applications.\n\nThe format of the printed out data is json and can be either an array or object depending on how many anime titles have been specified in the command-line or through a subprocess.\n\n\u003e [!TIP]\n\u003e For python applications just use its python api, for even greater and easier control.\n\u003e So just add fastanime as one of your dependencies.\n\nUses a list slicing syntax similar to that of python as the value of the `-r` option.\n\n**Syntax:**\n\n```bash\n# --- print anime info + episode streams ---\n\n# multiple titles can be specified with the -t option\nfastanime grab -t \u003canime-title\u003e -t \u003canime-title\u003e\n\n# -- or --\n\n# print all available episodes\nfastanime grab -t \u003canime-title\u003e -r ':'\n\n# print the latest episode\nfastanime grab -t \u003canime-title\u003e -r '-1'\n\n# print a specific episode range\n# be sure to observe the range Syntax\nfastanime grab -t \u003canime-title\u003e -r '\u003cstart\u003e:\u003cstop\u003e'\n\nfastanime grab -t \u003canime-title\u003e -r '\u003cstart\u003e:\u003cstop\u003e:\u003cstep\u003e'\n\nfastanime grab -t \u003canime-title\u003e -r '\u003cstart\u003e:'\n\nfastanime grab -t \u003canime-title\u003e -r ':\u003cend\u003e'\n\n# --- grab options ---\n\n# print search results only\nfastanime grab -t \u003canime-title\u003e -r \u003crange\u003e --search-results-only\n\n# print anime info only\nfastanime grab -t \u003canime-title\u003e -r \u003crange\u003e --anime-info-only\n\n# print episode streams only\nfastanime grab -t \u003canime-title\u003e -r \u003crange\u003e --episode-streams-only\n\n```\n\n#### downloads subcommand\n\nView and stream the anime you downloaded using MPV.\n\n**Syntax:**\n\n```bash\nfastanime downloads\n\n# view individual episodes\nfastanime downloads --view-episodes\n# --- or ---\nfastanime downloads -v\n\n# to set seek time when using ffmpegthumbnailer for local previews\n# -1 means random and is the default\nfastanime downloads --time-to-seek \u003cintRange(-1,100)\u003e\n# --- or ---\nfastanime downloads -t \u003cintRange(-1,100)\u003e\n\n# to watch a specific title\n# be sure to get the completions for the best experience\nfastanime downloads --title \u003ctitle\u003e\n\n# to get the path to the downloads folder set\nfastanime downloads --path\n# useful when you want to use the value for other programs\n\n```\n\n#### config subcommand\n\nEdit FastAnime configuration settings using your preferred editor (based on `$EDITOR` environment variable so be sure to set it).\n\n**Syntax:**\n\n```bash\nfastanime config\n\n# to get config path which is useful if you want to use it for another program.\nfastanime config --path\n\n# add a desktop entry\nfastanime config --desktop-entry\n\n# view current contents of your configuration or can be used to get an example config\nfastanime config --view\n```\n\n\u003e [!Note]\n\u003e\n\u003e If it opens [vim](https://www.vim.org/download.php) you can exit by typing `:q` 😉.\n\n#### cache subcommand\n\nEasily manage the data fastanime has cached; for the previews.\n\n**Syntax:**\n\n```bash\n# delete everything in the cache dir\nfastanime cache --clean\n\n# print the path to the cache dir and exit\nfastanime cache --path\n\n# print the current size of the cache dir and exit\nfastanime cache --size\n\n# open the cache dir and exit\nfastanime cache\n```\n\n#### update subcommand\n\nEasily update fastanime to latest\n\n**Syntax:**\n\n```bash\n# update fastanime to latest\nfastanime update\n\n# check for latest release\nfastanime update --check\n```\n\n#### completions subcommand\n\nHelper command to setup shell completions\n\n**Syntax:**\n\n```bash\n# try to detect your shell and print completions\nfastanime completions\n# print fish completions\nfastanime completions --fish\n# print bash completions\nfastanime completions --bash\n# print zsh completions\nfastanime completions --zsh\n```\n\n#### fastanime serve\n\nHelper command that starts a rest server.\nThis requires you to install fastanime with the api extra or standard extra.\n\n```bash\n# default options\nfastanime serve\n\n# specify host and port\nfastanime serve --host \u003chost\u003e --port \u003cport\u003e\n```\n\n### MPV specific commands\n\nThe project now allows on the fly media controls directly from mpv. This means you can go to the next or previous episode without the window ever closing thus offering a seamless experience.\nThis is all powered with [python-mpv]() which enables writing mpv scripts with python just like how it would be done in lua.\n\n#### Key Bindings\n\n`\u003cshift\u003e+n` fetch the next episode\n\n`\u003cshift\u003e+p` fetch the previous episode\n\n`\u003cshift\u003e+t` toggle the translation type from dub to sub\n\n`\u003cshift\u003e+a` toggle auto next episode\n\n`\u003cshit\u003e+r` reload episode\n\n#### Script Messages\n\nCommands issued in the MPV console.\n\nExamples:\n\n```bash\n# to select episode from mpv without window closing\nscript-message select-episode \u003cepisode-number\u003e\n\n# to select server from mpv without window closing\nscript-message select-server \u003cserver-name\u003e\n\n# to select quality\nscript-message select-quality \u003c1080/720/480/360\u003e\n```\n\n## styling the default interface\n\nThe default interface uses inquirerPy which is customizable. Read here to findout more \u003chttps://inquirerpy.readthedocs.io/en/latest/pages/env.html\u003e\n\n## Configuration\n\nThe app includes sensible defaults but can be customized extensively. Configuration is stored in `.ini` format at `~/.config/FastAnime/config.ini` on arch linux; for the other operating systems you can check by running `fastanime config --path`.\n\n\u003e [!TIP]\n\u003e You can now use the option `--update` to update your config file from the command-line\n\u003e For Example:\n\u003e `fastanime --icons --fzf --preview config --update`\n\u003e the above will set icons to true, use_fzf to true and preview to true in your config file\n\nBy default if a config file does not exist it will be auto created with comments to explain each and every option.\nThe default config:\n\n```ini\n[general]\nicons = False\n\nquality = 1080\n\nnormalize_titles = True\n\nprovider = allanime\n\npreferred_language = english\n\ndownloads_dir = ~/Videos/FastAnime\n\npreview = False\n\nffmpegthumbnailer_seek_time = -1\n\nuse_fzf = False\n\nuse_rofi = False\n\nrofi_theme =\n\nrofi_theme_input =\n\nrofi_theme_confirm =\n\nnotification_duration = 120\n\nsub_lang = eng\n\ndefault_media_list_tracking = None\n\nforce_forward_tracking = True\n\ncache_requests = True\n\nuse_persistent_provider_store = False\n\nrecent = 50\n\n\n[stream]\ncontinue_from_history = True\n\npreferred_history = local\n\ntranslation_type = sub\n\nserver = top\n\nauto_next = False\n\nauto_select = True\n\nskip = False\n\nepisode_complete_at = 80\n\nuse_python_mpv = False\n\nforce_window = immediate\n\nformat = best[height\u003c=1080]/bestvideo[height\u003c=1080]+bestaudio/best\n\nplayer = mpv\n```\n\n### Other Terminal Browsers I Made\n[yt-x](https://github.com/Benexl/yt-x) - browse youtube and other yt-dlp sites from the terminal\n\n[lib-x](https://github.com/Benexl/lib-x) - browse your calibre library from the terminal\n\n\n\n## Contributing\n\npr's are highly welcome\n\nIf you find an anime title that does not correspond with a provider or is just weird just [edit the data file](https://github.com/Benexl/FastAnime/blob/master/fastanime/Utility/data.py) and open a pr, issues will be ignored 😝.\n\n## Supporting the Project\n\nMore pr's less issues 🙃\n\nShow your support by starring the GitHub repository.\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y8ZAA7N)\n\n## Disclaimer\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e This project currently scrapes allanime, hianime, nyaa and animepahe.\n\u003e The developer(s) of this application does not have any affiliation with the content providers available, and this application hosts zero content.\n\u003e [DISCLAIMER](https://github.com/Benexl/FastAnime/blob/master/DISCLAIMER.md)\n","funding_links":["https://github.com/sponsors/benexl","https://ko-fi.com/benexl","https://ko-fi.com/Y8Y8ZAA7N"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenexl%2Ffastanime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenexl%2Ffastanime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenexl%2Ffastanime/lists"}