Skip to main content

aninishi 🎬

German + English Anime Streaming CLI/Server — Watch anime from aniworld.to (German) and gogoanime (English) directly in your terminal or via REST API.

Python Version License Release

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

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)

Source distribution for aninishi 0.1.1
File Size Uploaded
aninishi-0.1.1.tar.gz 18.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aninishi 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page