{ "info": { "author": "Tom Morris", "author_email": "tom@tommorris.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Text Processing :: Markup :: HTML" ], "description": "mf2py\n=====\n\n[![Build Status](https://travis-ci.org/microformats/mf2py.svg?branch=master)](https://travis-ci.org/microformats/mf2py)\n\n[![Can I Use Python 3?](https://caniusepython3.com/project/mf2py.svg)](https://caniusepython3.com/project/mf2py)\n\nPython parser for [microformats 2](http://microformats.org/wiki/Microformats2).\n\nCurrent status: Full-featured and mostly stable. Implements the full\nmf2 spec, including backward compatibility with microformats1.\n\nDocumentation, code tidying and so on is rather lacking. \n\nLicense: [MIT](http://opensource.org/licenses/mit-license.php)\n\nInstall\n-------\n\n`pip install mf2py`\n\nUsage\n-----\n\nImport the parser using\n\n import mf2py\n\nParse a file containing the content\n\n with open('file/content.html','r') as file:\n obj = mf2py.parse(doc=file)\n\nParse string containing content\n\n content = '

Hello

'\n obj = mf2py.parse(doc=content)\n\nParse content from a URL\n\n obj = mf2py.parse(url=\"http://tommorris.org/\")\n\n`parse` is a convenience method that actually delegates to\n`mf2py.Parser` to do the real work. More sophisticated behaviors are\navailable by invoking the object directly.\n\nGet parsed microformat in a variety of formats\n\n p = mf2py.Parser(...)\n p.to_dict() # returns a python dictionary\n p.to_json() # returns a JSON string\n\nFilter by microformat type\n\n p.to_dict(filter_by_type=\"h-entry\")\n p.to_json(filter_by_type=\"h-entry\")\n\nExperimental features\n---------------------\n- pass the optional argument `img_with_alt=True` to either the `Parser` object or to the `parse` method to enable parsing of the `alt` attribute of `` tags according to [issue: image alt text is lost during parsing](https://github.com/microformats/microformats2-parsing/issues/2). By default this is `False` to be backwards compatible.\n\nFAQ\n---\n\n* I passed `mf2py.parse()` a BeautifulSoup document, and it got modified!\n\nYes, mf2py currently does that. We're working on preventing it! Hopefully soon.\n\nFrontends\n-------------\n\nA basic web interface for mf2py and [mf2util](https://github.com/kylewm/mf2util) is available at [mf2py-web](https://github.com/kylewm/mf2py-web).\n\nA hosted live version can be found at [python.microformats.io](https://python.microformats.io).\n\nContributions\n-------------\n\nWe welcome contributions and bug reports via Github, and on the microformats wiki.\n\nWe try to follow the [IndieWebCamp code of conduct](http://indiewebcamp.com/code-of-conduct). Please be respectful of other contributors, and forge a spirit of positive co-operation without discrimination or disrespect.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://microformats.org/wiki/mf2py", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "mf2py", "package_url": "https://pypi.org/project/mf2py/", "platform": "", "project_url": "https://pypi.org/project/mf2py/", "project_urls": { "Homepage": "http://microformats.org/wiki/mf2py" }, "release_url": "https://pypi.org/project/mf2py/1.1.2/", "requires_dist": null, "requires_python": "", "summary": "Python Microformats2 parser", "version": "1.1.2" }, "last_serial": 4705319, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1eed7947180c58723d70771c0f02f7d3", "sha256": "fa4d1a5295cca2ee0b5c475f0f380a1fb21ab21b26fc809af7db817f1bedea85" }, "downloads": -1, "filename": "mf2py-0.1.tar.gz", "has_sig": true, "md5_digest": "1eed7947180c58723d70771c0f02f7d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4879, "upload_time": "2014-02-17T20:16:26", "url": "https://files.pythonhosted.org/packages/91/be/70d8d35e08ddfbedef4530db4367b7811b5e7aa2581588861b66f5b062c0/mf2py-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ac90b4b690d2aedc1b12a1f4af03092a", "sha256": "8858070eb4b8fc53e17f00aded359ec9ad93450ff0b370a5f226947ec410f590" }, "downloads": -1, "filename": "mf2py-0.1.1.tar.gz", "has_sig": true, "md5_digest": "ac90b4b690d2aedc1b12a1f4af03092a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5005, "upload_time": "2014-02-17T21:22:40", "url": "https://files.pythonhosted.org/packages/f3/d7/f269ef0b294c397b38e80da141aa62cbef3d9521e328e6c26887fcc4e4d1/mf2py-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "668f2c12b55b95409d113d579ebb1e85", "sha256": "505afb5dda8c373f0f009cf357690ffe51c3e4d2d9cec99976eb2e1f9a2dd47b" }, "downloads": -1, "filename": "mf2py-0.1.2.tar.gz", "has_sig": true, "md5_digest": "668f2c12b55b95409d113d579ebb1e85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5025, "upload_time": "2014-02-21T17:25:05", "url": "https://files.pythonhosted.org/packages/b4/f8/175e9444bfe9561e16f561ed7512e6f1ab64b750813a3a5ff2cba1d81304/mf2py-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5d6c491b62069b964505e08880cecb88", "sha256": "f6109a943818bb7c1be2da75ee6a7c04e78a673c46f8db432903f0babae939a8" }, "downloads": -1, "filename": "mf2py-0.1.3.tar.gz", "has_sig": true, "md5_digest": "5d6c491b62069b964505e08880cecb88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5127, "upload_time": "2014-02-21T22:18:02", "url": "https://files.pythonhosted.org/packages/fc/75/691d3ebd76fde077741bacb1e34f72d4518ae26582a575d9fb469b24b64c/mf2py-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b2a595ab30452efe13efcb0e0c621905", "sha256": "6f3d44279277ec70e264131945f8530ff158c0ba71fceee16918a56f9280d9f8" }, "downloads": -1, "filename": "mf2py-0.2.0.tar.gz", "has_sig": true, "md5_digest": "b2a595ab30452efe13efcb0e0c621905", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7448, "upload_time": "2014-05-12T18:32:40", "url": "https://files.pythonhosted.org/packages/24/8e/2aa961bb97c7faab12fc24320b2a3bc5355ca8a70599aace82f7ef78806d/mf2py-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b6b2fcc15db0a91190e3b8ede052ff7d", "sha256": "6c8ef2cd569e1ee627fb70b8225fd2ab1b99d623d54286ab724dab94b5e4d936" }, "downloads": -1, "filename": "mf2py-0.2.1.tar.gz", "has_sig": true, "md5_digest": "b6b2fcc15db0a91190e3b8ede052ff7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7603, "upload_time": "2014-07-09T14:08:14", "url": "https://files.pythonhosted.org/packages/21/b5/d56e39d5154679bec45add5ede006f500e384622435d607b76be4c5b445c/mf2py-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "48552117a590b352d587e364b4fa4bf1", "sha256": "9333d2077e1e19acfe9388515f55b1aa1eb43cbb015de5381eea5bf067a57fdc" }, "downloads": -1, "filename": "mf2py-0.2.2.tar.gz", "has_sig": false, "md5_digest": "48552117a590b352d587e364b4fa4bf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11203, "upload_time": "2015-02-06T05:10:41", "url": "https://files.pythonhosted.org/packages/7d/8d/2d69d8950a6184660adb8ab8aeabcc5d44912eb7213845d412ed00545322/mf2py-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "45a6b80881476b6ef363658d7e9ef3aa", "sha256": "bd691252682984455c444c8b67295103834110202422418206abbdfa8bc4c748" }, "downloads": -1, "filename": "mf2py-0.2.3.tar.gz", "has_sig": false, "md5_digest": "45a6b80881476b6ef363658d7e9ef3aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11244, "upload_time": "2015-02-07T17:54:21", "url": "https://files.pythonhosted.org/packages/5a/f2/d76d3d684ee88e8ebcb1c92a89e52d1e2ce76c064fa32ae1c5f9d49b4d43/mf2py-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3d60a6b1fd0a5274924673a851390535", "sha256": "a506580d0664552cdefab1906239f017c6387bd801ef2e484f8bbb28d5cbe0f8" }, "downloads": -1, "filename": "mf2py-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3d60a6b1fd0a5274924673a851390535", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11633, "upload_time": "2015-02-14T07:44:51", "url": "https://files.pythonhosted.org/packages/ce/2c/70ba7f401d7aa8962f7c6c1c10fe0ab462eb64436268e0cad7f7e64a6432/mf2py-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "46cebba16ea8d43815df6bad397ab2eb", "sha256": "1ecbd57c3d90336836301970d4aadd84eb16972a7d7a23430a8f6082ef85becd" }, "downloads": -1, "filename": "mf2py-0.2.5.tar.gz", "has_sig": false, "md5_digest": "46cebba16ea8d43815df6bad397ab2eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11897, "upload_time": "2015-03-01T19:02:47", "url": "https://files.pythonhosted.org/packages/e1/23/01190f78897155a5043728c5b74f06b622cfd01542f35223503bb55e0f55/mf2py-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "46e94ae8bffcf37a486d4491c4e27315", "sha256": "f57a984a987f8257203a8e33fd1dfb8d0a84aa5612028f29d3e82336685fda27" }, "downloads": -1, "filename": "mf2py-0.2.6.tar.gz", "has_sig": false, "md5_digest": "46e94ae8bffcf37a486d4491c4e27315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12241, "upload_time": "2015-05-07T03:45:52", "url": "https://files.pythonhosted.org/packages/6b/06/59ad5aa89ffe8f0115804652be2bea720fbf1874410eef641c0ec0376f77/mf2py-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "136a0083ac0dcbdd8ff14a528dc89d7b", "sha256": "99a22a53ef323dda1c11895c15e8d9268aba5d57e5952e21c240aacc5afc85bf" }, "downloads": -1, "filename": "mf2py-0.2.7.tar.gz", "has_sig": false, "md5_digest": "136a0083ac0dcbdd8ff14a528dc89d7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13534, "upload_time": "2015-08-04T05:45:25", "url": "https://files.pythonhosted.org/packages/bc/f6/bcc266ca874800410625ea53006dc5db41ef91a1619302383bb5aeed075f/mf2py-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "c0a0dbf75e244a683be0c10be8b24592", "sha256": "5347e1e48b068fc990a772225307f23b30f758552e28a88f32a10f63ad130415" }, "downloads": -1, "filename": "mf2py-0.2.8.tar.gz", "has_sig": false, "md5_digest": "c0a0dbf75e244a683be0c10be8b24592", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13793, "upload_time": "2015-09-22T05:08:37", "url": "https://files.pythonhosted.org/packages/98/c3/0dae6be480f5487fd816c82924e47443c157c189c57e4da527e3759c30bb/mf2py-0.2.8.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a54b12fd065372fc987d55804a6f97c1", "sha256": "e3dc4cbd30b776440ffce39afaeb8dd48c0696128342667624f3731f9cdf3ce2" }, "downloads": -1, "filename": "mf2py-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a54b12fd065372fc987d55804a6f97c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13547, "upload_time": "2015-10-05T16:31:14", "url": "https://files.pythonhosted.org/packages/45/76/35988d90b345922dc8fdd003ecb6ce274910c42e1eaf2e992e61bf7cdc2d/mf2py-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "636438a811be9ce9d6e6227e2bb3238d", "sha256": "50115e805108e2246232fa0cc653fe6746c19e99656cfc040180a316a32b53ce" }, "downloads": -1, "filename": "mf2py-1.0.1.tar.gz", "has_sig": false, "md5_digest": "636438a811be9ce9d6e6227e2bb3238d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13562, "upload_time": "2015-12-11T19:56:01", "url": "https://files.pythonhosted.org/packages/a5/8a/5064775b81baa0fd6ced5d0b47cb2836e551fbe27701497583108bd62c41/mf2py-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7fbf27173561847f74e1d0e2f885ca44", "sha256": "d05f1173ce75df8c129238aa2976587ea7998f7a34faf718acba34cf61ad83ec" }, "downloads": -1, "filename": "mf2py-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7fbf27173561847f74e1d0e2f885ca44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14748, "upload_time": "2016-01-26T20:27:08", "url": "https://files.pythonhosted.org/packages/f6/24/cc1502aad000b809221af7256d4a5e1ad18a46bc84e12cffb71f1ee9b52d/mf2py-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d1cf9a53e4972da7b83a63e9734815ca", "sha256": "a9d3b0c3529d2ce1c0ef4fbadc4332999b4ab7b3af728f6d1e7f2ece3e41a72a" }, "downloads": -1, "filename": "mf2py-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d1cf9a53e4972da7b83a63e9734815ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14863, "upload_time": "2016-03-05T22:01:07", "url": "https://files.pythonhosted.org/packages/31/41/a392bb67fb03a868cbcb9957755757c4d52dc660b648e973f5f0a3590c6f/mf2py-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "425653b57a1af51db7d26d947a9d8433", "sha256": "797b9e0bdb153fc8c3ef28d5a51ce3f08921e5cc6924d9151548510b5b189acb" }, "downloads": -1, "filename": "mf2py-1.0.4.tar.gz", "has_sig": false, "md5_digest": "425653b57a1af51db7d26d947a9d8433", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15007, "upload_time": "2016-03-21T21:55:38", "url": "https://files.pythonhosted.org/packages/d1/d1/1d25d969fe3605b0871fe7df2336003a47a6fdda00a25008e52f510b3803/mf2py-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "e8d8977fbc31b99778ef3e64385c9d07", "sha256": "021b675c0732bdbc3b8c153e1ee8e1f476c3d0ffc56a7908f9e9f90147c5fccd" }, "downloads": -1, "filename": "mf2py-1.0.5.tar.gz", "has_sig": false, "md5_digest": "e8d8977fbc31b99778ef3e64385c9d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15506, "upload_time": "2016-05-09T15:45:09", "url": "https://files.pythonhosted.org/packages/82/55/a76217ac51453913fb3b7db1f719c8b25a5cf4b1e9f6b9a9cd1acf934486/mf2py-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "9662c7ef33ee6ce2eb5468e586fdff59", "sha256": "9231bc1317dd5d01973b78a60e52ecd76dd84089c132540e799e4a62aeff3436" }, "downloads": -1, "filename": "mf2py-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "9662c7ef33ee6ce2eb5468e586fdff59", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 18887, "upload_time": "2018-05-22T20:10:42", "url": "https://files.pythonhosted.org/packages/db/2c/64d7b5e2229c1301b6418867a9206f38461a9caa3ceac40128fb9b23040d/mf2py-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e39f2de4e5eb30fe9056579bcec10ae1", "sha256": "bdc3f65ab8a1319b763012dfa8def6ce33214f19e1c53fc2844ed9e7afaf1413" }, "downloads": -1, "filename": "mf2py-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e39f2de4e5eb30fe9056579bcec10ae1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18370, "upload_time": "2018-05-22T20:10:43", "url": "https://files.pythonhosted.org/packages/a2/1f/c43271e20389eea6483e64dee56d29eba18178d240bf3f20fc3c423daae4/mf2py-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "a887bc889b5eda542c0053923c5899ac", "sha256": "2dc2e2a18ac457829936c24ffce8d66b44ea63f834aea1ed48dfbdf7b4951585" }, "downloads": -1, "filename": "mf2py-1.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "a887bc889b5eda542c0053923c5899ac", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 21258, "upload_time": "2018-07-07T18:33:01", "url": "https://files.pythonhosted.org/packages/ce/16/563e714d272aa3325f8ff76ed17d66adc399759e35978ac7e84d9f33a600/mf2py-1.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5ea5dc8af33663bb1d2ad4df3ba273b", "sha256": "64cadc8a271382e075a72bca1c0dc09297f8e1de62279849bd3915418f7087de" }, "downloads": -1, "filename": "mf2py-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b5ea5dc8af33663bb1d2ad4df3ba273b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22301, "upload_time": "2018-07-07T18:33:02", "url": "https://files.pythonhosted.org/packages/97/4c/55c78304d567d1b83c0b8a8cd6c8e9a7e521ed5fdc57fcd913925a04bc90/mf2py-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "eed22c3d6cc18438c05c3aeb7c7c99d4", "sha256": "84f1f8f2ff3f1deb1c30be497e7ccd805452996a662fd4a77f09e0105bede2c9" }, "downloads": -1, "filename": "mf2py-1.1.2.tar.gz", "has_sig": false, "md5_digest": "eed22c3d6cc18438c05c3aeb7c7c99d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25131, "upload_time": "2018-08-08T23:41:52", "url": "https://files.pythonhosted.org/packages/fe/09/116b5b42f5c8cbb1cc43408be9df12fc2bf9fc408dfc9b20311ef4ffbfec/mf2py-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eed22c3d6cc18438c05c3aeb7c7c99d4", "sha256": "84f1f8f2ff3f1deb1c30be497e7ccd805452996a662fd4a77f09e0105bede2c9" }, "downloads": -1, "filename": "mf2py-1.1.2.tar.gz", "has_sig": false, "md5_digest": "eed22c3d6cc18438c05c3aeb7c7c99d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25131, "upload_time": "2018-08-08T23:41:52", "url": "https://files.pythonhosted.org/packages/fe/09/116b5b42f5c8cbb1cc43408be9df12fc2bf9fc408dfc9b20311ef4ffbfec/mf2py-1.1.2.tar.gz" } ] }