Metadata-Version: 2.4
Name: cinelytics_sdk
Version: 0.1.0
Summary: SDK Python léger et intuitif pour interagir avec l'API CINEMA_INSIGHTS, conçu pour les Data Analysts et Data Scientists
Author-email: KADER KOUADIO <kkaderkouadio@gmail.com>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.11.3
Requires-Dist: backoff>=2.2.1
Requires-Dist: numpy>=2.2.4
Requires-Dist: pandas>=2.2.3
Requires-Dist: python-dotenv>=1.0.1

### 🎬 MovieLens SDK - cinelytics_sdk

cinelytics-sdk est un SDK Python léger et intuitif conçu pour faciliter l’interaction avec l’API REST **MovieLens**. Il offre une interface simple et efficace pour accéder aux données de films, notes et autres informations clés, sans avoir à gérer directement les requêtes HTTP.

Ce SDK est particulièrement adapté aux **Data Analysts**, **Data Scientists** et **développeurs Python** qui souhaitent intégrer facilement des **données cinématographiques** dans leurs analyses, projets de machine learning ou applications.

Grâce à une prise en charge native des objets Pydantic pour la validation et la gestion des modèles, ainsi que la possibilité d’obtenir les résultats sous forme de dictionnaires ou de **DataFrames Pandas**, **cinelytics-sdk** s’adapte parfaitement à différents **workflows**, qu’il s’agisse de prototypage rapide, de **traitement de données** ou de **visualisation avancée**.


[![PyPI version](https://badge.fury.io/py/cinelytics-sdk.svg)](https://badge.fury.io/py/cinelytics-sdk)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)


---

## 📦 Installation

```bash
pip install cinelytics_sdk
```

---

### ⚙️ Configuration de base

```python
from cinelytics_sdk import MovieClient, MovieConfig

# API distante (Render)
config = MovieConfig(movie_base_url="https://cinema-insights.onrender.com")
client = MovieClient(config=config)
```

---

### ✅ Fonctionnalités du SDK

### 1. Vérification de l’état de l’API

```python
client.health_check()
# Retourne : {"status": "ok"}
```

### 2. Récupérer un film par ID

```python
movie = client.get_movie(1)
print(movie.title)
```

### 3. Lister les films (format DataFrame)

```python
df = client.list_movies(limit=5, output_format="pandas")
print(df.head())
```

---

### 🔄 Formats de sortie disponibles

Toutes les méthodes de liste (list_movies, list_ratings, etc.) peuvent retourner :

- des objets **Pydantic** (défaut)
- des **dictionnaires**
- des **DataFrames Pandas**

Exemple :

```python
client.list_movies(limit=10, output_format="dict")
client.list_ratings(limit=10, output_format="pandas")
```

---

### 🧪 Tester en local avec Docker


### 🔗 Utiliser l’API locale

Si vous utilisez une API locale avec Docker ou FastAPI local :

```python
config = MovieConfig(movie_base_url="http://localhost:8000")
client = MovieClient(config=config)
```

---

### 👥 Public cible

- Data Analysts
- Data Scientists
- Étudiants et curieux en Data
- Développeurs Python

---

### 📄 Licence

Distribué sous licence MIT.

---

###  Liens utiles

🌍 API (Render) : https://cinema-insights.onrender.com

📦 PyPI : https://pypi.org/project/cinelytics-sdk
---
ℹ️ Note : l’API hébergée sur Render peut mettre quelques secondes à démarrer si elle est en veille.
