A blazingly fast desktop app for batch downloading anime and auto-downloading new episodes upon release
Installation • Features • CLI • Building from source • Support • FAQ • Links • Contribution
- Windows 10/11
Download the setup then run it. (Recommended)
- Cross-platform (Linux, Mac, Windows 10/11)
Needs Python 3.11+ installed.
pip install senpwai
- Android
Check Senpcli
- Other
- Download any anime from Animepahe or Gogoanime.
- Keep track of an anime and automatically download new episodes when they release.
- Download a complete season or episodes within a range (e.g., 69-420).
- Choose between video qualities: 360p, 480p (Gogoanime only), 720p, or 1080p.
- Download in sub or dub (if available) depending on the user's preference.
- Automatically detects episodes you already have and avoids re-downloading them.
- Robust and graceful download error management.
- GUI and CLI.
Senpcli is a CLI alternative for Senpwai. Senpwai is already efficient and lightweight, Senpcli basically strips off the GUI while maintaining most of the basic functionality.
- You can support the development of Senpwai through donations on GitHub Sponsors or Patreon.
- You can also leave a star on the github for more weebs to know about it.
- Senpwai is open to pull requests, so if you have ideas for improvements, feel free to contribute!
Ensure you have Python 3.11 (3.11 specifically!!!) and Git installed.
Open a terminal and run the following commands.
- Set everything up.
git clone https://github.com/SenZmaKi/Senpwai --depth 1 && cd Senpwai && pip install -r dev-requirements.txt && poetry install
- Build the app into an executable.
poetry run poe build_senpwai_exe
- The executable will be built in
Senpwai\build\Senpwai
- Alternatively you can instead run the app directly via Python.
- Activate virtual environment
poetry shell
- Run the app
python -m senpwai
- Both steps at once, but it is slower since it activates the virtual environment every time
poetry run senpwai
Why did you make this?
I couldn't afford wifi so I used my college wifi to batch download anime after class but batch downloading from streaming sites is a pain in the ass, you have to click billions of links just to download one episode, so I made Senpwai to help me and possibly others that face a similar problem.What is HLS mode?
HLS mode attempts to fix the unstability of Gogoanime normal mode. In HLS mode Gogoanime downloads are guaranteed to work, though with a few downsides:
- Requires FFmpeg to be installed, though Senpwai can attempt to automatically install it for you.
- No download size indication but Senpwai will estimate the total download size after the first download.
Do you intend to add more sources?
One person can only do so much, I only plan on adding another source if something ever happens to Animepahe or Gogoanime. More sources means more writing more code which in turn means fixing more bugs.
- If it's a change to code e.g.,
main.py
make the pull request into the most recent branch e.g.,v2.1.5
instead ofmaster
. - If it's a change to documentation e.g.,
README.md
make the pull request into themaster
branch. - If you open the project folder on Visual Studio Code you will be prompted to install recommended extensions for the project.
- Pyright is used as the type checker, ensure your code is type annotated well and there are no type errors.
- Ruff is used for formatting and linting.
- Inno Setup is used for creating the installer, add the installation folder to the
%PATH%
environment variable for access toISCC.exe
from the command line. Also set theSENPWAI_ROOT_DIR
environment variable to the root directory of the project. - Poe is used as the task runner, there are various tasks available to run e.g.,
poe lint
to lint the code. It autoloads the.env
file in the root directory of the project. Poe is installed when you setup the project.
Senpwai is designed solely for providing access to publicly available content. It is not intended to support or promote piracy or copyright infringement. As the creator of this app, I hereby declare that I am not responsible for, and in no way associated with, any external links or the content they direct to.
It is essential to understand that all the content available through this app are found freely accessible on the internet and the app does not host any copyrighted content. I do not exercise control over the nature, content, or availability of the websites linked within the app.
If you have any concerns or objections regarding the content provided by this app, please contact the respective website owners, webmasters, or hosting providers. Thank you.
Truly one of the most apps ever of all time.