{ "info": { "author": "Hazy Research", "author_email": "senwu@cs.stanford.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": "pdftotree\n=========\n\n|License| |Stars| |PyPI| |Version| |Issues| |Travis| |Coveralls| |CodeStyle|\n\nFonduer_ has been successfully extended to perform information extraction from\nrichly formatted data such as tables. A crucial step in this process is the\nconstruction of the hierarchical tree of context objects such as text blocks,\nfigures, tables, etc. The system currently uses PDF to HTML conversion provided\nby Adobe Acrobat. However, Adobe Acrobat is not an open source tool, which may\nbe inconvenient for Fonduer users.\n\nThis package is the result of building our own module as replacement to Adobe\nAcrobat. Several open source tools are available for pdf to html conversion but\nthese tools do not preserve the cell structure in a table. Our goal in this\nproject is to develop a tool that extracts text, figures and tables in a pdf\ndocument and maintains the structure of the document using a tree data\nstructure.\n\nDependencies\n------------\n\nYou'll need to install the Python3 Toolkit::\n\n $ sudo apt install python3-tk\n\nInstallation\n------------\n\nTo install this package from PyPi::\n\n $ pip install pdftotree\n\nUsage\n-----\n\npdftotree as a Python package\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n import pdftotree\n\n pdftotree.parse(pdf_file, html_path=None, model_type=None, model_path=None, favor_figures=True, visualize=False):\n\npdftotree\n~~~~~~~~~\n\nThis is the primary command-line utility provided with this Python package.\nThis takes a PDF file as input, and produces an HTML-like representation of the\ndata::\n\n usage: pdftotree [options] pdf_file\n\n Script to extract tree structure from PDF files. Takes a PDF as input and\n outputs an HTML-like representation of the document's structure. By default,\n this conversion is done using heuristics. However, a model can be provided as\n a parameter to use a machine-learning-based approach.\n\n positional arguments:\n pdf_file PDF file name for which tree structure needs to be\n extracted\n\n optional arguments:\n -h, --help show this help message and exit\n -mt {vision,ml,None}, --model_type {vision,ml,None}\n Model type to use. None (default) for heuristics\n approach.\n -m MODEL_PATH, --model_path MODEL_PATH\n Pretrained model, generated by extract_tables tool\n -o OUTPUT, --output OUTPUT\n Path where tree structure should be saved. If none,\n HTML is printed to stdout.\n -f FAVOR_FIGURES, --favor_figures FAVOR_FIGURES\n Whether figures must be favored over other parts such\n as tables and section headers\n -V, --visualize Whether to output visualization images for the tree\n -d, --dry-run Run pdftotree, but do not save any output or print to\n console.\n -v, --verbose Output INFO level logging.\n -vv, --veryverbose Output DEBUG level logging.\n\nextract\\_tables\n~~~~~~~~~~~~~~~\n\nThis tool trains a machine-learning model to extract tables. The output model\ncan be used as an input to ``pdftotree``::\n\n usage: extract_tables [-h] [--mode MODE] --model-path MODEL_PATH\n [--train-pdf TRAIN_PDF] --test-pdf TEST_PDF\n [--gt-train GT_TRAIN] --gt-test GT_TEST --datapath\n DATAPATH [--iou-thresh IOU_THRESH] [-v] [-vv]\n\n Script to extract tables bounding boxes from PDF files using machine learning.\n If `model.pkl` is saved in the model-path, the pickled model will be used for\n prediction. Otherwise the model will be retrained. If --mode is test (by\n default), the script will create a .bbox file containing the tables for the\n pdf documents listed in the file --test-pdf. If --mode is dev, the script will\n also extract ground truth labels for the test data and compute statistics.\n\n optional arguments:\n -h, --help show this help message and exit\n --mode MODE Usage mode dev or test, default is test\n --model-path MODEL_PATH\n Path to the model. If the file exists, it will be\n used. Otherwise, a new model will be trained.\n --train-pdf TRAIN_PDF\n List of pdf file names used for training. These files\n must be saved in the --datapath directory. Required if\n no pretrained model is provided.\n --test-pdf TEST_PDF List of pdf file names used for testing. These files\n must be saved in the --datapath directory.\n --gt-train GT_TRAIN Ground truth train tables. Required if no pretrained\n model is provided.\n --gt-test GT_TEST Ground truth test tables.\n --datapath DATAPATH Path to directory containing the input documents.\n --iou-thresh IOU_THRESH\n Intersection over union threshold to remove duplicate\n tables\n -v Output INFO level logging\n -vv Output DEBUG level logging\n\nPDF List Format\n The list of PDFs are simply a single filename on each line. For example::\n\n 1-s2.0-S000925411100369X-main.pdf\n 1-s2.0-S0009254115301030-main.pdf\n 1-s2.0-S0012821X12005717-main.pdf\n 1-s2.0-S0012821X15007487-main.pdf\n 1-s2.0-S0016699515000601-main.pdf\n\nGround Truth File Format\n The ground truth is formatted to mirror the PDF List. That is, the first line\n of the ground truth file provides the labels for the first document in\n corresponding PDF list. Labels take the form of semicolon-separated tuples\n containing the values ``(page_num, page_width, page_height, top, left,\n bottom, right)``. For example::\n\n (10, 696, 951, 634, 366, 832, 653);(14, 696, 951, 720, 62, 819, 654);(4, 696, 951, 152, 66, 813, 654);(7, 696, 951, 415, 57, 833, 647);(8, 696, 951, 163, 370, 563, 652)\n (11, 713, 951, 97, 47, 204, 676);(11, 713, 951, 261, 45, 357, 673);(3, 713, 951, 110, 44, 355, 676);(8, 713, 951, 763, 55, 903, 687)\n (5, 672, 951, 88, 57, 203, 578);(5, 672, 951, 593, 60, 696, 579)\n (5, 718, 951, 131, 382, 403, 677)\n (13, 713, 951, 119, 56, 175, 364);(13, 713, 951, 844, 57, 902, 363);(14, 713, 951, 109, 365, 164, 671);(8, 713, 951, 663, 46, 890, 672)\n\nOne method to label these tables is to use DocumentAnnotation_, which allows\nyou to select table regions in your web browser and produces the bounding box\nfile.\n\nExample Dataset: Paleontological Papers\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nA full set of documents and ground truth labels can be downloaded here:\nPaleoDocs_. You can train a machine-learning model to extract table regions by\ndownloading this dataset and extracting it into a directory named ``data`` and\nthen running the command below. Double check that the paths in the command\nmatch wherever you have downloaded the data::\n\n $ extract_tables --train-pdf data/paleo/ml/train.pdf.list.paleo.not.scanned --gt-train data/paleo/ml/gt.train --test-pdf data/paleo/ml/test.pdf.list.paleo.not.scanned --gt-test data/paleo/ml/gt.test --datapath data/paleo/documents/ --model-path data/model.pkl\n\nThe resulting model of this example command would be saved as\n``data/model.pkl``.\n\nFor Developers\n--------------\n\nWe are following `Semantic Versioning 2.0.0 `__\nconventions. The maintainers will create a git tag for each release and\nincrement the version number found in the `version file`_ accordingly. We\ndeploy tags to PyPI automatically using Travis-CI.\n\n\nTests\n~~~~~\n\nTo test changes in the package, you install it in `editable mode`_ locally in\nyour virtualenv by running::\n\n $ make dev\n\nThis will also install all the tools we use to enforce code-style.\n\nThen you can run our tests::\n\n $ make test\n\n.. |License| image:: https://img.shields.io/github/license/HazyResearch/pdftotree.svg\n :target: https://github.com/HazyResearch/pdftotree/blob/master/LICENSE\n.. |Stars| image:: https://img.shields.io/github/stars/HazyResearch/pdftotree.svg\n :target: https://github.com/HazyResearch/pdftotree/stargazers\n.. |PyPI| image:: https://img.shields.io/pypi/v/pdftotree.svg\n :target: https://pypi.python.org/pypi/pdftotree\n.. |Version| image:: https://img.shields.io/pypi/pyversions/pdftotree.svg\n :target: https://pypi.python.org/pypi/pdftotree\n.. |Issues| image:: https://img.shields.io/github/issues/HazyResearch/pdftotree.svg\n :target: https://github.com/HazyResearch/pdftotree/issues\n.. |Travis| image:: https://img.shields.io/travis/HazyResearch/pdftotree/master.svg\n :target: https://travis-ci.org/HazyResearch/pdftotree\n.. |Coveralls| image:: https://img.shields.io/coveralls/github/HazyResearch/pdftotree.svg\n :target: https://coveralls.io/github/HazyResearch/pdftotree\n.. |CodeStyle| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n.. _Fonduer: https://hazyresearch.github.io/snorkel/blog/fonduer.html\n.. _DocumentAnnotation: https://github.com/payalbajaj/DocumentAnnotation\n.. _PaleoDocs: http://i.stanford.edu/hazy/share/fonduer/pdftotree_paleo.tar.gz\n.. _version file: https://github.com/HazyResearch/pdftotree/blob/master/pdftotree/_version.py\n.. _editable mode: https://packaging.python.org/tutorials/distributing-packages/#working-in-development-mode\n.. _flake8: http://flake8.pycqa.org/en/latest/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/HazyResearch/pdftotree", "keywords": "pdf,parsing,html", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pdftotree", "package_url": "https://pypi.org/project/pdftotree/", "platform": "", "project_url": "https://pypi.org/project/pdftotree/", "project_urls": { "Homepage": "https://github.com/HazyResearch/pdftotree", "Source": "https://github.com/HazyResearch/pdftotree", "Tracker": "https://github.com/HazyResearch/pdftotree/issues" }, "release_url": "https://pypi.org/project/pdftotree/0.4.0/", "requires_dist": [ "IPython", "PyPDF2", "beautifulsoup4", "future", "h5py", "keras (==2.0.8)", "numpy", "pandas", "pdfminer.six", "pillow", "scipy", "selectivesearch", "six", "sklearn", "tabula-py", "tensorflow", "wand" ], "requires_python": ">3", "summary": "Parse PDFs into HTML-like trees.", "version": "0.4.0" }, "last_serial": 4102854, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "200557a7e47c52ea340b5205a5262392", "sha256": "d4e9c045c4cef59f90eb06b121bea532dad129a4951a975ed06465ef8847fb62" }, "downloads": -1, "filename": "pdftotree-0.2.1.tar.gz", "has_sig": false, "md5_digest": "200557a7e47c52ea340b5205a5262392", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52813, "upload_time": "2018-03-02T20:07:31", "url": "https://files.pythonhosted.org/packages/d4/1d/196722742dad7eaf3b6356b6cd38560f27576e18662ca53e4180ad1cd6fb/pdftotree-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "2aa67f43e217e976830db9be504f5c20", "sha256": "75c2da2381de780281ec67eecf87627f1dd93b2135d87e1a34f070b7aab0e78d" }, "downloads": -1, "filename": "pdftotree-0.2.10.tar.gz", "has_sig": false, "md5_digest": "2aa67f43e217e976830db9be504f5c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42039, "upload_time": "2018-03-12T20:31:34", "url": "https://files.pythonhosted.org/packages/13/5a/88e68f8a63411526943093e0cf896bee875cb91d63941c3616dda2618e37/pdftotree-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "c97b3cc5d7c48c98d7cdabe1c20299a6", "sha256": "d2555aaad800ada4b42ba2ca293f4969d89355a5b04d1d78ab8f6b1023c6ca21" }, "downloads": -1, "filename": "pdftotree-0.2.11-py3-none-any.whl", "has_sig": false, "md5_digest": "c97b3cc5d7c48c98d7cdabe1c20299a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 48107, "upload_time": "2018-03-13T05:42:36", "url": "https://files.pythonhosted.org/packages/7d/58/98b0c43b981588d0094b4531f91228e41b7d73ce745a72f358833f9a9544/pdftotree-0.2.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d14380f3f8a18973431060f9ad45a51", "sha256": "9e3ad51eacfdecb35d9f3a03ff76e2be26357a0c1ac686236abff4f7710c578f" }, "downloads": -1, "filename": "pdftotree-0.2.11.tar.gz", "has_sig": false, "md5_digest": "4d14380f3f8a18973431060f9ad45a51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42343, "upload_time": "2018-03-12T20:34:41", "url": "https://files.pythonhosted.org/packages/8b/7c/40d7753075bcd26bbf90f348d6212be8bdedf46a9ffaae8347879f010e85/pdftotree-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "17beda1743e8734a26b0c7f7c6e24c54", "sha256": "894a26942e4a5e2bc5e1326102131885792518ad4238e66c5ae763a620db8e1b" }, "downloads": -1, "filename": "pdftotree-0.2.12-py3-none-any.whl", "has_sig": false, "md5_digest": "17beda1743e8734a26b0c7f7c6e24c54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 48115, "upload_time": "2018-03-13T05:44:07", "url": "https://files.pythonhosted.org/packages/35/cc/29eb8473f508c28e4e6180783f553873ef46ec8bbf7431b1f7f66035f653/pdftotree-0.2.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97714baca2ae2a0fd42b1c01f2f4f06d", "sha256": "c0df3c45e25e6315710ea0c31d1bbc88b963954566f9d950a74a94888b799ce2" }, "downloads": -1, "filename": "pdftotree-0.2.12.tar.gz", "has_sig": false, "md5_digest": "97714baca2ae2a0fd42b1c01f2f4f06d", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 39895, "upload_time": "2018-03-13T05:44:09", "url": "https://files.pythonhosted.org/packages/e0/1f/c55123abbe6d2a70d1b72c1d30767c3c5080f2dd8905d09fb645e819c19b/pdftotree-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "de8fe0307075ccbe7972f523420410a8", "sha256": "31f3f317653427bd39e93fb8c03da9dc557bc5e2848c058d32e965f16f76619d" }, "downloads": -1, "filename": "pdftotree-0.2.13-py3-none-any.whl", "has_sig": false, "md5_digest": "de8fe0307075ccbe7972f523420410a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 48119, "upload_time": "2018-03-13T06:08:54", "url": "https://files.pythonhosted.org/packages/81/ab/e4d4d93a68d94150445083a4aeac652ef4d8ed9bc055dedccaf68b784921/pdftotree-0.2.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "050824773b08cbe7967869486c1794b8", "sha256": "03f7352f0297dfe832aedada5da68eeac0ec3227e852ec31bb8911249bf6a7cd" }, "downloads": -1, "filename": "pdftotree-0.2.13.tar.gz", "has_sig": false, "md5_digest": "050824773b08cbe7967869486c1794b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 39913, "upload_time": "2018-03-13T06:08:56", "url": "https://files.pythonhosted.org/packages/e8/4b/949bb20970194d2744f085d26eac6ddc748403e32f7ecbb519c83087ea5e/pdftotree-0.2.13.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "82b2b17ca99a27e01fd25fafa61efcc0", "sha256": "737530d3e54c428a7096030697d0725747d02da82caf1fa8c4638571cc40738e" }, "downloads": -1, "filename": "pdftotree-0.2.14-py3.6.egg", "has_sig": false, "md5_digest": "82b2b17ca99a27e01fd25fafa61efcc0", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">3", "size": 106469, "upload_time": "2018-03-14T22:39:51", "url": "https://files.pythonhosted.org/packages/d9/64/1553e5fb86e9de7a36659d69dc23d7ee024409ec0c5886fa4a566b075561/pdftotree-0.2.14-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "71e95437e230d09656c3f9d733ce3442", "sha256": "19e1344cf53ca50d4d4e0c626983b580f06e17d26ac7f3bffc4d025aad67e45b" }, "downloads": -1, "filename": "pdftotree-0.2.14-py3-none-any.whl", "has_sig": false, "md5_digest": "71e95437e230d09656c3f9d733ce3442", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 54612, "upload_time": "2018-03-14T22:39:49", "url": "https://files.pythonhosted.org/packages/e1/63/1b04acf7266e13936344c0f5dfba4527107d51cf32abb8a24781113e25ac/pdftotree-0.2.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b53d291fc27a2f89babd70f895f8f00a", "sha256": "4547469de85542065b383d874c2b074fbcb5a8ce5419423661bb3eca88bd7f7e" }, "downloads": -1, "filename": "pdftotree-0.2.14.tar.gz", "has_sig": false, "md5_digest": "b53d291fc27a2f89babd70f895f8f00a", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 42949, "upload_time": "2018-03-14T22:39:52", "url": "https://files.pythonhosted.org/packages/d7/f8/51838b3339330f6625c205a6e8c83e1cf28e8387026be40b3c3ac6ef2c13/pdftotree-0.2.14.tar.gz" } ], "0.2.15": [ { "comment_text": "", "digests": { "md5": "21654bde8eae2eb232a72e93bcd168f8", "sha256": "3c7b8b42ba29900e2859970dcee761c43a90edab185f610dc58e35d70434e540" }, "downloads": -1, "filename": "pdftotree-0.2.15-py3.6.egg", "has_sig": false, "md5_digest": "21654bde8eae2eb232a72e93bcd168f8", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">3", "size": 106464, "upload_time": "2018-03-14T23:06:32", "url": "https://files.pythonhosted.org/packages/51/82/084b25d4fdf1976a16f8d60171feecbef7df0c44ba0e2d469e1ae3c7ff38/pdftotree-0.2.15-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "d8d4644c54906aa1e0c7f95415945a62", "sha256": "e3deea23f2658b578de64e5d819adc89d3e0be2440c6d9781c89e98634c326d8" }, "downloads": -1, "filename": "pdftotree-0.2.15-py3-none-any.whl", "has_sig": false, "md5_digest": "d8d4644c54906aa1e0c7f95415945a62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 54666, "upload_time": "2018-03-14T23:06:30", "url": "https://files.pythonhosted.org/packages/57/66/1345bd39fe3458e106ea238ac8fbeb7ecba92d5dc5ac14ac600b9fda43f6/pdftotree-0.2.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80d6465f81df12fb7dfc77378ec3a7b8", "sha256": "11fb217951dafd32a3fd74fb8a578c2a5b6fbf495de40ddd63ace05d1c7c018e" }, "downloads": -1, "filename": "pdftotree-0.2.15.tar.gz", "has_sig": false, "md5_digest": "80d6465f81df12fb7dfc77378ec3a7b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 43010, "upload_time": "2018-03-14T23:06:34", "url": "https://files.pythonhosted.org/packages/54/32/21e64950f2c7019abefb5b013f0c9a070c5cae73b4a04ffb20f8d51ff079/pdftotree-0.2.15.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "2e201c8155a2eb9441ccb63a49c9d6b2", "sha256": "c28ee90265190a6eddb9a82ad3f3f77ebbe8c3649dee0f0842ed1417bf441fe2" }, "downloads": -1, "filename": "pdftotree-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2e201c8155a2eb9441ccb63a49c9d6b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53711, "upload_time": "2018-03-02T20:16:27", "url": "https://files.pythonhosted.org/packages/f2/d8/40597df8c7b99370bc6cd5aa7e89c6cd9f202fea0629cfaab7181c988377/pdftotree-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "982403d5c114bb51d9696a970f938169", "sha256": "4e46a5c5d0e37d2f43ba3cbef54d5b4be77af26f935d086ffe029d1ce228f961" }, "downloads": -1, "filename": "pdftotree-0.2.3.tar.gz", "has_sig": false, "md5_digest": "982403d5c114bb51d9696a970f938169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54565, "upload_time": "2018-03-02T20:23:07", "url": "https://files.pythonhosted.org/packages/7b/f8/c78f6ce2486ae367830d80b93a47f7cc70d0b529ab2079ec39bb1fdbc352/pdftotree-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "4f195aa4a05e6932459ecbe9153c44f7", "sha256": "bade074e70bd5b919405d1867ebc42b7f1c53b093a19b7e9eafa2e2ce86634ef" }, "downloads": -1, "filename": "pdftotree-0.2.4.tar.gz", "has_sig": false, "md5_digest": "4f195aa4a05e6932459ecbe9153c44f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40790, "upload_time": "2018-03-05T22:49:05", "url": "https://files.pythonhosted.org/packages/c1/5c/144123015c2bf996a0818c8ce553f5b37e500603bf8da2488398685ffb80/pdftotree-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "afcbc8c850987c9d8d8d0c17bb0bfc8c", "sha256": "4a222a14a8cd56f2adcaaf3f2a5fbfb9558643b2576946623daf59dfab67d68c" }, "downloads": -1, "filename": "pdftotree-0.2.5.tar.gz", "has_sig": false, "md5_digest": "afcbc8c850987c9d8d8d0c17bb0bfc8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40833, "upload_time": "2018-03-06T06:19:04", "url": "https://files.pythonhosted.org/packages/3e/88/3d0877ab963b8111da5b13bb161be5ca9adf53c25dc40582e8571f351cde/pdftotree-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "c7de5c5f952eba507850604df456c072", "sha256": "5772f36ac306b158c8ec04531de8e667d19d3c9084fb278efdab0c6af6013927" }, "downloads": -1, "filename": "pdftotree-0.2.6.tar.gz", "has_sig": false, "md5_digest": "c7de5c5f952eba507850604df456c072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40826, "upload_time": "2018-03-06T06:36:16", "url": "https://files.pythonhosted.org/packages/5e/ab/da8fcd18aa6f4afd0a0d5fd32f0258dd5cdb7b9a5992203261f0d05707f3/pdftotree-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "f13704222916a6040600333ba09ab6b4", "sha256": "8142901117331378ae829aff836c1d0182bb79eea6fbb5e77f4c4547d8665177" }, "downloads": -1, "filename": "pdftotree-0.2.7.tar.gz", "has_sig": false, "md5_digest": "f13704222916a6040600333ba09ab6b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40894, "upload_time": "2018-03-06T18:30:13", "url": "https://files.pythonhosted.org/packages/ad/df/c4c370b6f6283247d20eb4b365c6dea9b4ed7d913a5cf62f5e76d098ed96/pdftotree-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "8474b5effbd5ad83bff0cc5dded7d8f9", "sha256": "185f4bde049dc6e5d929c409869af7daf79a39a8ca6c1105776d407b45e74b8e" }, "downloads": -1, "filename": "pdftotree-0.2.8.tar.gz", "has_sig": false, "md5_digest": "8474b5effbd5ad83bff0cc5dded7d8f9", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 42902, "upload_time": "2018-03-07T06:39:20", "url": "https://files.pythonhosted.org/packages/ff/df/aaaf828258615acb210c5c1b586dc318a7549924d7f3ac2e6a290330da25/pdftotree-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "bf59886c8910aff11c6f6b22afcad191", "sha256": "2210e56e9af8860b249f941447b065094164d0cf1d3246d4f6f26f3c49958a5e" }, "downloads": -1, "filename": "pdftotree-0.2.9.tar.gz", "has_sig": false, "md5_digest": "bf59886c8910aff11c6f6b22afcad191", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41021, "upload_time": "2018-03-07T08:03:38", "url": "https://files.pythonhosted.org/packages/61/98/b724d52e18e87983a834087731119fc0c735a9d581a791a990e58516b5ad/pdftotree-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3b564a1cf158fa8e42d1350bbc52dc4b", "sha256": "750bf5e49033853437112332c501ded7b96b6f47ce798c87751bc8ca16544ca3" }, "downloads": -1, "filename": "pdftotree-0.3.0-py3.6.egg", "has_sig": false, "md5_digest": "3b564a1cf158fa8e42d1350bbc52dc4b", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">3", "size": 113323, "upload_time": "2018-03-16T18:09:09", "url": "https://files.pythonhosted.org/packages/e4/c0/c1a8ca47090c7162a1c8e97d308acf7119ce6c4dc6a06a06621e8917e723/pdftotree-0.3.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "70cf8bcb55bb0cc5e46ff2aaceebedd4", "sha256": "3edff69794ab2ec0215052070d2bb4791715489f7e43c2581483d5864347ffaa" }, "downloads": -1, "filename": "pdftotree-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "70cf8bcb55bb0cc5e46ff2aaceebedd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 57876, "upload_time": "2018-03-16T18:09:07", "url": "https://files.pythonhosted.org/packages/5f/66/a2698f6be59ab6e6a38cd502c68a0865cf8b57c44c30955e9ebb392a2d8d/pdftotree-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f556547b9749401d444d53f83e23778", "sha256": "a26fa6e2420b6715f5e8b76b54566bec792b5d31a521578e1666ccb6dd05c25d" }, "downloads": -1, "filename": "pdftotree-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5f556547b9749401d444d53f83e23778", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 45401, "upload_time": "2018-03-16T18:09:10", "url": "https://files.pythonhosted.org/packages/7b/b7/1671f4172862e0e54b3353b0534b92af7dfb8b638b06f4c0abc640d424a5/pdftotree-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "f163e18450cf7cceb922b7697f564034", "sha256": "70e5557b4405d03fd60d29d43eac9a4eac73da4e4d2738250388de7050db6368" }, "downloads": -1, "filename": "pdftotree-0.3.1-py3.6.egg", "has_sig": false, "md5_digest": "f163e18450cf7cceb922b7697f564034", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">3", "size": 113433, "upload_time": "2018-03-20T21:17:09", "url": "https://files.pythonhosted.org/packages/be/90/0e5f6ffc00cb2ec73bf6070b4d240a46e9fe1da7b796637542b14726deae/pdftotree-0.3.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "627ed231586d73eaf28716369f6f8abf", "sha256": "d33cdd28c0506d0626bd13f34f71afce04cbd09ce10d46352377223012e3e920" }, "downloads": -1, "filename": "pdftotree-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "627ed231586d73eaf28716369f6f8abf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 57926, "upload_time": "2018-03-20T21:17:07", "url": "https://files.pythonhosted.org/packages/44/f0/91237967bc4f1fd8b040a23a5990681557ad87b775c1bd2943e9a544c7ff/pdftotree-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27ffc63799df795ae0d5c2583b09359f", "sha256": "773286bf8f0b873594768dbacf9b30b6e38abaa34f5344ed71688d6f0418b1bb" }, "downloads": -1, "filename": "pdftotree-0.3.1.tar.gz", "has_sig": false, "md5_digest": "27ffc63799df795ae0d5c2583b09359f", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 45448, "upload_time": "2018-03-20T21:17:10", "url": "https://files.pythonhosted.org/packages/e8/67/804dc8f7183eb6174423682a5a02f019b9482a7f9ae75a286d932a5706f6/pdftotree-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "436e34efb18dd6942f7c7d7692fd81d3", "sha256": "d7f7749114d46b86c78a7ff7e7c1b5400190248721e5d13401dd2eacba2ffefa" }, "downloads": -1, "filename": "pdftotree-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "436e34efb18dd6942f7c7d7692fd81d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 53477, "upload_time": "2018-07-26T03:27:33", "url": "https://files.pythonhosted.org/packages/0d/d1/5eaa6056319672bdd4c26a25d8294b814a74d5d0e0a0d276389469e0c542/pdftotree-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97018f1f56b869e076e670f3d303d752", "sha256": "63009724a1a69478f82d7e0af45d109143f94fbde8710b96e5ef042b021c1fd2" }, "downloads": -1, "filename": "pdftotree-0.4.0.tar.gz", "has_sig": false, "md5_digest": "97018f1f56b869e076e670f3d303d752", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 45584, "upload_time": "2018-07-26T03:27:34", "url": "https://files.pythonhosted.org/packages/e0/55/65915ddead91b18ae78178bf954b7243e2b6e099d6c0bcc77f9e56a9c594/pdftotree-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "436e34efb18dd6942f7c7d7692fd81d3", "sha256": "d7f7749114d46b86c78a7ff7e7c1b5400190248721e5d13401dd2eacba2ffefa" }, "downloads": -1, "filename": "pdftotree-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "436e34efb18dd6942f7c7d7692fd81d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3", "size": 53477, "upload_time": "2018-07-26T03:27:33", "url": "https://files.pythonhosted.org/packages/0d/d1/5eaa6056319672bdd4c26a25d8294b814a74d5d0e0a0d276389469e0c542/pdftotree-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97018f1f56b869e076e670f3d303d752", "sha256": "63009724a1a69478f82d7e0af45d109143f94fbde8710b96e5ef042b021c1fd2" }, "downloads": -1, "filename": "pdftotree-0.4.0.tar.gz", "has_sig": false, "md5_digest": "97018f1f56b869e076e670f3d303d752", "packagetype": "sdist", "python_version": "source", "requires_python": ">3", "size": 45584, "upload_time": "2018-07-26T03:27:34", "url": "https://files.pythonhosted.org/packages/e0/55/65915ddead91b18ae78178bf954b7243e2b6e099d6c0bcc77f9e56a9c594/pdftotree-0.4.0.tar.gz" } ] }