Metadata-Version: 2.4
Name: pakt
Version: 0.1.1
Summary: Fast, efficient Plex-Trakt sync using batch API operations
Project-URL: Repository, https://github.com/MikeSiLVO/pakt
Author: MikeSiLVO
License: MIT
Keywords: media,plex,scrobble,sync,trakt
Classifier: Development Status :: 4 - Beta
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.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.11
Requires-Dist: aiosqlite>=0.19.0
Requires-Dist: apscheduler>=3.10.0
Requires-Dist: click>=8.1.0
Requires-Dist: fastapi>=0.110.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: plexapi>=4.15.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: uvicorn>=0.27.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.3.0; extra == 'dev'
Provides-Extra: tray
Requires-Dist: pillow>=10.0.0; extra == 'tray'
Requires-Dist: pystray>=0.19.0; extra == 'tray'
Description-Content-Type: text/markdown

# <img src="src/pakt/assets/icon.png" width="32" alt=""> Pakt

Sync watched status, ratings, and collections between Plex and Trakt.

## Installation

```bash
pip install pakt
```

With system tray support (Windows):
```bash
pip install pakt[tray]
```

## Quick Start

```bash
pakt setup    # Interactive setup wizard
pakt sync     # Run sync
```

## Commands

```bash
pakt setup              # Configure Plex and Trakt
pakt sync               # Sync everything
pakt sync --dry-run     # Preview without changes
pakt sync --verbose     # Show detailed item list
pakt serve              # Start web interface
pakt serve --tray       # Web interface with system tray (Windows)
pakt status             # Show configuration
pakt libraries          # Manage library selection
pakt login              # Authenticate with Trakt
pakt logout             # Clear Trakt authentication
```

## Web Interface

Start the web UI:
```bash
pakt serve
```

Open http://localhost:8080 in your browser.

Features:
- Run syncs with progress display
- Configure sync options
- View Trakt account status
- Set up scheduled syncs
- Select which libraries to sync

## Background Mode (Windows)

Run without a console window:
```bash
pythonw -m pakt serve --tray
```

## What Gets Synced

| Data | Plex → Trakt | Trakt → Plex |
|------|:------------:|:------------:|
| Watched status | ✓ | ✓ |
| Ratings | ✓ | ✓ |
| Collection | ✓ | - |
| Watchlist | ✓ | ✓ |

Collection sync includes media info (resolution, HDR, audio codec).

## Configuration

Config location:
- Windows: `%APPDATA%\pakt`
- Linux/macOS: `~/.config/pakt`

## Trakt Account Limits

Free Trakt accounts have a 100-item limit on collections and watchlists. Pakt will warn you if you hit these limits. Upgrade to [Trakt VIP](https://trakt.tv/vip) for unlimited.

## License

MIT
