Metadata-Version: 2.5
Name: pyopticfilm
Version: 1.0
Summary: PyUSB driver for Plustek OpticFilm USB film scanners (Genesys ASIC).
Project-URL: Homepage, https://github.com/jboneng/pyopticfilm
Project-URL: Repository, https://github.com/jboneng/pyopticfilm
Project-URL: Issues, https://github.com/jboneng/pyopticfilm/issues
Author: jboneng
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Scanners
Requires-Python: >=3.11
Requires-Dist: libusb-package>=1.0.26; sys_platform == 'win32'
Requires-Dist: numpy>=2.0
Requires-Dist: pyusb>=1.2.1
Description-Content-Type: text/markdown

# pyopticfilm

PyUSB driver for Plustek OpticFilm USB film scanners (Genesys GL842/843/845/128 ASIC).

This package is the low-level scanner driver extracted from [NegPy](https://github.com/marcinz606/NegPy). NegPy integrates it via the optional `plustek` dependency group (`pip install negpy[plustek]`).

## Install

```bash
pip install pyopticfilm
```

On Windows, `libusb-package` is installed automatically so PyUSB can load libusb-1.0.

## Quick start

```python
from pyopticfilm import Scanner

with Scanner.open() as scanner:
    image = scanner.scan(resolution=1800, mode="color")
    image.rgb  # uint16 H×W×3
```

## Development

```bash
uv sync --all-groups
uv run pytest
```

## License

GPL-3.0-or-later — see [LICENSE](LICENSE).
