Kuro Anime
Terminal-based anime discovery and streaming tool. Search anime, browse airing shows, view details, download episodes, and stream them — all from your terminal.
Features
- Search — Find any anime by title; persistent short codes for instant lookups
- Currently Airing — Browse the latest releases with pagination
- Detailed Info — Synopsis, genres, relations, recommendations, metadata
- Episode Listings — Browse episodes with pagination and sort order
- Streaming — Interactive episode/quality picker → mpv
- Download — Extract video URLs or batch-download episodes
- Doctor —
kuro doctorchecks all system dependencies with install instructions - Shell Completion —
kuro completion bash|zsh|fishgenerates completion scripts - History —
kuro historytracks recent searches, watches, and downloads - Config Init —
kuro initgenerates a commented default configuration
Installation
Requires Python 3.10+, mpv (for kuro watch), and ffmpeg (for kuro download).
pip install kuro-anime
To install from source:
git clone https://github.com/awtawsif/kuro_anime.git
cd kuro_anime
pip install .
Configuration
A default config is auto-generated on first run. Edit ~/.kuro_anime/config.toml to customize:
[defaults]
output_dir = "~/Videos" # download destination
quality = "best" # preferred resolution: "best", "1080", "720", etc.
language = "jpn" # preferred audio language: "jpn", "eng", etc.
player = "mpv" # video player binary (mpv, vlc, iina, etc.)
[download]
filename_template = "{title} - EP{episode:02d}.mp4"
You can also run kuro init --force to regenerate the default config. CLI flags override config values when both are supplied.
Quick Start
# Search for an anime (generates short codes)
kuro search "One Piece"
# View details using a short code
kuro detail onpi
# Browse episodes and watch
kuro watch onpi
# See what's currently airing
kuro airing --page 1
Commands
Run kuro <command> --help for full usage. All commands accept --json for machine-readable output.
| Command | Description |
|---|---|
search <query> |
Search anime by title (generates short codes) |
airing |
Browse currently airing anime |
detail <anime> |
Show synopsis, metadata, relations, recommendations |
episodes <anime> |
List episodes with pagination and sort |
watch <anime> |
Interactive episode/quality picker → mpv |
download <anime> |
Download episodes (single or batch) |
doctor |
Check system dependencies |
completion <shell> |
Generate shell completion (bash/zsh/fish) |
history |
Show recent searches, watches, downloads |
init |
Generate commented default config |
Identifiers can be a short code (onpi), a UUID, or a kebab-case slug (one-piece). Short codes persist across sessions.
State
Persisted to ~/.kuro_anime/state.json. Short codes, session mappings, a kwik-cache, and activity history live there. Delete the file to reset all state.
FAQ
"mpv not found": Install mpv — sudo apt install mpv (Debian/Ubuntu), brew install mpv (macOS), sudo dnf install mpv (Fedora).
"ffmpeg not found": Install ffmpeg — sudo apt install ffmpeg (Debian/Ubuntu), brew install ffmpeg (macOS), sudo dnf install ffmpeg (Fedora).
"Could not resolve": The identifier wasn't a short code, UUID, or matching slug. Run kuro search <query> first.
License
Metadata
Release files for kuro-anime 1.7.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kuro_anime-1.7.4.2.tar.gz | 35.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kuro_anime-1.7.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.2 kB
Release files / kuro_anime-1.7.4.2.tar.gz
| Download URL | kuro_anime-1.7.4.2.tar.gz |
|---|---|
| Size | 35.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a714123c5e0d091435a4e4fb774786a72cff3bbaf3c89fb9a63a467302b61a9f
|
|
BLAKE2b-256 checksum How to use checksums |
3a1d13839639d6dfddc30a0a1d5bbae61e0cf50d75f478b7c0fd89839570c3b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 4, 2026.
Transparency logRelease files / kuro_anime-1.7.4.2-py3-none-any.whl
| Download URL | kuro_anime-1.7.4.2-py3-none-any.whl |
|---|---|
| Size | 40.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e168b341917920f533f32f05674dbb302031985e0b946f34ed5a3d474e6cc53b
|
|
BLAKE2b-256 checksum How to use checksums |
4c7402403a0c7ae58f5404eba550e42d00c30d5c3bb8872e596fbec9aee0e84b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 4, 2026.
Transparency log