Skip to main content

Unified anime streaming CLI — German & English, Desktop & Server mode

Project description

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

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

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

aninishi-0.1.1.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aninishi-0.1.1-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file aninishi-0.1.1.tar.gz.

File metadata

  • Download URL: aninishi-0.1.1.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aninishi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4cdfc5ac7687cbe1008d4cf8922b80ab1cd57041ba689910029abedb4974ab5a
MD5 34fbc5cd4e7dfce232eb989c05ef62a1
BLAKE2b-256 5ee96ce8556dae2f055cb9366fd5a6358359d0f43acbae7f2b7410743554681f

See more details on using hashes here.

File details

Details for the file aninishi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: aninishi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aninishi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cdceb88f5e4c1d916fb58e6b5318a39e66ffb83eb7d282502b166459877981d6
MD5 8420b13cd0ec437c87af021cde364f83
BLAKE2b-256 98569b10c8f2a75d989c88931c4b1177f0c42d8b2dd24544038da210cea2e768

See more details on using hashes here.

Supported by

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