Skip to main content

A CLI tool to browse, watch, and download anime from Anime-Sama (VOSTFR/VF)

Project description

[!IMPORTANT]

Project Status

This project is actively maintained and developed by 6sfy.

[!CAUTION] The use of this module under a different name on PyPI (or another source besides this GitHub) is not associated with this library. anisama streams from Anime-Sama, Voiranime, MyFluneo, AnimesUltra, French-Anime, AnimoFlix. We are not responsible for any misuse.

About

Welcome to anisama, a Python CLI to browse, watch, and download anime from multiple sources (VOSTFR/VF).

  • Inspired by ani-cli, the original shell-based anime streaming tool.
  • Scrapes 6 sources: Anime-Sama, Voiranime, MyFluneo, AnimesUltra, French-Anime, AnimoFlix.
  • Interactive TUI built with Rich and Questionary.
  • Connects to the anisama API for fast search and video resolution.

PyPI version PyPI downloads Tests status Python version

Project Structure

anisama/
├── src/                    # CLI application
│   ├── __init__.py
│   ├── __main__.py
│   ├── core/               # Backend logic
│   │   ├── config.py       # Constants, headers, domains
│   │   ├── cache.py        # Catalog, settings, history
│   │   ├── scraper.py      # Anime-Sama + Voiranime scraping
│   │   ├── resolver.py     # Video URL extraction per host
│   │   └── search.py       # Fuzzy search, scoring, dedup
│   ├── cli/                # CLI-specific code
│   │   ├── app.py          # Entry point, click command
│   │   ├── display.py      # Banner, colors, info panels
│   │   ├── player.py       # Player detection, play/download
│   │   ├── picker.py       # Selection menus
│   │   ├── mirror.py       # Speed tests, mirror resolution
│   │   ├── install.py      # yt-dlp/ffmpeg install guides
│   │   ├── settings.py     # Settings menu
│   │   └── workflow.py     # Main workflow (search, play, download)
│   └── api/                # Remote API client
│       └── client.py       # Wrapper for anisama API
└── data/                   # Local catalog/settings storage

Features

  • Search anime by title with fuzzy matching (rapidfuzz) across 6 sources
  • Multi-source merge: Anime-Sama, Voiranime, MyFluneo, AnimesUltra, French-Anime, AnimoFlix
  • Intelligent dedup: season/lang variants grouped under one result
  • Smart search: exact match shows only relevant results, broad queries show variants
  • Browse seasons (VOSTFR / VF)
  • Stream episodes in your preferred video player
  • Download episodes directly
  • Episode range support (1-5 or 1,3,5)
  • Multiple video mirrors with automatic speed-tested fallback
  • Player support: mpv, VLC, IINA, MoonPlayer, ImPlay
  • API-first resolve with local fallback
  • "Continue watching" history menu
  • AniList-powered info panel (score, status, episodes, studios, tags, synopsis)
  • Prefer MP4 sources over HLS/m3u8 for faster playback
  • Automatic m3u8 → mp4 conversion for downloads
  • More sources / languages

Installation

From PyPI (recommended)

pip install anisama

From source

git clone https://github.com/6sfy/anisama.git
cd anisama
pip install -e .

Usage

Interactive mode

anisama

CLI mode

anisama "demon slayer"
anisama "one piece" -e 1-5
anisama "attack on titan" -e 1,3,5 --lang vf
anisama "jujutsu kaisen" -d -e 1
anisama -p vlc "berserk"

Options

Flag Description
--lang vostfr/vf Language filter
--dub Shorthand for VF
-d, --download Download instead of streaming
-e, --episodes Episode range: 5, 1-5, or 1,3,5
-p, --player Player: mpv, vlc, iina, moonplayer, implay
-U, --update Force refresh the anime catalog
-q, --quiet Reduce output verbosity
--version Show version
-h, --help Show help

API

anisama uses a centralized API for fast search and video resolution. The API server source is available at github.com/6sfy/anisama-api.

Sources

Source Language Method
Anime-Sama VOSTFR/VF HTML scraping
Voiranime VOSTFR/VF HTML scraping
MyFluneo VOSTFR Playwright
AnimesUltra VOSTFR/VF Sitemap/HTML
French-Anime VOSTFR/VF HTML scraping
AnimoFlix VOSTFR HTML + Playwright

Contributing

  • Before creating an issue, please ensure that it hasn't already been reported/suggested.
  • See the contribution guide if you'd like to submit a PR.

Credits

  • pystardust/ani-cli for the original idea and workflow
  • Content sources: Anime-Sama, Voiranime, MyFluneo, AnimesUltra, French-Anime, AnimoFlix

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

anisama-1.1.2.tar.gz (156.6 kB view details)

Uploaded Source

Built Distribution

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

anisama-1.1.2-py3-none-any.whl (165.7 kB view details)

Uploaded Python 3

File details

Details for the file anisama-1.1.2.tar.gz.

File metadata

  • Download URL: anisama-1.1.2.tar.gz
  • Upload date:
  • Size: 156.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for anisama-1.1.2.tar.gz
Algorithm Hash digest
SHA256 7ee3aa5124c45ad57f07b3accfc524efff16cabaeed2fad60b1e32ff47ad2161
MD5 1dd2b56f403618061a9af1452b86a692
BLAKE2b-256 cfdb21e166b96767d32ef96e99dc3c42b848e8badc56c12b64365a5a2b663f56

See more details on using hashes here.

Provenance

The following attestation bundles were made for anisama-1.1.2.tar.gz:

Publisher: publish.yml on 6sfy/anisama

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anisama-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: anisama-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 165.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for anisama-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 038d0f305c8763e53691ce187ea3eae40692f650dbc0d8ad6420181bd930b2c3
MD5 24d23ea1b85be7d133710e1d9e5d00bf
BLAKE2b-256 1f9d92d784a57822a29b753d39f938fd78e939fcd49bbd1708cc643f5a9a4c32

See more details on using hashes here.

Provenance

The following attestation bundles were made for anisama-1.1.2-py3-none-any.whl:

Publisher: publish.yml on 6sfy/anisama

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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