Metadata-Version: 2.4
Name: stremio-api
Version: 0.1.0
Summary: A Python wrapper for the Stremio API
Author: abovecolin
Project-URL: Homepage, https://github.com/abovecolin/stremio-py
Project-URL: Bug Tracker, https://github.com/abovecolin/stremio-py/issues
Keywords: stremio,api,wrapper,media
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"

# Stremio-API

A lightweight, asynchronous Python wrapper for the Stremio API.

## Features
- ✨ Async functionality using `httpx`
- 👤 User authentication and profile management
- 📚 Library and Addon collection access
- 📺 "Continue Watching" synchronization
- 🎬 Metadata fetching (via Cinemeta)

## Installation
```bash
pip install stremio-api
```

## Quick Start
You can log in directly using your Stremio credentials:

```python
import asyncio
from stremio_api import StremioAPIClient

async def main():
    # Initialize without an auth key (or with None)
    async with StremioAPIClient(auth_key=None) as client:
        # Login with email and password
        auth_key = await client.login("your.email@example.com", "your_password")
        print(f"Logged in! New Auth Key: {auth_key}")

        # Get user info
        user = await client.get_user()
        print(f"User profile: {user.email}")

        # Fetch Continue Watching items
        watching = await client.get_continue_watching(limit=5)
        for item in watching:
            print(f"Watching: {item.name}")

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

## Usage with Existing Auth Key
If you already have an `authKey` (e.g. from local storage), you can skip the login:

```python
client = StremioAPIClient(auth_key="YOUR_EXISTING_KEY")
user = await client.get_user()
```
