{ "info": { "author": "Rick Harding", "author_email": "rharding@mitechie.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Pre-processors", "Topic :: Text Processing :: Filters", "Topic :: Text Processing :: Markup :: HTML" ], "description": "breadability - another readability Python (v2.6-v3.3) port\n===========================================================\n.. image:: https://api.travis-ci.org/bookieio/breadability.png?branch=master\n :target: https://travis-ci.org/bookieio/breadability.py\n\nI've tried to work with the various forks of some ancient codebase that ported\n`readability`_ to Python. The lack of tests, unused regex's, and commented out\nsections of code in other Python ports just drove me nuts.\n\nI put forth an effort to bring in several of the better forks into one\ncode base, but they've diverged so much that I just can't work with it.\n\nSo what's any sane person to do? Re-port it with my own repo, add some tests,\ninfrastructure, and try to make this port better. OSS FTW (and yea, NIH FML,\nbut oh well I did try)\n\nThis is a pretty straight port of the JS here:\n\n- http://code.google.com/p/arc90labs-readability/source/browse/trunk/js/readability.js#82\n- http://www.minvolai.com/blog/decruft-arc90s-readability-in-python/\n\n\nAlternatives\n------------\n\n- https://github.com/codelucas/newspaper\n- https://github.com/grangier/python-goose\n- https://github.com/aidanf/BTE\n- http://www.unixuser.org/~euske/python/webstemmer/#extract\n- https://github.com/al3xandru/readability.py\n- https://github.com/rcarmo/soup-strainer\n- https://github.com/bcampbell/decruft\n- https://github.com/gfxmonk/python-readability\n- https://github.com/srid/readability\n- https://github.com/dcramer/decruft\n- https://github.com/reorx/readability\n- https://github.com/mote/python-readability\n- https://github.com/predatell/python-readability-lxml\n- https://github.com/Harshavardhana/boilerpipy\n- https://github.com/raptium/hitomi\n- https://github.com/kingwkb/readability\n\n\nInstallation\n------------\nThis does depend on lxml so you'll need some C headers in order to install\nthings from pip so that it can compile.\n\n.. code-block:: bash\n\n $ [sudo] apt-get install libxml2-dev libxslt-dev\n $ [sudo] pip install git+git://github.com/bookieio/breadability.git\n\nTests\n-----\n.. code-block:: bash\n\n $ nosetests-2.6 tests && nosetests-3.2 tests && nosetests-2.7 tests && nosetests-3.3 tests\n\n\nUsage\n-----\nCommand line\n~~~~~~~~~~~~\n\n.. code-block:: bash\n\n $ breadability http://wiki.python.org/moin/BeginnersGuide\n\nOptions\n```````\n\n- **b** will write out the parsed content to a temp file and open it in a\n browser for viewing.\n- **d** will write out debug scoring statements to help track why a node was\n chosen as the document and why some nodes were removed from the final\n product.\n- **f** will override the default behaviour of getting an html fragment (
if it contains
elements.\n- Fork: Renamed test generation helper 'readability_newtest' -> 'readability_test'.\n- Fork: Renamed package to readability. (Renamed back)\n- Fork: Added support for Python >= 3.2.\n- Fork: Py3k compatible package 'charade' is used instead of 'chardet'.\n\n0.1.14 (Nov 7th 2013)\n---------------------\n- Update sibling append to only happen when sibling doesn't already exist.\n\n0.1.13 (Aug 31st 2013)\n----------------------\n- Give images in content boy a better chance of survival\n- Add tests\n\n0.1.12 (July 28th 2013)\n-----------------------\n- Add a user agent to requests.\n\n0.1.11 (Dec 12th 2012)\n----------------------\n- Add argparse to the install requires for python < 2.7\n\n0.1.10 (Sept 13th 2012)\n-----------------------\n- Updated scoring bonus and penalty with , and \" characters.\n\n0.1.9 (Aug 27nd 2012)\n---------------------\n- In case of an issue dealing with candidates we need to act like we didn't\n find any candidates for the article content. #10\n\n0.1.8 (Aug 27nd 2012)\n---------------------\n- Add code/tests for an empty document.\n- Fixes #9 to handle xml parsing issues.\n\n0.1.7 (July 21nd 2012)\n----------------------\n- Change the encode 'replace' kwarg into a normal arg for older python\n version.\n\n0.1.6 (June 17th 2012)\n----------------------\n- Fix the link removal, add tests and a place to process other bad links.\n\n0.1.5 (June 16th 2012)\n----------------------\n- Start to look at removing bad links from content in the conditional cleaning\n state. This was really used for the scripting.com site's garbage.\n\n0.1.4 (June 16th 2012)\n----------------------\n- Add a test generation helper readability_newtest script.\n- Add tests and fixes for the scripting news parse failure.\n\n0.1.3 (June 15th 2012)\n----------------------\n- Add actual testing of full articles for regression tests.\n- Update parser to properly clean after winner doc node is chosen.\n\n0.1.2 (May 28th 2012)\n---------------------\n- Bugfix: #4 issue with logic of the 100char bonus points in scoring\n- Garden with PyLint/PEP8\n- Add a bunch of tests to readable/scoring code.\n\n0.1.1 (May 11th 2012)\n---------------------\n- Fix bugs in scoring to help in getting right content\n- Add concept of -d which shows scoring/decisions on nodes\n- Update command line client to be able to pipe output to other tools\n\n0.1.0 (May 6th 2012)\n--------------------\n- Initial release and upload to PyPi", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bookieio/breadability", "keywords": "bookie,breadability,content,HTML,parsing,readability,readable", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "breadability", "package_url": "https://pypi.org/project/breadability/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/breadability/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/bookieio/breadability" }, "release_url": "https://pypi.org/project/breadability/0.1.20/", "requires_dist": null, "requires_python": null, "summary": "Port of Readability HTML parser in Python", "version": "0.1.20" }, "last_serial": 1059603, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e71621ba015faa3d899f9686cbe8523b", "sha256": "9ae082102f813a9be8e4787384d6cf1090e814a18509660b32f04e336a975d8d" }, "downloads": -1, "filename": "breadability-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e71621ba015faa3d899f9686cbe8523b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17165, "upload_time": "2012-05-07T02:44:30", "url": "https://files.pythonhosted.org/packages/6c/76/0bc5cc9343b72cd1f8086429c6d662d1fb99b0fcfc7598e7f5a8ec07959b/breadability-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "31d86e91e1380259996e8a4b6faab8b0", "sha256": "034c6c0c57e5d7068677e7651dcc36c8ac53c01e8f6d41c42d83dbdb7df84719" }, "downloads": -1, "filename": "breadability-0.1.1.tar.gz", "has_sig": false, "md5_digest": "31d86e91e1380259996e8a4b6faab8b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19136, "upload_time": "2012-05-12T03:19:11", "url": "https://files.pythonhosted.org/packages/56/b8/6fb6014d5c64160b20a025d97145fa054a4c81b1a8d80c2b6e3c0be18400/breadability-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "6638547b5d52816e2c37219fb53f6aa5", "sha256": "c673f2d8b57cc2aefc3353cd4f00339375eb333627b305cb91e1795081a140b3" }, "downloads": -1, "filename": "breadability-0.1.10.tar.gz", "has_sig": false, "md5_digest": "6638547b5d52816e2c37219fb53f6aa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24882, "upload_time": "2012-09-13T23:53:51", "url": "https://files.pythonhosted.org/packages/db/ef/956a787370832faf89316ca7f28bf632df46c9c8f8399d1312806529b4a1/breadability-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "504809d9cd909ed1717fcba059a843c1", "sha256": "3ffd506093cb73b798d7270ae53433adadf27f5fe2f0ab86690153f354cb1af7" }, "downloads": -1, "filename": "breadability-0.1.11.tar.gz", "has_sig": false, "md5_digest": "504809d9cd909ed1717fcba059a843c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25178, "upload_time": "2012-12-13T01:42:08", "url": "https://files.pythonhosted.org/packages/65/c6/be9b18b5beb9e7a03ad8fadca40feab856c9c09958a8d40f4f1b20a02fde/breadability-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "574fb703b2a284d01f315655ed8f22d4", "sha256": "ce72d950e05bf17f3c24462774994eb39434d662241662579a234007dffe445c" }, "downloads": -1, "filename": "breadability-0.1.12.tar.gz", "has_sig": false, "md5_digest": "574fb703b2a284d01f315655ed8f22d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22612, "upload_time": "2013-07-27T16:01:55", "url": "https://files.pythonhosted.org/packages/1c/87/e181f4f4867cb575806772f7beeadde3407b31f3edbaba7a455eb57573a6/breadability-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "5426876f3dc913a29dc8689841937ac9", "sha256": "bf560490a9f812ffe87322b458a18e23a4865a0cc2ec72a749fc31eaec3fd0a2" }, "downloads": -1, "filename": "breadability-0.1.13.tar.gz", "has_sig": false, "md5_digest": "5426876f3dc913a29dc8689841937ac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22867, "upload_time": "2013-08-31T19:51:36", "url": "https://files.pythonhosted.org/packages/be/81/4bea504cb6a32382c3ac65c1980dd6aac140ace49d015c482d245fdbbe10/breadability-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "c08be8866ca13eff8706cb44317cb82b", "sha256": "ccd413eb51b2b7e28482f8595b5c8e5ac6dff246b6efbed752ad5c259e694d54" }, "downloads": -1, "filename": "breadability-0.1.14.tar.gz", "has_sig": false, "md5_digest": "c08be8866ca13eff8706cb44317cb82b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25590, "upload_time": "2013-11-08T02:03:33", "url": "https://files.pythonhosted.org/packages/ff/5f/137a3223e15578f2023003c93f754dafcfa5a160a433a502b62567a90dc3/breadability-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "b3c000a4453172daf0b91f1092716191", "sha256": "7229e69aa779cae11962a818b2d4cb23c3dd164ded0c601b883bc0c207876855" }, "downloads": -1, "filename": "breadability-0.1.15.tar.gz", "has_sig": false, "md5_digest": "b3c000a4453172daf0b91f1092716191", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29411, "upload_time": "2013-11-29T18:45:10", "url": "https://files.pythonhosted.org/packages/3a/06/e3c159ccd437c2cd14594b67dd3543ce9a243cb5a8cc388d2c11e4cef7b2/breadability-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "ecc270e91f02433786742690b705bc29", "sha256": "c8920874eed7d5cbbac7d444fd65b1746830b1eeca205b6052f1e19e2400e457" }, "downloads": -1, "filename": "breadability-0.1.16.tar.gz", "has_sig": false, "md5_digest": "ecc270e91f02433786742690b705bc29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29683, "upload_time": "2014-01-23T02:03:24", "url": "https://files.pythonhosted.org/packages/bf/f1/cd055daef29023c7febb44884c571ba26d5a3da2958a3a4b77ed2d617bff/breadability-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "74b8549d8097b637cd3b6034fdeb3e66", "sha256": "ba46ff79e0666ddc5637e84e577a7fee9c8b082dcd80cb3f3b0e90b506cffbe3" }, "downloads": -1, "filename": "breadability-0.1.17.tar.gz", "has_sig": false, "md5_digest": "74b8549d8097b637cd3b6034fdeb3e66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29729, "upload_time": "2014-01-23T02:32:15", "url": "https://files.pythonhosted.org/packages/ec/fc/be72786c018cf0641b212696cf32a61a9436a2af98b942de06622eca5e85/breadability-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "489e80ef9768ebaa0d2eb418ad779d94", "sha256": "5516908da4422983251af22c63a0fc2a9f7ad22cdcf0c04dae575d2f1ee54e33" }, "downloads": -1, "filename": "breadability-0.1.18.tar.gz", "has_sig": false, "md5_digest": "489e80ef9768ebaa0d2eb418ad779d94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32331, "upload_time": "2014-04-06T15:49:23", "url": "https://files.pythonhosted.org/packages/42/2d/e51ea43058450ac6a373bcd5ac2ff2282934125fcd5831a30cf1204fa6ee/breadability-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "68188ffdb96f3c97c47dac9422f6fb0d", "sha256": "c62718704cfceeb56b265823c5466985bd287aab0a252b8185b94441cbcbe523" }, "downloads": -1, "filename": "breadability-0.1.19.tar.gz", "has_sig": false, "md5_digest": "68188ffdb96f3c97c47dac9422f6fb0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32434, "upload_time": "2014-04-14T01:13:22", "url": "https://files.pythonhosted.org/packages/ba/40/1d7f09eef77d03ec0f0f8c7927fe219986ebb669ccf3cd1305d438144af2/breadability-0.1.19.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "37aff910b57deaa1cd510b576204c438", "sha256": "5699f1faa40d8288c4ba374152408d5bb816b1fca82c1df7b92bd7e022ebc0f0" }, "downloads": -1, "filename": "breadability-0.1.2.tar.gz", "has_sig": false, "md5_digest": "37aff910b57deaa1cd510b576204c438", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21209, "upload_time": "2012-05-28T21:55:54", "url": "https://files.pythonhosted.org/packages/da/e2/c095575ffd22b64a0f6d6f325381303afe2c5c4cd6146de643e8df822f19/breadability-0.1.2.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "57903360c77f4603d634511566ef1595", "sha256": "f1a7fdad1e58e295df80954879143824c706bbfb1826cdf4b1d15de1a86afe99" }, "downloads": -1, "filename": "breadability-0.1.20.tar.gz", "has_sig": false, "md5_digest": "57903360c77f4603d634511566ef1595", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32505, "upload_time": "2014-04-14T02:08:22", "url": "https://files.pythonhosted.org/packages/ad/2d/bb6c9b381e6b6a432aa2ffa8f4afdb2204f1ff97cfcc0766a5b7683fec43/breadability-0.1.20.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9a4412d17eaea981c9f70c031be25ee1", "sha256": "13c308ebc2ed9a9d42906d960b565f110453f28dd2425bdf881080a73d3a1cb0" }, "downloads": -1, "filename": "breadability-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9a4412d17eaea981c9f70c031be25ee1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21927, "upload_time": "2012-06-16T03:08:54", "url": "https://files.pythonhosted.org/packages/f2/21/63fe52a2a7cfa9a4fcfc1b6226622464770e6b0e92e6dd1d2065920f85a9/breadability-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8767520f5cb21c86d905d97cb0ae7907", "sha256": "4f47f9a6a0d3424510362c749589bcc983347209d17327cb130c1000e890c860" }, "downloads": -1, "filename": "breadability-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8767520f5cb21c86d905d97cb0ae7907", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22967, "upload_time": "2012-06-17T03:00:06", "url": "https://files.pythonhosted.org/packages/87/c7/676bb724644f2e571e07ed9fd78c44c0eae12430dd10f48c8479f88bada8/breadability-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "4885595edca460d3655ff6ef7baabeec", "sha256": "30bae6d249e6d2ca6e9b93f47445687b3134af359c81eb9d42f876827bab772c" }, "downloads": -1, "filename": "breadability-0.1.5.tar.gz", "has_sig": false, "md5_digest": "4885595edca460d3655ff6ef7baabeec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23215, "upload_time": "2012-06-17T03:18:07", "url": "https://files.pythonhosted.org/packages/5e/5e/3915773b80e2375a77a393cc99032f0c1acdf7b02cc623d6e089d04f7841/breadability-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "b2f99682c706e03d9f38c11301bae643", "sha256": "bcdcc8555aa0fa313258fcd87ccb1cf7f4699ed223948d458a04ecda227e3efd" }, "downloads": -1, "filename": "breadability-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b2f99682c706e03d9f38c11301bae643", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23934, "upload_time": "2012-06-17T16:49:37", "url": "https://files.pythonhosted.org/packages/fe/84/ed20d4f3e72fb3603b648a5eb998db7381861c023b89725e0c18f52d5676/breadability-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "dc1c74b380da830616108ea2e592fdd7", "sha256": "98b63497532454d3f049a26a91f03f7b14083c3e8d251c4bea45957dbb1895fa" }, "downloads": -1, "filename": "breadability-0.1.7.tar.gz", "has_sig": false, "md5_digest": "dc1c74b380da830616108ea2e592fdd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24074, "upload_time": "2012-07-22T03:37:33", "url": "https://files.pythonhosted.org/packages/ab/fd/fa75fc7de29b8adabda3f0f431ff27b04a760e8a9f0dfcef801c133120c1/breadability-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "02461a26692375083353b672cd58f798", "sha256": "e6619484c2416835c41368597e8da3a916fd954130ff1e88959aa3ddd0a774bd" }, "downloads": -1, "filename": "breadability-0.1.8.tar.gz", "has_sig": false, "md5_digest": "02461a26692375083353b672cd58f798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24469, "upload_time": "2012-08-27T19:32:54", "url": "https://files.pythonhosted.org/packages/0a/83/a953b639172e8e908e9535b470fc30c222fff19f3ff74e2b8d6641edffd4/breadability-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "744072a6962c1b90830abedc6e0203c0", "sha256": "bf58129fd4254050148ad488ac241140987f0c1a9ad880b8895826c91693a1d4" }, "downloads": -1, "filename": "breadability-0.1.9.tar.gz", "has_sig": false, "md5_digest": "744072a6962c1b90830abedc6e0203c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24673, "upload_time": "2012-08-27T21:32:01", "url": "https://files.pythonhosted.org/packages/d3/f2/f2cd7e113ba8bb514294e84ed8f03e155d523a36812b315336740f48d579/breadability-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "57903360c77f4603d634511566ef1595", "sha256": "f1a7fdad1e58e295df80954879143824c706bbfb1826cdf4b1d15de1a86afe99" }, "downloads": -1, "filename": "breadability-0.1.20.tar.gz", "has_sig": false, "md5_digest": "57903360c77f4603d634511566ef1595", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32505, "upload_time": "2014-04-14T02:08:22", "url": "https://files.pythonhosted.org/packages/ad/2d/bb6c9b381e6b6a432aa2ffa8f4afdb2204f1ff97cfcc0766a5b7683fec43/breadability-0.1.20.tar.gz" } ] }