aninishi 🎬
German + English Anime Streaming CLI/Server — Watch anime from aniworld.to (German) and gogoanime (English) directly in your terminal or via REST API.
Features
✅ German Anime - Stream from aniworld.to with German Dub/Sub
✅ English Anime - Fallback to gogoanime for English content
✅ Desktop Mode - Auto-launch mpv/vlc with stream URL
✅ Server Mode - FastAPI REST API for integration
✅ Config Persistence - YAML-based settings at ~/.aninishi/config.yaml
✅ Cross-Platform - Works on Windows, macOS, Linux
Installation
Via PyPI (Recommended)
pip install aninishi
From Source
git clone https://github.com/yourusername/aninishi.git
cd aninishi
pip install -e .
Quick Start
Desktop Mode - Watch Anime
aninishi watch naruto --episode 1 --language "German Dub"
aninishi watch "one piece" --episode 100 --language "German Sub"
Search Anime
aninishi search "attack on titan"
aninishi info naruto
Server Mode - REST API
aninishi server --port 8080
Then in another terminal:
curl "http://localhost:8080/stream/naruto/1?lang=German+Dub"
Commands
# Watch anime (resolves stream + launches player)
aninishi watch <slug> --episode <N> [--language <LANG>]
# Get stream URL only (no player)
aninishi stream <slug> --episode <N> [--language <LANG>] [--json-out]
# Search anime
aninishi search <query> [--provider <NAME>]
# Get anime info
aninishi info <slug>
# Manage configuration
aninishi config show
aninishi config set <key> <value>
# Start REST API server
aninishi server [--port <PORT>] [--api-only]
Configuration
Config file location: ~/.aninishi/config.yaml
mode: desktop # desktop | server
language: "German Dub" # German Dub | German Sub | English Dub | English Sub
provider: auto # aniworld | english | auto
desktop:
player: mpv # mpv | vlc
player_path: null # or /path/to/player
fullscreen: true
keep_watching: false
server:
host: 127.0.0.1
port: 8080
api_only: true
Dependencies
- aniworld (v4.5.1) - German anime scraper
- anipy-api (v3.8.12) - English anime provider
- Click (v8.1.8) - CLI framework
- Rich (v13.3.3) - Terminal formatting
- FastAPI (v0.100+) - REST API
- Uvicorn - ASGI server
- PyYAML (v6.0.3) - Config persistence
Supported Players
- mpv (recommended)
- VLC (fallback)
API Endpoints (Server Mode)
GET /search?q=<query>&lang=<language> # Search anime
GET /info/<slug> # Get anime metadata
GET /stream/<slug>/<episode> # Get stream URL
?lang=<lang>&season=<n>&provider=<name>&vprovider=<name>&with_info=<bool>
GET /config # Show config
POST /config # Update config
License
MIT © 2026 - Feel free to fork and extend!
Disclaimer
⚠️ Legal Notice: This tool is for personal use only. Respect copyright laws in your country. The developers are not responsible for any misuse.
Made with ❤️ for German anime fans
Metadata
Release files for aninishi 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aninishi-0.1.1.tar.gz | 18.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aninishi-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.4 kB
Release files / aninishi-0.1.1.tar.gz
| Download URL | aninishi-0.1.1.tar.gz |
|---|---|
| Size | 18.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cdfc5ac7687cbe1008d4cf8922b80ab1cd57041ba689910029abedb4974ab5a
|
|
BLAKE2b-256 checksum How to use checksums |
5ee96ce8556dae2f055cb9366fd5a6358359d0f43acbae7f2b7410743554681f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / aninishi-0.1.1-py3-none-any.whl
| Download URL | aninishi-0.1.1-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cdceb88f5e4c1d916fb58e6b5318a39e66ffb83eb7d282502b166459877981d6
|
|
BLAKE2b-256 checksum How to use checksums |
98569b10c8f2a75d989c88931c4b1177f0c42d8b2dd24544038da210cea2e768
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|