Skip to main content

A modern CLI to download animes automatically from Twist.moe

Project description

Kurby

PyPI - Python Version Downloads PyPI version

Kirby ball in Kirby: Canvas Curse

Kurby is a nice and simple CLI that use Twist website, and their huge collection to download animes for free and automatically

Animes from Twist are generally in High Definition with English subtitles. Please consider donating for their amazing work :)

Overview

The CLI is built with Typer and it is composed of 3 commands

  • animes: Search animes to find what is available and extract the slug to be used in the other commands

animes

--search option allows you to make a fuzzy search

  • details: Show details of an anime if needed

details

You can see the number of episodes available and when the first and last episode were uploaded

  • download: Choose and download which episodes of the anime you want !

download

Because sometimes bad things can happen, Kurby will automatically retry for you

You can also download without having a slug initially. In this case, Kurby will propose you a selection

download-selection

And that's it !

You can also use kurby --help to get more information on the different commands

Installation

pip install kurby
kurby --help

Installation on Windows

  • Right click on the install.bat and run it as an Administrator, this will install Chocolatey who will manage the python installation
  • Once the installation is finished, and you're asked to press a key, open a new terminal (Win + R > cmd )
  • You can now start using Kurby with kurby --help

Installation on Android without root needed

  • Install Termux on your Android phone
  • In Termux, run this command to allow access to storage: termux-setup-storage, and tap allow
  • Next, run the follow command pkg install git python
  • Then pip3 install kurby
  • You're done ! You can download animes on your phone like so kurby download --d ~/storage/shared
Thanks to 6b86b3ac03c167320d93 for this tutorial

Installation from sources

Create your virtual environment (optional)

mkvirtualenv kurby
workon kurby

Install poetry

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -

Install dependencies using poetry

poetry install --no-dev
kurby-cli --help # or python kurby-cli --help

Getting the latest episode automatically

An interesting use case is to get the latest episode of an anime as soon as it is available.

This is possible on Linux using crontab (or another equivalent on others OS) and a little tweak of chemistry. Here is an example of a few instructions that can help you do this.

now=$(date -u "+%Y-%m-%dT%H:%M:%S")
date=$(cat kurby.date || echo $now) # Get the date of previous download
python kurby download {{YOUR_ANIME}} --dfrom=${DATE} # Download any episodes that has been uploaded since the last time
echo $now > kurby.date # Store the current date as the new date

Next steps

Kurby is already functional as it is but here are the next things I would like to add :

  • Adding the support of asynchronous download
  • Refactor the retrying strategy to add more customisable options and allow errors during a download without interruption
  • Refactor the crawling process to potentially avoid being detected as a bot

Disclaimer

Downloading copyright videos may be illegal in your country.

This tool is for educational purposes only.

The developers or this application do not store or distribute any files whatsoever.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kurby-0.3.3.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

kurby-0.3.3-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file kurby-0.3.3.tar.gz.

File metadata

  • Download URL: kurby-0.3.3.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.1 Linux/4.19.78-coreos

File hashes

Hashes for kurby-0.3.3.tar.gz
Algorithm Hash digest
SHA256 87a2bd05a84f6f557fb0c8c4ee2730c661cde86fe041884b5981c41126391d7d
MD5 6de010e5917b32e20a8d333ba1e6cabe
BLAKE2b-256 750912b7fb8acd57bad5a6e6d9bfb37318d60d3fc88d995a170adfe026434a92

See more details on using hashes here.

File details

Details for the file kurby-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: kurby-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.1 Linux/4.19.78-coreos

File hashes

Hashes for kurby-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a692cf66968ac58f5e6ba03b4a3c30f4fcd5679aed4d6946bec19f59b44a9c47
MD5 159e18ac7f352ba751c1eb2b1a59370a
BLAKE2b-256 d6ba4a68be8951be3ca3b2fef76b102bd30f0759ffa43b966d41c03cffc9372c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page