Skip to main content

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

Project description

AniKit 🎬

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 ~/.anikit/config.yaml
Cross-Platform - Works on Windows, macOS, Linux

Installation

Via PyPI (Recommended)

pip install anikit

From Source

git clone https://github.com/yourusername/anikit.git
cd anikit
pip install -e .

Quick Start

Desktop Mode - Watch Anime

anikit watch naruto --episode 1 --language "German Dub"
anikit watch "one piece" --episode 100 --language "German Sub"

Search Anime

anikit search "attack on titan"
anikit info naruto

Server Mode - REST API

anikit server --port 8080

Then in another terminal:

curl "http://localhost:8080/stream/naruto/1?lang=German+Dub"

Commands

# Watch anime (resolves stream + launches player)
anikit watch <slug> --episode <N> [--language <LANG>]

# Get stream URL only (no player)
anikit stream <slug> --episode <N> [--language <LANG>] [--json-out]

# Search anime
anikit search <query> [--provider <NAME>]

# Get anime info
anikit info <slug>

# Manage configuration
anikit config show
anikit config set <key> <value>

# Start REST API server
anikit server [--port <PORT>] [--api-only]

Configuration

Config file location: ~/.anikit/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.0.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.0-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aninishi-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b93efc009015950128418b56c4e3ce8dc26de11001a02865540958a37a3176b8
MD5 9104d2d880b4ae0c41810b3b3567998f
BLAKE2b-256 3254704fe7863da8ff1cfdb8ec7048e78d8209a620a44e3484afdd17b1f2f130

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aninishi-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 676e6429d0369a4194e5d6fd6db32acc9cf4f03189ec1eaa6c8b0cf72c2dfd33
MD5 cf248ab8b1f79a4f11610641f8ee17fa
BLAKE2b-256 1cf54efc69b9a8b0d46301122df5e893696e34caaa998c3742d66e2558ac7678

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