Metadata-Version: 2.4
Name: moviebox_api_v3
Version: 3.0.1
Summary: Python async client library for MovieBox API v3
Author: BotMada
License: This is free and unencumbered software released into the public domain.
        
        Anyone is free to copy, modify, publish, use, compile, sell, or
        distribute this software, either in source code form or as a compiled
        binary, for any purpose, commercial or non-commercial, and by any
        means.
        
        In jurisdictions that recognize copyright laws, the author or authors
        of this software dedicate any and all copyright interest in the
        software to the public domain. We make this dedication for the benefit
        of the public at large and to the detriment of our heirs and
        successors. We intend this dedication to be an overt act of
        relinquishment in perpetuity of all present and future rights to this
        software under copyright law.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
        IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
        OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
        ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
        OTHER DEALINGS IN THE SOFTWARE.
        
        For more information, please refer to <https://unlicense.org>
        
Project-URL: Homepage, https://github.com/lantoandryerics/moviebox_api_v3
Project-URL: Repository, https://github.com/lantoandryerics/moviebox_api_v3
Project-URL: Issues, https://github.com/lantoandryerics/moviebox_api_v3/issues
Keywords: moviebox,api,streaming,async,httpx
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: httpx[http2,socks]>=0.28.1
Requires-Dist: pydantic>=2.0.0
Requires-Dist: throttlebuster>=0.1.12
Provides-Extra: cli
Requires-Dist: click>=8.2.1; extra == "cli"
Requires-Dist: rich>=14.0.0; extra == "cli"
Provides-Extra: dev
Requires-Dist: build>=1.2.0; extra == "dev"
Requires-Dist: twine>=5.0.0; extra == "dev"
Dynamic: license-file

# moviebox_api_v3

`moviebox_api_v3` est une bibliothèque Python asynchrone pour interagir avec l'API MovieBox v3.

> Projet non officiel. Ce package n'est pas affilié à MovieBox. Utilisez-le uniquement dans le respect des lois applicables et des conditions d'utilisation des services concernés.

## Installation

```bash
pip install moviebox_api_v3
```

Avec les outils CLI :

```bash
pip install "moviebox_api_v3[cli]"
```

## Exemple rapide

```python
import asyncio

from moviebox_api_v3.v3.constants import SubjectType
from moviebox_api_v3.v3.core import Search
from moviebox_api_v3.v3.http_client import MovieBoxHttpClient


async def main():
    async with MovieBoxHttpClient(timeout=8) as client:
        api = Search(
            client_session=client,
            query="avatar",
            subject_type=SubjectType.ALL,
            page=1,
            per_page=10,
        )
        data = await api.get_content()
        print(data)


if __name__ == "__main__":
    asyncio.run(main())
```

## Configuration région/langue

La bibliothèque lit plusieurs variables d'environnement avant l'import des constantes :

```bash
export MOVIEBOX_ACCEPT_LANGUAGE="fr-MG,fr-FR;q=0.95,fr;q=0.9,en-US;q=0.6,en;q=0.5"
export MOVIEBOX_ACCEPT_COUNTRY="MG"
export MOVIEBOX_ACCEPT_TIMEZONE="Indian/Antananarivo"
export MOVIEBOX_REGION="MG"
export MOVIEBOX_SYSTEM_LANGUAGE="fr"
export MOVIEBOX_LOCALE_TAG="fr_MG"
export MOVIEBOX_PREFERRED_DUB="French"
```

## CLI

Après installation avec l'extra `cli` :

```bash
moviebox-api-v3 --help
moviebox-v3 --help
```

## Publication PyPI

Les étapes complètes sont dans [`PUBLISH_PYPI.md`](PUBLISH_PYPI.md).

Résumé :

```bash
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
python -m twine upload --repository testpypi dist/*
python -m twine upload dist/*
```

## Structure

```text
moviebox_api_v3/
├── v1/
├── v2/
└── v3/
```

La partie recommandée pour les nouveaux projets est `moviebox_api_v3.v3`.
