diff --git a/MANIFEST.in b/MANIFEST.in index aa5669fa..25353c4e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -33,7 +33,7 @@ recursive-exclude docs/_build * # support files -recursive-include ocrmypdf/data * +recursive-include src/ocrmypdf/data * include *.py exclude tasks.py recursive-exclude .travis * @@ -41,7 +41,7 @@ exclude .travis* # code -recursive-include ocrmypdf *.py +recursive-include src/ocrmypdf *.py exclude ocrmypdf/lib/_leptonica.py diff --git a/setup.py b/setup.py index 5540cbfd..1657a0f1 100644 --- a/setup.py +++ b/setup.py @@ -212,7 +212,8 @@ setup( url='https://github.com/jbarlow83/OCRmyPDF', author='James R. Barlow', author_email='jim@purplerock.ca', - packages=find_packages(exclude=["tests", "tests.*"]), + packages=find_packages('src', exclude=["tests", "tests.*"]), + package_dir={'': 'src'}, keywords=['PDF', 'OCR', 'optical character recognition', 'PDF/A', 'scanning'], classifiers=[ "Programming Language :: Python :: 3.5", @@ -239,7 +240,7 @@ setup( ], use_scm_version={'version_scheme': 'post-release'}, cffi_modules=[ - 'ocrmypdf/lib/compile_leptonica.py:ffibuilder' + 'src/ocrmypdf/lib/compile_leptonica.py:ffibuilder' ], install_requires=[ 'ruffus==2.6.3', # pinned - ocrmypdf implements a 2.6.3 workaround diff --git a/ocrmypdf/__init__.py b/src/ocrmypdf/__init__.py similarity index 100% rename from ocrmypdf/__init__.py rename to src/ocrmypdf/__init__.py diff --git a/ocrmypdf/__main__.py b/src/ocrmypdf/__main__.py similarity index 100% rename from ocrmypdf/__main__.py rename to src/ocrmypdf/__main__.py diff --git a/ocrmypdf/_unicodefun.py b/src/ocrmypdf/_unicodefun.py similarity index 100% rename from ocrmypdf/_unicodefun.py rename to src/ocrmypdf/_unicodefun.py diff --git a/ocrmypdf/data/sRGB.icc b/src/ocrmypdf/data/sRGB.icc similarity index 100% rename from ocrmypdf/data/sRGB.icc rename to src/ocrmypdf/data/sRGB.icc diff --git a/ocrmypdf/exceptions.py b/src/ocrmypdf/exceptions.py similarity index 100% rename from ocrmypdf/exceptions.py rename to src/ocrmypdf/exceptions.py diff --git a/ocrmypdf/exec/__init__.py b/src/ocrmypdf/exec/__init__.py similarity index 100% rename from ocrmypdf/exec/__init__.py rename to src/ocrmypdf/exec/__init__.py diff --git a/ocrmypdf/exec/ghostscript.py b/src/ocrmypdf/exec/ghostscript.py similarity index 100% rename from ocrmypdf/exec/ghostscript.py rename to src/ocrmypdf/exec/ghostscript.py diff --git a/ocrmypdf/exec/qpdf.py b/src/ocrmypdf/exec/qpdf.py similarity index 100% rename from ocrmypdf/exec/qpdf.py rename to src/ocrmypdf/exec/qpdf.py diff --git a/ocrmypdf/exec/tesseract.py b/src/ocrmypdf/exec/tesseract.py similarity index 100% rename from ocrmypdf/exec/tesseract.py rename to src/ocrmypdf/exec/tesseract.py diff --git a/ocrmypdf/exec/unpaper.py b/src/ocrmypdf/exec/unpaper.py similarity index 100% rename from ocrmypdf/exec/unpaper.py rename to src/ocrmypdf/exec/unpaper.py diff --git a/ocrmypdf/helpers.py b/src/ocrmypdf/helpers.py similarity index 100% rename from ocrmypdf/helpers.py rename to src/ocrmypdf/helpers.py diff --git a/ocrmypdf/hocrtransform.py b/src/ocrmypdf/hocrtransform.py similarity index 100% rename from ocrmypdf/hocrtransform.py rename to src/ocrmypdf/hocrtransform.py diff --git a/ocrmypdf/leptonica.py b/src/ocrmypdf/leptonica.py similarity index 100% rename from ocrmypdf/leptonica.py rename to src/ocrmypdf/leptonica.py diff --git a/ocrmypdf/lib/__init__.py b/src/ocrmypdf/lib/__init__.py similarity index 100% rename from ocrmypdf/lib/__init__.py rename to src/ocrmypdf/lib/__init__.py diff --git a/src/ocrmypdf/lib/_leptonica.py b/src/ocrmypdf/lib/_leptonica.py new file mode 100644 index 00000000..9bdb3aed --- /dev/null +++ b/src/ocrmypdf/lib/_leptonica.py @@ -0,0 +1,10 @@ +# auto-generated file +import _cffi_backend + +ffi = _cffi_backend.FFI('ocrmypdf.lib._leptonica', + _version = 0x2601, + _types = b'\x00\x00\x0F\x0D\x00\x00\xBB\x03\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\xBE\x03\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\xBA\x03\x00\x00\x0F\x03\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x0D\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x0D\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x0D\x01\x00\x00\x02\x03\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x0D\x01\x00\x00\x0D\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\x08\x11\x00\x00\x00\x0F\x00\x00\x01\x0D\x00\x00\xC7\x03\x00\x00\x1C\x01\x00\x00\x00\x0F\x00\x00\xBD\x0D\x00\x00\x00\x0F\x00\x00\x49\x0D\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x1F\x03\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x6E\x11\x00\x00\x6E\x11\x00\x00\x6E\x11\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x6E\x11\x00\x00\x6E\x11\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x49\x11\x00\x00\x49\x11\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x0D\x01\x00\x00\x07\x01\x00\x00\x49\x11\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x6E\x11\x00\x00\x6E\x11\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x0D\x01\x00\x00\x01\x03\x00\x00\x9D\x11\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x01\x11\x00\x00\xC6\x03\x00\x00\x65\x03\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\x08\x11\x00\x00\x01\x11\x00\x00\x07\x01\x00\x00\x07\x01\x00\x00\x00\x0F\x00\x00\x02\x0D\x00\x00\xC4\x03\x00\x00\xA3\x11\x00\x00\x01\x11\x00\x00\x0D\x01\x00\x00\x00\x0F\x00\x00\xCA\x0D\x00\x00\x10\x11\x00\x00\x00\x0F\x00\x00\xCA\x0D\x00\x00\x9D\x11\x00\x00\x00\x0F\x00\x00\xCA\x0D\x00\x00\xCA\x03\x00\x00\x00\x0F\x00\x00\x00\x09\x00\x00\x01\x09\x00\x00\x02\x09\x00\x00\xBE\x03\x00\x00\x02\x01\x00\x00\x0E\x01\x00\x00\x0B\x01\x00\x00\x05\x01\x00\x00\x03\x01\x00\x00\xBC\x03\x00\x00\xC5\x03\x00\x00\x04\x01\x00\x00\xC7\x03\x00\x00\x08\x01\x00\x00\x0C\x01\x00\x00\x06\x01\x00\x00\x00\x01', + _globals = (b'\x00\x00\xB1\x23boxDestroy',0,b'\x00\x00\x67\x23getLeptonicaVersion',0,b'\x00\x00\xB7\x23lept_free',0,b'\x00\x00\x69\x23makePixelSumTab8',0,b'\x00\x00\x16\x23pixAnd',0,b'\x00\x00\x23\x23pixBackgroundNorm',0,b'\x00\x00\x1B\x23pixCleanBackgroundToWhite',0,b'\x00\x00\x0D\x23pixClipRectangle',0,b'\x00\x00\x8D\x23pixColorFraction',0,b'\x00\x00\x59\x23pixColorMagnitude',0,b'\x00\x00\x0A\x23pixConvertRGBToLuminance',0,b'\x00\x00\x6B\x23pixCorrelationBinary',0,b'\x00\x00\x80\x23pixCountPixels',0,b'\x00\x00\x63\x23pixDeserializeFromMemory',0,b'\x00\x00\x50\x23pixDeskew',0,b'\x00\x00\xB4\x23pixDestroy',0,b'\x00\x00\x0A\x23pixEndianByteSwapNew',0,b'\x00\x00\x00\x23pixFindPageForeground',0,b'\x00\x00\x7B\x23pixFindSkew',0,b'\x00\x00\x2F\x23pixGammaTRC',0,b'\x00\x00\x70\x23pixGetAverageMaskedRGB',0,b'\x00\x00\x36\x23pixGlobalNormRGB',0,b'\x00\x00\x12\x23pixInvert',0,b'\x00\x00\x54\x23pixMaskOverColorPixels',0,b'\x00\x00\x85\x23pixNumSignificantGrayColors',0,b'\x00\x00\x96\x23pixOtsuAdaptiveThreshold',0,b'\x00\x00\x3E\x23pixOtsuThreshOnBackgroundNorm',0,b'\x00\x00\x60\x23pixRead',0,b'\x00\x00\x50\x23pixRemoveColormap',0,b'\x00\x00\x12\x23pixRotate180',0,b'\x00\x00\x50\x23pixRotateOrth',0,b'\x00\x00\x4B\x23pixScale',0,b'\x00\x00\xA0\x23pixSerializeToMemory',0,b'\x00\x00\xA5\x23pixWriteImpliedFormat',0,b'\x00\x00\xAB\x23pixWriteMemPng',0), + _struct_unions = ((b'\x00\x00\x00\xBA\x00\x00\x00\x02Box',b'\x00\x00\x02\x11x',b'\x00\x00\x02\x11y',b'\x00\x00\x02\x11w',b'\x00\x00\x02\x11h',b'\x00\x00\xC7\x11refcount'),(b'\x00\x00\x00\xBB\x00\x00\x00\x02Pix',b'\x00\x00\xC7\x11w',b'\x00\x00\xC7\x11h',b'\x00\x00\xC7\x11d',b'\x00\x00\xC7\x11spp',b'\x00\x00\xC7\x11wpl',b'\x00\x00\xC7\x11refcount',b'\x00\x00\x02\x11xres',b'\x00\x00\x02\x11yres',b'\x00\x00\x02\x11informat',b'\x00\x00\x02\x11special',b'\x00\x00\xBD\x11text',b'\x00\x00\xC3\x11colormap',b'\x00\x00\xC6\x11data'),(b'\x00\x00\x00\xBC\x00\x00\x00\x02PixColormap',b'\x00\x00\xB8\x11array',b'\x00\x00\x02\x11depth',b'\x00\x00\x02\x11nalloc',b'\x00\x00\x02\x11n')), + _typenames = (b'\x00\x00\x00\xBABOX',b'\x00\x00\x00\xBBPIX',b'\x00\x00\x00\xBCPIXCMAP',b'\x00\x00\x00\x1Fl_float32',b'\x00\x00\x00\xBFl_float64',b'\x00\x00\x00\xC1l_int16',b'\x00\x00\x00\x02l_int32',b'\x00\x00\x00\xC0l_int64',b'\x00\x00\x00\xC2l_int8',b'\x00\x00\x00\xC9l_uint16',b'\x00\x00\x00\xC7l_uint32',b'\x00\x00\x00\xC8l_uint64',b'\x00\x00\x00\xC5l_uint8'), +) diff --git a/ocrmypdf/lib/compile_leptonica.py b/src/ocrmypdf/lib/compile_leptonica.py similarity index 100% rename from ocrmypdf/lib/compile_leptonica.py rename to src/ocrmypdf/lib/compile_leptonica.py diff --git a/ocrmypdf/pageinfo.py b/src/ocrmypdf/pageinfo.py similarity index 100% rename from ocrmypdf/pageinfo.py rename to src/ocrmypdf/pageinfo.py diff --git a/ocrmypdf/pdfa.py b/src/ocrmypdf/pdfa.py similarity index 100% rename from ocrmypdf/pdfa.py rename to src/ocrmypdf/pdfa.py diff --git a/ocrmypdf/pdfinfo.py b/src/ocrmypdf/pdfinfo.py similarity index 100% rename from ocrmypdf/pdfinfo.py rename to src/ocrmypdf/pdfinfo.py diff --git a/ocrmypdf/pipeline.py b/src/ocrmypdf/pipeline.py similarity index 100% rename from ocrmypdf/pipeline.py rename to src/ocrmypdf/pipeline.py