Metadata-Version: 2.4
Name: magiastream
Version: 1.0.0
Summary: Un CLI industriel, résilient et interactif pour scraper et télécharger des flux HLS (animes/vidéos).
Project-URL: Homepage, https://github.com/Dilane17/MagiaStream
Project-URL: Repository, https://github.com/Dilane17/MagiaStream.git
Project-URL: Bug Tracker, https://github.com/Dilane17/MagiaStream/issues
Author-email: dylankode <ahouandjinougael733@gmail.com>
License-File: LICENSE
Keywords: anime,cli,downloader,hls,magiastream,playwright,scraper
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.10
Requires-Dist: playwright>=1.40.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: questionary>=2.0.1
Requires-Dist: requests>=2.31.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer[all]>=0.9.0
Provides-Extra: dev
Requires-Dist: mypy>=1.9.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.12.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.3.0; extra == 'dev'
Description-Content-Type: text/markdown

# MagiaStream

MagiaStream est un orchestrateur de téléchargement CLI avancé en Python 3.14+, spécialement conçu pour rechercher, scrapper et télécharger des séries d'animes de manière robuste et interactive.

## ✨ Fonctionnalités Principales

- **Mode Interactif (Wizard)** : Plus besoin de taper des commandes longues ! L'interface interactive vous guide pas-à-pas (Recherche, Choix de la saison, Résolution, etc.).
- **Recherche AJAX Dynamique** : Le scraper Playwright reproduit un comportement humain pour exploiter la barre de recherche (support de l'autocomplétion) et esquiver les limitations anti-bot.
- **Téléchargement HLS Ultra-Résilient** : Construit au-dessus de `aria2c` et `ffmpeg`, le moteur de téléchargement gère parfaitement les connexions instables :
  - **Reprise automatique** en cas de coupure (Code 5).
  - **Barre de progression en direct** (grâce à `rich`).
  - **Boucle auto-réparatrice** infinie qui s'acharne jusqu'à ce que tous les segments soient récupérés sans jamais recommencer à zéro.
- **Support Stealth & Proxies** : Intégration de serveurs Proxy, Playwright Stealth et manipulation d'User-Agents pour passer sous les radars des CDNs capricieux.

## 🚀 Installation

### 🌍 Compatibilité (Multiplateforme)
MagiaStream est 100% compatible avec **Windows, macOS et toutes les distributions Linux**.
Les seules exigences système à installer via votre gestionnaire de paquets (`apt`, `brew`, `winget`, etc.) sont :
- Python 3.10 ou supérieur
- `aria2c` (moteur de téléchargement ultra-rapide)
- `ffmpeg` (pour la fusion finale des vidéos)

### Méthode 1 : Installation Globale avec `pipx` (Recommandée)
`pipx` est l'outil standard pour installer des applications CLI Python de manière globale, sans polluer le système.

```bash
# 1. Installer pipx si vous ne l'avez pas déjà
python -m pip install --user pipx
python -m pipx ensurepath

# 2. Installer MagiaStream directement depuis le dépôt Git
pipx install git+https://github.com/Dilane17/MagiaStream.git

# 3. Finaliser l'installation (télécharge le navigateur fantôme nécessaire)
magia setup
```

*(Note : Remplacez `ton-profil/MagiaStream.git` par l'URL réelle de votre dépôt Github).*

### 🔄 Mise à jour Automatique
Mettre à jour MagiaStream vers la toute dernière version se fait en une seule commande, peu importe la méthode d'installation choisie :
```bash
magia update
```

### Méthode 2 : Installation pour le Développement (Local)
Si vous souhaitez modifier le code ou contribuer au projet :

```bash
# 1. Cloner et préparer l'environnement virtuel
git clone https://github.com/ton-profil/MagiaStream.git
cd MagiaStream
python -m venv venv
source venv/bin/activate

# 2. Installer le package et ses dépendances
pip install -e .

# 3. Installer le navigateur Playwright
playwright install chromium
```

## 🎮 Utilisation

La manière la plus simple et la plus recommandée d'utiliser MagiaStream est le **mode interactif**. Tapez simplement :

```bash
magia
```
*L'assistant s'ouvrira, vous demandera quelle série chercher, affichera les vrais résultats du menu déroulant (VF/VOSTFR) via les touches fléchées, et lancera le téléchargement.*

### Mode CLI Classique

Si vous préférez écrire une commande complète d'un trait (pour des scripts ou des batchs) :

```bash
# Télécharger toute la saison 1 en 720p
magia download --serie "wistoria-wand-and-sword-vf" --saison 1 --resolution 720p --all

# Télécharger uniquement l'épisode 3
magia download --serie "wistoria-wand-and-sword-vf" --saison 1 --episode 3 --resolution 1080p

# Télécharger de l'épisode 5 à 12
magia download --serie "wistoria-wand-and-sword-vf" --saison 1 --range "5-12"
```

## ⚙️ Configuration

MagiaStream utilise un fichier `.env` pour stocker sa configuration.
Copiez le fichier d'exemple :
```bash
cp .env.example .env
```
Paramètres importants :
- `PROXY_URL` : Un proxy pour contourner d'éventuels ban d'IP.
- `TIMEOUT_SECONDS` : Temps d'attente maximum pour les requêtes web.
- `HEADLESS` : Mettez `False` pour voir le navigateur fantôme travailler en arrière-plan.

## 🛠️ À propos du moteur de téléchargement

Le gestionnaire de téléchargement a été optimisé pour les **réseaux très instables**. 
Plutôt que d'abandonner lorsqu'un CDN étrangle la connexion ou qu'une micro-coupure survient, MagiaStream isole les segments échoués et relance automatiquement `aria2c` en boucle toutes les 5 secondes jusqu'au succès total.
