Metadata-Version: 2.4
Name: ovid-client
Version: 0.2.0
Summary: OVID disc fingerprinting client — generates stable identifiers for DVD and Blu-ray discs
Author: OVID Contributors
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/The-Artificer-of-Ciphers-LLC/OVID
Project-URL: Repository, https://github.com/The-Artificer-of-Ciphers-LLC/OVID
Project-URL: Bug Tracker, https://github.com/The-Artificer-of-Ciphers-LLC/OVID/issues
Keywords: disc,fingerprint,bluray,dvd,identification
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: pycdlib>=1.14
Requires-Dist: click>=8.0
Requires-Dist: requests>=2.28
Requires-Dist: rich>=13.0
Requires-Dist: tmdbv3api>=1.9
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"

# ovid-client

**OVID disc fingerprinting client** — generates stable, deterministic identifiers for DVD, Blu-ray, and 4K UHD discs.

Part of the [OVID (Open Video Disc Identification Database)](https://github.com/The-Artificer-of-Ciphers-LLC/OVID) project.

## Installation

```bash
pip install ovid-client
```

Requires Python 3.9+.

## CLI Quickstart

### Fingerprint a disc

```bash
# DVD (VIDEO_TS folder or ISO)
ovid fingerprint /path/to/VIDEO_TS

# Blu-ray / UHD (BDMV folder)
ovid fingerprint /path/to/BDMV

# JSON output
ovid fingerprint /path/to/VIDEO_TS --json
```

### Look up a disc in the OVID database

```bash
ovid lookup <fingerprint> --api-url https://api.oviddb.org
```

### Submit a disc

```bash
ovid submit /path/to/VIDEO_TS --api-url https://api.oviddb.org --token YOUR_JWT
```

The `submit` command runs an interactive wizard: fingerprint → TMDB search → pick release → edition/disc number → submit.

## Python API

```python
from ovid.disc import Disc

disc = Disc.from_path("/path/to/VIDEO_TS")
print(disc.fingerprint)   # e.g. "ovid-dvd1-a1b2c3d4..."
print(disc.disc_type)     # "dvd" or "bluray"
print(len(disc.titles))   # number of titles on the disc
```

```python
from ovid.client import OVIDClient

client = OVIDClient(base_url="https://api.oviddb.org")
result = client.lookup("ovid-dvd1-a1b2c3d4...")
```

## Supported Formats

| Format | Algorithm | Status |
|--------|-----------|--------|
| DVD    | OVID-DVD-1 (IFO structural hash) | ✅ Stable |
| Blu-ray | OVID-BD-1 (MPLS structural hash) | ✅ Stable |
| 4K UHD | OVID-BD-1 (same as Blu-ray) | ✅ Stable |

## License

AGPL-3.0-or-later. See [LICENSE](https://github.com/The-Artificer-of-Ciphers-LLC/OVID/blob/main/LICENSE) for details.

Disc metadata contributed to the OVID database is released under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/).
