Skip to content

ayushjaipuriyar/animepahe-dl

Repository files navigation

AnimePahe Downloader

PyPI version License: MIT CI

A Python-based tool to download anime from AnimePahe, featuring both a Command-Line Interface (CLI) and a Graphical User Interface (GUI).

Screenshot

Features

  • Search and Download: Find any anime on AnimePahe and download it.
  • Batch Downloads: Download entire series or select specific episodes.
  • Resume Support: Resume interrupted downloads without starting over.
  • Cross-Platform: Works on Windows, macOS, and Linux.
  • Desktop Notifications: Get notified when your downloads are complete.
  • Automatic Cache Updates: Keep your local anime list up-to-date automatically.

Installation

1. Prerequisites

Before installing, ensure you have the following dependencies on your system:

  • Python 3.8+: Download Python
  • ffmpeg: Essential for merging video segments.
    • Windows: Download from ffmpeg.org and add to your system's PATH.
    • macOS: brew install ffmpeg
    • Linux: sudo apt update && sudo apt install ffmpeg (or use your distro's package manager).
  • fzf: Required for the interactive anime selection in the CLI.
    • Windows: Download from the fzf GitHub releases and add to your PATH.
    • macOS: brew install fzf
    • Linux: sudo apt update && sudo apt install fzf (or use your distro's package manager).
  • Node.js: Required for an internal dependency.

2. Install with pip

Once the prerequisites are installed, you can install the downloader from PyPI:

pip install animepahe-dl

Usage

The package can be run directly from your terminal.

Command-Line Interface (CLI)

To run the CLI, use the animepahe-dl command:

# Search for an anime and select episodes interactively
animepahe-dl -n "Your Anime Name"

# Download specific episodes of an anime
animepahe-dl -n "Your Anime Name" -e 1 3 5

CLI Options:

Flag Alias Description Default
--name -n Name of the anime to search for.
--episodes -e List of episode numbers to download (e.g., 1 2 5).
--quality -q Desired video quality (720 or 1080). 1080
--audio -a Desired audio language (eng or jpn). jpn
--threads -t Number of download threads. 100
--updates Check for new episodes of anime in your personal list.
--manage Manage your personal anime list (add/remove anime).
--run-once Use with --updates to run the check once and exit.
--gui Launch the Graphical User Interface.

Graphical User Interface (GUI)

To launch the GUI, use the --gui flag:

animepahe-dl --gui

The GUI provides a user-friendly interface for searching, selecting, and downloading anime without using the command line.

Configuration

The application's configuration (config.json) and data files (myanimelist.txt, animelist.txt) are stored in your user data directory:

  • Linux: ~/.config/anime_downloader/
  • macOS: ~/Library/Application Support/anime_downloader/
  • Windows: C:\Users\<YourUsername>\AppData\Local\anime_downloader\

You can manually edit config.json to change defaults for quality, audio, threads, and the download directory.

For Developers

If you want to contribute to the project, you can install it from the source.

  1. Clone the repository:

    git clone https://github.com/ayushjaipuriyar/animepahe-dl.git
    cd animepahe-dl
  2. Install dependencies using pipenv:

    pip install pipenv
    pipenv install --dev

    This will create a virtual environment and install all required packages.

Conventional Commits

This project uses Conventional Commits for release automation. When creating a pull request, please make sure your commit messages follow the standard.

  • feat: for new features (triggers a minor version bump).
  • fix: for bug fixes (triggers a patch version bump).

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Animepahe downloader written in python

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published