Metadata-Version: 2.4
Name: filmsdk_ibrahim
Version: 0.0.3
Summary: Python SDK to access API MovieLens
Author: [Ibrahim Braham]
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
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

# MovieLens SDK - `filmsdk_ibrahim`

A simple Python SDK to interact with the MovieLens REST API. It is designed for Data Analysts and Data Scientists, with native support for Pydantic, dictionaries, and Pandas DataFrames.

---

## Installation

```bash
pip install filmsdk_ibrahim
```

---

## Configuration to test on local machine

```python
from filmsdk-ibrahim import MovieClient, MovieConfig

# Configuration with your API URL (local via docker)
config = MovieConfig(movie_base_url="http://localhost:5050")
client = MovieClient(config=config)
```

---

## Test SDK

### 1. Health check

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

### 2. Get a film

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

### 3. List of films in DataFrame format

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

---

## Available output modes

All listing methods (list_movies, list_ratings, etc.) can return:

Pydantic objects (default)

Dictionaries

Pandas DataFrames

Example :

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

---

## Liens utiles

- PyPI : [https://pypi.org/project/filmsdk-ibrahim/0.0.2/](https://pypi.org/project/filmsdk-ibrahim/0.0.2/)
