Skip to content

Benexl/FastAnime

Repository files navigation

FastAnime

Browse anime from the terminal

PyPI - Downloads GitHub Actions Workflow Status Discord GitHub Issues or Pull Requests GitHub deployments PyPI - License Static Badge

fastanime

How it looks

Anilist results menu: image

Episodes menu preview: image

Without preview images enabled: image

Desktop notifications + episodes menu without image preview: image

Installation

Windows Linux/BSD Arch Linux MacOS Android

The app can run wherever python can run. So all you need to have is python installed on your device. On android you can use termux. If you have any difficulty consult for help on the discord channel

Installation on nixos

Static Badge

nix profile install github:Benexl/fastanime

Installation using your favourite package manager

Currently the app is only published on pypi. With the following extras available:

  • standard -which installs all dependencies
  • api - which installs dependencies required to use fastanime serve
  • mpv - which installs python mpv
  • notifications - which installs plyer required for desktop notifications

Using uv

Recommended method of installation is using uv.

# generally:
uv tool install "fastanime[standard]"

# or stripped down installations:
uv tool install fastanime
uv tool install "fastanime[api]"
uv tool install "fastanime[mpv]"
uv tool install "fastanime[notifications]"

Using pipx

pipx install fastanime
# -- or for the development version --
pipx install 'fastanime==<latest-pre-release-tag>.dev1'
# example
# pipx install 'fastanime==0.60.1.dev1'

Using pip

pip install fastanime
# -- or for the development version --
pip install 'fastanime==<latest-pre-release-tag>.dev1'
# example
# pip install 'fastanime==0.60.1.dev1'

Installing the bleeding edge version

To install the latest build which are created on every push by GitHub actions, download the fastanime_debug_build of your choosing from the GitHub actions page. Then:

unzip fastanime_debug_build

# outputs fastanime<version>.tar.gz

pipx install fastanime<version>.tar.gz

# --- or ---

pip install fastanime<version>.tar.gz

Building from the source

Requirements:

To build from the source, follow these steps:

  1. Clone the repository: git clone https://github.com/Benexl/FastAnime.git --depth 1
  2. Navigate into the folder: cd FastAnime
  3. Then build and Install the app:
# build and install fastanime with uv
uv tool install .
  1. Enjoy! Verify installation with:
fastanime --version

Tip

Download the completions from here for your shell. To add completions:

  • Fish Users: cp $FASTANIME_PATH/completions/fastanime.fish ~/.config/fish/completions/
  • Bash Users: Add source $FASTANIME_PATH/completions/fastanime.bash to your .bashrc
  • Zsh Users: Add source $FASTANIME_PATH/completions/fastanime.zsh to your .zshrc or using the built in command fastanime completions

External Dependencies

The only required external dependency, unless you won't be streaming, is MPV, which i recommend installing with uosc πŸ”₯ and thumbfast for the best experience since they add a better interface to it.

Note

The project currently sees no reason to support any other video player because we believe nothing beats MPV and it provides everything you could ever need with a small footprint. But if you have a reason feel free to encourage as to do so. However, on android this is not the case so vlc is also supported

Other external dependencies that will just make your experience better:

  • webtorrent-cli used when the provider is nyaa
  • ffmpeg is required to be in your path environment variables to properly download hls streams.
  • fzf πŸ”₯ which is used as a better alternative to the ui.
  • rofi πŸ”₯ which is used as another alternative ui + the desktop entry ui
  • chafa currently the best cross platform and cross terminal image viewer for the terminal.
  • icat an image viewer that only works in kitty terminal, 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!!
  • bash is used as the preview script language.
  • ani-skip used for skipping the opening and ending theme songs
  • ffmpegthumbnailer used for local previews of downloaded anime
  • syncplay to enable watch together.
  • feh used in manga mode

Contributing

pr's are highly welcome

If you find an anime title that does not correspond with a provider or is just weird just edit the data file and open a pr, issues will be ignored 😝.

Supporting the Project

More pr's less issues πŸ™ƒ

Show your support by starring the GitHub repository.

Disclaimer

Important

This project currently scrapes allanime, hianime, nyaa, yugen and animepahe. The developer(s) of this application does not have any affiliation with the content providers available, and this application hosts zero content. DISCLAIMER