{ "info": { "author": "Johannes Baiter", "author_email": "johannes.baiter@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: X11 Applications :: Qt", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Topic :: Multimedia :: Graphics :: Capture" ], "description": ".. image:: https://raw.github.com/jbaiter/spreads/master/doc/_static/logo.png\n\n.. image:: https://secure.travis-ci.org/jbaiter/spreads.png\n :target: http://travis-ci.org/jbaiter/spreads\n :alt: Build status\n\n.. image:: https://coveralls.io/repos/jbaiter/spreads/badge.png?branch=master\n :target: https://coveralls.io/r/jbaiter/spreads?branch=master\n :alt: Coverage status\n\n.. image:: https://pypip.in/v/spreads/badge.png\n :target: https://crate.io/packages/spreads/\n :alt: Latest PyPI version\n\n*spreads* is a tool that aims to streamline your book scanning workflow.\nIt takes care of every step: Setting up your capturing devices, handling\nthe capturing process, downloading the images to your machine,\npost-processing them and finally assembling a variety of output formats.\n\nAlong the way you can always fine-tune the auto-generated results either\nby supplying arguments or changing the configuration beforehand, or by\ninspecting the output and applying your modifications.\n\n*spreads* is meant to be fully customizable. This means, `adding support for\nnew devices` is made as painless as possible. You can also hook into any of the\n*spread* commands by implementing one of the available `plugin hooks` or even\n`implement your own custom sub-commands`.\n\n\nQuickstart\n----------\nFirst, make sure you have installed all of the requirements (see below).\nOnce this is done, *spreads* can be easily installed from PyPi::\n\n $ pip install spreads\n\nTo select your desired plugins and configure your devices::\n\n $ spread configure\n\n*spreads* offers an interactive wizard that takes you from a physical book\nto a digitized version in one single workflow with minimal user input::\n\n $ spread wizard ~/my_scanning_project\n\n\nFeatures\n--------\n* Shoot with both cameras **simultaneously**, directly storing the images\n in a single directory on your computer in the right order.\n* Automatically rotate the images and optionally adjust the white balance\n (if a gray card has been used during shooting).\n* Create a ScanTailor project file that the user can customize as desired.\n* Generate PDF and DJVU files with hidden text layers\n* Interactive Wizard-Mode that handles the full workflow from image\n capturing to post-processing, either from the command-line or via graphical\n interface.\n\nRequirements\n------------\n* Python 2.7 with pip_ installed\n* libusb with headers installed\n* exiftool_\n* An up-to date version of ScanTailor-enhanced_\n\n*Optional:*\n* For the GUI: PySide_\n* For CHDK cameras: An up-to-date version of chdkptp_\n* For the ScanTailor plugin: ScanTailor-enhanced_\n* For PDF output: pdfbeads_\n* For DJVU output: djvubind_\n* For OCR: tesseract_\n\nDocumentation\n-------------\nMore documentation is available on readthedocs_\n\n.. _adding support for new devices: http://spreads.readthedocs.org/en/latest/extending.html#adding-support-for-new-devices\n.. _plugin hooks: http://spreads.readthedocs.org/en/latest/api.html#spreads-plugin\n.. _implement your own custom sub-commands: http://spreads.readthedocs.org/en/latest/extending.html#adding-new-commands\n.. _ppmunwarp: http://diybookscanner.org/forum/viewtopic.php?f=19&t=2589&p=14281#p14281\n.. _readthedocs: http://spreads.readthedocs.org\n.. _pip: http://www.pip-installer.org\n.. _ScanTailor-enhanced: http://sourceforge.net/p/scantailor/code/ci/enhanced/tree/\n.. _pdfbeads: http://rubygems.org/gems/pdfbeads\n.. _djvubind: http://code.google.com/p/djvubind/\n.. _exiftool: http://www.sno.phy.queensu.ca/~phil/exiftool/\n.. _chdkptp: https://www.assembla.com/spaces/chdkptp/wiki\n.. _tesseract: http://code.google.com/p/tesseract-ocr/\n.. _PySide: http://qt-project.org/wiki/PySide", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jbaiter/spreads", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "spreads", "package_url": "https://pypi.org/project/spreads/", "platform": "Posix", "project_url": "https://pypi.org/project/spreads/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/jbaiter/spreads" }, "release_url": "https://pypi.org/project/spreads/0.4.1/", "requires_dist": null, "requires_python": null, "summary": "Book digitization workflow assistant", "version": "0.4.1" }, "last_serial": 961255, "releases": { "0.1": [], "0.2": [ { "comment_text": "", "digests": { "md5": "54cc12a3f610c4640c6477dfbc3fb295", "sha256": "b07aa49f912b89d50185fc888cddc3f7e6cf2a9751c6120d38282cb964eebfb6" }, "downloads": -1, "filename": "spreads-0.2.tar.gz", "has_sig": false, "md5_digest": "54cc12a3f610c4640c6477dfbc3fb295", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2699080, "upload_time": "2013-06-30T17:09:48", "url": "https://files.pythonhosted.org/packages/e1/be/6a551be9ec409334241baa252ca38e84856e7c52e229bbd923809037a566/spreads-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "38ebdf9d033914f6936f03f6d57d4816", "sha256": "b0d5115d41b9a7a7d753291b12634f455c35cbabd9fb2421ebad77ac018c15f2" }, "downloads": -1, "filename": "spreads-0.3.tar.gz", "has_sig": false, "md5_digest": "38ebdf9d033914f6936f03f6d57d4816", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2854455, "upload_time": "2013-08-23T14:50:41", "url": "https://files.pythonhosted.org/packages/f8/71/a6831e7de958450a30fed67c08d4864b1fdaed96a7f7055e9d43dd26c731/spreads-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "695c0c8cd08377e8a42708dfe2dc5e37", "sha256": "0d7c99e9f617272c443a1ef779f5c0ee1f27009a4c61d3cf691a4f72472de61a" }, "downloads": -1, "filename": "spreads-0.3.1.tar.gz", "has_sig": false, "md5_digest": "695c0c8cd08377e8a42708dfe2dc5e37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3779700, "upload_time": "2013-08-23T21:21:04", "url": "https://files.pythonhosted.org/packages/8a/ba/588a64c706dc209c69ce562ba34aeadf847852fca4dd5f75bdabf5267856/spreads-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "359392d5b66a1b35346c4b245be86a2e", "sha256": "c66faeb289ffbdd4e51f7023f776fc1ebfbef5d661f002da5e7a7ff41a921cfb" }, "downloads": -1, "filename": "spreads-0.3.2.tar.gz", "has_sig": false, "md5_digest": "359392d5b66a1b35346c4b245be86a2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3779865, "upload_time": "2013-08-24T08:44:36", "url": "https://files.pythonhosted.org/packages/d8/61/7ba8b5b03a607ef0680aea184da0963173d0b487a2f743e378b30e3b547a/spreads-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "70c7e26777ac094345a2e0de2b0cef00", "sha256": "10ae3e2d8967720de014b42d8f15ffb66ceff46d5848f6e885c8fe4af29c5dc9" }, "downloads": -1, "filename": "spreads-0.3.3.tar.gz", "has_sig": false, "md5_digest": "70c7e26777ac094345a2e0de2b0cef00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2859408, "upload_time": "2013-08-28T07:52:09", "url": "https://files.pythonhosted.org/packages/bd/7c/4934f141cad52395d1453d70eaa45fdc83bdd7669c104d1d5eed182c8fe3/spreads-0.3.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "121e19c088aed8951de6f89d2e5f5fa5", "sha256": "fa4711274fddea6a6f94cf59f1d260a41f5a0ff9aeebfe2008a11e6662dde4aa" }, "downloads": -1, "filename": "spreads-0.4.tar.gz", "has_sig": false, "md5_digest": "121e19c088aed8951de6f89d2e5f5fa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24665, "upload_time": "2013-12-25T00:32:16", "url": "https://files.pythonhosted.org/packages/e7/43/e358d97f75ef38f612d2a906b7fbbdba61c99fd0f57d43f41ae933ccb3f6/spreads-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "88f94fb61839ca52ae8ce88170efc151", "sha256": "81a40f80e845cff6e5cfd93828ad649541cce11e0bfcaaf86815bc78ab59ec6d" }, "downloads": -1, "filename": "spreads-0.4.1.tar.gz", "has_sig": false, "md5_digest": "88f94fb61839ca52ae8ce88170efc151", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43484, "upload_time": "2013-12-25T22:39:06", "url": "https://files.pythonhosted.org/packages/0d/89/d746bb4ce30d585cb88c8c84d0bc15081ec6e015e9b93b47b9fe3f080463/spreads-0.4.1.tar.gz" } ], "v0.4.2": [ { "comment_text": "", "digests": { "md5": "14eaf4941636d45af0ace839ba55ae0a", "sha256": "3b0e773828ccb26f23bd432ee352abbbecd299aa9b6167c0b38975bd2d67ca05" }, "downloads": -1, "filename": "spreads-v0.4.2.tar.gz", "has_sig": false, "md5_digest": "14eaf4941636d45af0ace839ba55ae0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1212305, "upload_time": "2014-01-05T20:57:50", "url": "https://files.pythonhosted.org/packages/a9/1c/7525dc033b4203dbd820bd669cc1e79bf8319778ab89bd7edfbc80708022/spreads-v0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "88f94fb61839ca52ae8ce88170efc151", "sha256": "81a40f80e845cff6e5cfd93828ad649541cce11e0bfcaaf86815bc78ab59ec6d" }, "downloads": -1, "filename": "spreads-0.4.1.tar.gz", "has_sig": false, "md5_digest": "88f94fb61839ca52ae8ce88170efc151", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43484, "upload_time": "2013-12-25T22:39:06", "url": "https://files.pythonhosted.org/packages/0d/89/d746bb4ce30d585cb88c8c84d0bc15081ec6e015e9b93b47b9fe3f080463/spreads-0.4.1.tar.gz" } ] }