Scanline Python Wrapper is a wrapper library for the scanline CLI tool.
Scanline is a CLI tool to scan documents on macOS through Apple's Image Capture Core API.
You should install the scanline tool first. Jut follow instructions from its README:
Then install scanline-python-wrapper
from PyPI:
pip install scanline-python-wrapper
List scanners:
>>> import scanline_wrapper
>>> scanline_wrapper.list_scanners()
['HP Color LaserJet MFP M281fdw (035F4A)', 'My other scanner']
Scan a document:
>>> import scanline_wrapper
>>> scanline_wrapper.scan_flatbed("./out.tiff")
Scan a document (more options):
>>> import scanline_wrapper
>>> scanline_wrapper.scan_flatbed(
>>> "./out.jpg",
>>> scanner="HP Color LaserJet MFP M281fdw (035F4A)",
>>> page_size=scanline_wrapper.PageSize.LETTER, # A4, LEGAL or LETTER
>>> file_format=scanline_wrapper.FileFormat.JPEG, # AUTO, PDF, TIFF or JPEG
>>> color=scanline_wrapper.Color.COLOR, # COLOR or MONOCHROME
>>> resolution=150, # DPI
>>> )
Complete documentation:
To run development commands, you must install Nox first:
pip install nox
To lint the code, run the following command:
nox -s lint
To fix codding style, run:
nox -s black_fix
To run the tests, use:
nox -s test
You can use following commands to run the tests only on a certain Python version (the corresponding Python interpreter must be installed on your machine):
nox -s test-3.9 nox -s test-3.10 nox -s test-3.11 nox -s test-3.12 nox -s test-3.13
To build the Sphinx documentation, run:
nox -s gendoc
- This wrapper is licensed under the BSD 3 Clause license
- The Scanline CLI tool is licensed under the MIT license
- [NEXT] (changes on
master
, but not released yet):- misc: Added Python 3.13 support (@flozz)
- misc!: Removed Python 3.8 support (@flozz)
- v1.0.0:
- First release
- feat: List available scanners
- feat: Scan a document using a flatbed scanner