[metadata] name = ocrmypdf description = OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched long_description = file: README.md long_description_content_type = text/markdown; charset=UTF-8 url = https://github.com/jbarlow83/OCRmyPDF author = James R. Barlow author_email = james@purplerock.ca license_files = LICENSE keywords = PDF OCR optical character recognition PDF/A scanning classifiers = Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Development Status :: 5 - Production/Stable Environment :: Console Intended Audience :: End Users/Desktop Intended Audience :: Science/Research Intended Audience :: System Administrators License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0) Operating System :: MacOS :: MacOS X Operating System :: Microsoft :: Windows :: Windows 10 Operating System :: POSIX Operating System :: POSIX :: BSD Operating System :: POSIX :: Linux Topic :: Scientific/Engineering :: Image Recognition Topic :: Text Processing :: Indexing Topic :: Text Processing :: Linguistic project_urls = Documentation = https://ocrmypdf.readthedocs.io/ Source = https://github.com/jbarlow83/ocrmypdf Tracker = https://github.com/jbarlow83/ocrmypdf/issues [options] zip_safe = False packages = find: package_dir = =src platforms = any include_package_data=True install_requires = cffi >= 1.9.1 # must be a setup and install requirement coloredlogs >= 14.0 # strictly optional img2pdf >= 0.3.0, < 0.5 # pure Python, so track HEAD closely pdfminer.six >= 20191110, != 20200720, <= 20201018 pikepdf >= 2.10.0 Pillow >= 8.2.0 pluggy >= 0.13.0, < 1.0 reportlab >= 3.5.66 setuptools tqdm >= 4 python_requires = >= 3.6 setup_requires = # can be removed whenever we can drop pip 9 support cffi >= 1.9.1 # to build the leptonica module setuptools_scm # so that version will work setuptools_scm_git_archive # enable version from github tarballs [options.package_data] ocrmypdf = data/sRGB.icc py.typed [options.packages.find] where = src [options.extras_require] test = pytest >= 6.0.0 pytest-xdist >= 2.2.0 pytest-cov >= 2.11.1 python-xmp-toolkit == 2.0.1 # also requires apt-get install libexempi3 # or brew install exempi docs = sphinx sphinx-rtd-theme sphinx-issues extended_test = PyMuPDF == 1.13.4 watcher = watchdog >= 1.0.2, < 3 webservice = Flask >= 1, < 3 [options.entry_points] console_scripts = ocrmypdf = ocrmypdf.__main__:run [bdist_wheel] python-tag = py36 [aliases] test = pytest [check-manifest] ignore = .github [tool:pytest] norecursedirs = lib .pc .git output cache resources testpaths = tests filterwarnings = ignore:.*XMLParser.*:DeprecationWarning markers = slow addopts = -n auto [isort] multi_line_output = 3 include_trailing_comma = True force_grid_wrap = 0 use_parentheses = True line_length = 88 known_first_party = ocrmypdf known_third_party = PIL,_cffi_backend,cffi,flask,img2pdf,pdfminer,pikepdf,pkg_resources,pluggy,pytest,reportlab,setuptools,sphinx_rtd_theme,tqdm,watchdog,werkzeug [coverage:paths] source = src/ocrmypdf [coverage:run] branch = true parallel = true concurrency = multiprocessing [coverage:report] # Regexes for lines to exclude from consideration exclude_lines = # Have to re-enable the standard pragma pragma: no cover # Don't complain if tests don't hit defensive assertion code: raise AssertionError raise NotImplementedError # Don't complain if non-runnable code isn't run: if 0: if False: if __name__ == .__main__.: if TYPE_CHECKING: